View a markdown version of this page

手動設定資料庫身分驗證和資源存取 - 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-key 和 create-alias。

建立資料庫秘密

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

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

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

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

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

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

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

    3. 輸入下列 JSON 程式碼,其中 sourcedbreader 和 sourcedbpassword 是來自 建立來源資料庫憑證 的來源資料庫使用者的憑證。

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

    5. 選擇下一步。

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

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

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

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

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

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