手動設定資料庫身分驗證和資源存取 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

手動設定資料庫身分驗證和資源存取

設定資料庫身分驗證和資源存取的手動程序包含下列步驟:

此程序是選用的,並執行與 中相同的任務使用指令碼設定資料庫身分驗證和資源存取。我們建議您使用 指令碼。

建立客戶受管 AWS KMS key

遵循建立對稱加密金鑰中的程序來建立客戶受管 KMS 金鑰。如果現有金鑰符合這些要求,您也可以使用現有金鑰。

建立客戶受管 KMS 金鑰
  1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/kms 開啟 AWS KMS 主控台。

  2. 導覽至客戶受管金鑰頁面。

  3. 選擇建立金鑰

  4. 設定金鑰頁面上:

    1. 針對金鑰類型,選取對稱

    2. 針對金鑰用量,選取加密和解密

    3. 選擇下一步

  5. 新增標籤頁面上,輸入別名,例如 limitless,然後選擇下一步

  6. 定義金鑰管理許可頁面上,確定已選取允許金鑰管理員刪除此金鑰核取方塊,然後選擇下一步

  7. 定義金鑰使用許可頁面上,選擇下一步

  8. Review (檢閱) 頁面上,選擇 Finish (完成)

    您稍後會更新金鑰政策。

記錄要在 中使用的 KMS 金鑰的 Amazon Resource Name (ARN)新增 IAM 角色許可政策

如需使用 AWS CLI 建立客戶受管 KMS 金鑰的資訊,請參閱 create-keycreate-alias

建立資料庫秘密

若要允許資料載入公用程式存取來源和目的地資料庫資料表,您可以在 中建立兩個秘密 AWS Secrets Manager:一個用於來源資料庫,另一個用於目的地資料庫。這些秘密會存放用於存取來源和目的地資料庫的使用者名稱和密碼。

遵循建立 AWS Secrets Manager 秘密中的程序來建立金鑰/值對秘密。

建立資料庫秘密
  1. 前往以下位置開啟機密管理員控制台:https://console.aws.amazon.com/secretsmanager/

  2. 選擇 Store a new secret (存放新機密)。

  3. 選擇秘密類型頁面上:

    1. 針對秘密類型,選取其他類型的秘密

    2. 針對鍵/值對,選擇純文字索引標籤。

    3. 輸入下列 JSON 程式碼,其中 sourcedbreadersourcedbpassword是來自 的來源資料庫使用者的登入資料建立來源資料庫登入資料

      { "username":"sourcedbreader", "password":"sourcedbpassword" }
    4. 針對加密金鑰,選擇您在 中建立的 KMS 金鑰建立客戶受管 AWS KMS key,例如 limitless

    5. 選擇下一步

  4. 設定秘密頁面上,輸入秘密名稱,例如 source_DB_secret,然後選擇下一步

  5. 設定輪換 - 選用頁面上,選擇下一步

  6. Review (檢閱) 頁面,選擇 Store (存放)。

  7. 針對目的地資料庫秘密重複此程序:

    1. 輸入下列 JSON 程式碼,其中 destinationdbwriterdestinationdbpassword是來自 的目的地資料庫使用者的登入資料建立目的地資料庫登入資料

      { "username":"destinationdbwriter", "password":"destinationdbpassword" }
    2. 輸入秘密名稱,例如 destination_DB_secret

記錄要在 中使用的秘密 ARNs新增 IAM 角色許可政策

建立 IAM 角色

資料載入需要您提供 AWS 資源的存取權。若要提供存取權,請遵循建立角色以將許可委派給 aurora-data-loader IAM 使用者中的程序來建立 IAM 角色。 https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html

建立 IAM 角色
  1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

  2. 導覽至角色頁面。

  3. 選擇建立角色

  4. 選取信任的實體頁面上:

    1. 針對信任的實體類型,選取自訂信任政策

    2. 輸入下列自訂信任政策的 JSON 程式碼:

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    3. 選擇下一步

  5. Add permissions (新增許可) 頁面上,選擇 Next (下一步)。

  6. 名稱、檢閱和建立頁面上:

    1. 針對角色名稱,輸入您偏好的 aurora-data-loader或其他名稱。

    2. 選擇新增標籤,然後輸入下列標籤:

      • 索引鍵assumer

      • Value (值)aurora_limitless_table_data_load

      重要

      Aurora PostgreSQL 無限資料庫只能擔任具有此標籤的 IAM 角色。

    3. 選擇建立角色

更新客戶受管 AWS KMS key

請遵循變更金鑰政策中的程序,將 IAM 角色新增至aurora-data-loader預設金鑰政策。

將 IAM 角色新增至金鑰政策
  1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/kms 開啟 AWS KMS 主控台。

  2. 導覽至客戶受管金鑰頁面。

  3. 選擇您在 中建立的 KMS 金鑰建立客戶受管 AWS KMS key,例如 limitless

  4. 金鑰政策索引標籤上,針對金鑰使用者,選擇新增

  5. 新增金鑰使用者視窗中,選取您在 中建立的 IAM 角色名稱建立 IAM 角色,例如 aurora-data-loader

  6. 選擇新增

新增 IAM 角色許可政策

您必須將許可政策新增至您建立的 IAM 角色。這可讓 Aurora PostgreSQL 無限制資料庫資料載入公用程式存取相關 AWS 資源,以建立網路連線並擷取來源和目的地資料庫憑證秘密。

如需詳細資訊,請參閱修改角色

新增許可政策
  1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

  2. 導覽至角色頁面。

  3. 選擇您在 中建立的 IAM 角色建立 IAM 角色,例如 aurora-data-loader

  4. 許可索引標籤上,針對許可政策選擇新增許可,然後選擇建立內嵌政策

  5. 指定許可頁面上,選擇 JSON 編輯器。

  6. 將下列範本複製並貼到 JSON 編輯器中,以資料庫秘密和 KMS 金鑰ARNs 取代預留位置。

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Sid": "Ec2Permission", "Effect": "Allow", "Action": [ "ec2:DescribeNetworkInterfaces", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfacePermissions", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DescribeNetworkInterfaceAttribute", "ec2:DescribeAvailabilityZones", "ec2:DescribeRegions", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeNetworkAcls" ], "Resource": "*" }, { "Sid": "SecretsManagerPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": [ "arn:aws:secretsmanager:us-east-1:123456789012:secret:source_DB_secret-ABC123", "arn:aws:secretsmanager:us-east-1:123456789012:secret:destination_DB_secret-456DEF" ] }, { "Sid": "KmsPermissions", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-east-1:123456789012:key/aa11bb22-####-####-####-fedcba123456" }, { "Sid": "RdsPermissions", "Effect": "Allow", "Action": [ "rds:DescribeDBClusters", "rds:DescribeDBInstances" ], "Resource": "*" } ] }
  7. 檢查錯誤並進行更正。

  8. 選擇下一步

  9. 檢閱和建立頁面上,輸入政策名稱,例如 data_loading_policy,然後選擇建立政策