限制對IAM角色的存取 - Amazon Redshift

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

限制對IAM角色的存取

根據預設,Amazon Redshift 叢集可用的IAM角色可供該叢集上的所有使用者使用。您可以選擇將IAM角色限制為特定叢集上的特定 Amazon Redshift 資料庫使用者或特定區域。

若要僅允許特定資料庫使用者使用IAM角色,請執行下列步驟。

識別具有IAM角色存取權的特定資料庫使用者
  1. 識別 Amazon Redshift 叢集中資料庫使用者的 Amazon Resource Name (ARN)。ARN 資料庫使用者的 格式為:arn:aws:redshift:region:account-id:dbuser:cluster-name/user-name

    對於 Amazon Redshift Serverless,請使用下列ARN格式。 arn:aws:redshift:region:account-id:dbuser:workgroup-name/user-name

  2. 開啟IAM主控台

  3. 在導覽窗格中,選擇角色

  4. 選擇您要限制給特定 Amazon Redshift 資料庫使用者IAM的角色。

  5. 選擇 Trust Relationships (信任關係) 索引標籤,然後選擇 Edit Trust Relationship (編輯信任關係)。允許 Amazon Redshift AWS 代表您存取其他服務的新IAM角色具有如下的信任關係:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  6. 新增條件至信任關係的 sts:AssumeRole 動作區段,將 sts:ExternalId 欄位限制在您所指定的值。針對您要授予角色存取權ARN的每個資料庫使用者,包含 。外部 ID 可以是任何唯一的字串。

    例如,下列信任關係指定只有 區域中my-cluster的資料庫使用者user1user2叢集us-west-2具有使用此IAM角色的許可。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": [ "arn:aws:redshift:us-west-2:123456789012:dbuser:my-cluster/user1", "arn:aws:redshift:us-west-2:123456789012:dbuser:my-cluster/user2" ] } } }] }
  7. 選擇 Update Trust Policy (更新信任政策)。