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

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

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

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

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

建立客戶受管 AWS KMS key

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

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

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

  3. 選擇建立金鑰

  4. 設定金鑰頁面上:

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

    2. 對於金鑰用途,選取加密和解密

    3. 選擇下一步

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

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

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

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

    您稍後會更新金鑰政策。

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

如需使用 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. 針對加密金鑰,選擇您在 建立客戶受管 AWS KMS key 中建立的 KMS 金鑰,例如 limitless

    5. 選擇下一步

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

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

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

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

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

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

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

建立 IAM 角色

資料載入需要您提供 AWS 資源的存取權。若要提供存取權,您可以遵循建立角色以將許可委派給 IAM 使用者中的程序來建立 aurora-data-loader IAM 角色。

建立 IAM 角色
  1. 登入 AWS 管理主控台 ,並在 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 Limitless Database 只能擔任具有此標籤的 IAM 角色。

    3. 選擇建立角色

更新客戶受管 AWS KMS key

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

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

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

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

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

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

  6. 選擇新增

新增 IAM 角色許可政策

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

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

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

  2. 瀏覽至角色頁面。

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

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

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

  6. 將下列範本複製並貼到 JSON 編輯器,將預留位置替換為資料庫秘密和 KMS 金鑰的 ARN。

    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),接著選擇建立政策