本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立秘密和 IAM 角色來使用聯合查詢
下列步驟顯示如何建立秘密和 IAM 角色,與聯合查詢搭配使用。
必要條件
確定您具備下列先決條件來建立秘密和 IAM 角色,與聯合查詢搭配使用:
具有使用者名稱和密碼驗證的 RDS PostgreSQL、Aurora PostgreSQL DB 執行個體、RDS MySQL 或 Aurora MySQL DB 執行個體。
具備支援聯合查詢叢集維護版本的 Amazon Redshift 叢集。
若要使用建立密碼 (使用者名稱和密碼) AWS Secrets Manager
使用擁有 RDS 或 Aurora 資料庫叢集執行個體的帳戶登入 Secrets Manager 主控台。
選擇儲存新機密。
選擇 RDS 資料庫的登入資料圖磚。針對 使用者名稱和密碼,輸入您執行個體的值。確認或為加密金鑰選擇值。然後選擇您秘密將會存取的 RDS 資料庫。
注意
我們建議您使用預設加密金鑰 (
DefaultEncryptionKey
)。如果您使用自訂加密金鑰,則必須將用於存取該秘密的 IAM 角色新增為金鑰使用者。輸入秘密的名稱,使用預設的選擇繼續建立步驟,然後選擇儲存。
檢視您的秘密並記下您建立以識別秘密的秘密 ARN 值。
使用秘密建立安全政策
登入 AWS Management Console 並開啟身分與存取權管理主控台,網址為 https://console.aws.amazon.com/iam/
。 使用與以下相似的 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 主控台上的視覺編輯器指定許可和資源。
給予政策名稱並完成建立過程。
-
導覽至 IAM 角色。
為 Redshift ‒ 可自訂建立 IAM 角色。
將您剛建立的 IAM 政策連接至現有的 IAM 角色,或是建立新的 IAM 角色並連接政策。
在您 IAM 角色的信任關係索引標籤上,確認角色包含信任實體
redshift.amazonaws.com
。請注意您建立的角色 ARN。這個 ARN 具備秘密的存取權限。
將 IAM 角色連接至您的 Amazon Redshift 叢集
登入 AWS Management Console 並開啟 Amazon Redshift 主控台,網址為 https://console.aws.amazon.com/redshiftv2/
。 在導覽選單上,選擇叢集。會列出目前 AWS 區域中您帳戶的叢集。
選擇清單中的叢集名稱以檢視該叢集的詳細資訊。
-
針對動作,選擇管理 IAM 角色。管理 IAM 角色頁面隨即出現。
將您的 IAM 角色新增到叢集。