建立秘密和 IAM 角色來使用聯合查詢 - Amazon Redshift

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

建立秘密和 IAM 角色來使用聯合查詢

下列步驟顯示如何建立秘密和 IAM 角色,與聯合查詢搭配使用。

必要條件

確定您具備下列先決條件來建立秘密和 IAM 角色,與聯合查詢搭配使用:

  • 具有使用者名稱和密碼驗證的 RDS PostgreSQL、Aurora PostgreSQL DB 執行個體、RDS MySQL 或 Aurora MySQL DB 執行個體。

  • 具備支援聯合查詢叢集維護版本的 Amazon Redshift 叢集。

若要使用建立密碼 (使用者名稱和密碼) AWS Secrets Manager
  1. 使用擁有 RDS 或 Aurora 資料庫叢集執行個體的帳戶登入 Secrets Manager 主控台。

  2. 選擇儲存新機密

  3. 選擇 RDS 資料庫的登入資料圖磚。針對 使用者名稱密碼,輸入您執行個體的值。確認或為加密金鑰選擇值。然後選擇您秘密將會存取的 RDS 資料庫。

    注意

    我們建議您使用預設加密金鑰 (DefaultEncryptionKey)。如果您使用自訂加密金鑰,則必須將用於存取該秘密的 IAM 角色新增為金鑰使用者。

  4. 輸入秘密的名稱,使用預設的選擇繼續建立步驟,然後選擇儲存

  5. 檢視您的秘密並記下您建立以識別秘密的秘密 ARN 值。

使用秘密建立安全政策
  1. 登入 AWS Management Console 並開啟身分與存取權管理主控台,網址為 https://console.aws.amazon.com/iam/

  2. 使用與以下相似的 JSON 來建立政策。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AccessSecret", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": "arn:aws:secretsmanager:us-west-2:123456789012:secret:my-rds-secret-VNenFy" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword", "secretsmanager:ListSecrets" ], "Resource": "*" } ] }

    若要擷取秘密,您需要列出和讀取動作。我們建議您將資源限制在您建立的特定秘密。若要執行此動作,請使用秘密的 Amazon 資源名稱 (ARN) 來限制資源。您也可以使用 IAM 主控台上的視覺編輯器指定許可和資源。

  3. 給予政策名稱並完成建立過程。

  4. 導覽至 IAM 角色

  5. Redshift ‒ 可自訂建立 IAM 角色。

  6. 將您剛建立的 IAM 政策連接至現有的 IAM 角色,或是建立新的 IAM 角色並連接政策。

  7. 在您 IAM 角色的信任關係索引標籤上,確認角色包含信任實體 redshift.amazonaws.com

  8. 請注意您建立的角色 ARN。這個 ARN 具備秘密的存取權限。

將 IAM 角色連接至您的 Amazon Redshift 叢集
  1. 登入 AWS Management Console 並開啟 Amazon Redshift 主控台,網址為 https://console.aws.amazon.com/redshiftv2/

  2. 在導覽選單上,選擇叢集。會列出目前 AWS 區域中您帳戶的叢集。

  3. 選擇清單中的叢集名稱以檢視該叢集的詳細資訊。

  4. 針對動作,選擇管理 IAM 角色管理 IAM 角色頁面隨即出現。

  5. 將您的 IAM 角色新增到叢集。