本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
限制對IAM角色的存取
根據預設,Amazon Redshift 叢集可用的IAM角色可供該叢集上的所有使用者使用。您可以選擇將IAM角色限制為特定叢集上的特定 Amazon Redshift 資料庫使用者或特定區域。
若要僅允許特定資料庫使用者使用IAM角色,請執行下列步驟。
識別具有IAM角色存取權的特定資料庫使用者
-
識別 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
-
開啟IAM主控台
。 -
在導覽窗格中,選擇角色。
-
選擇您要限制給特定 Amazon Redshift 資料庫使用者IAM的角色。
-
選擇 Trust Relationships (信任關係) 索引標籤,然後選擇 Edit Trust Relationship (編輯信任關係)。允許 Amazon Redshift AWS 代表您存取其他服務的新IAM角色具有如下的信任關係:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
新增條件至信任關係的
sts:AssumeRole
動作區段,將sts:ExternalId
欄位限制在您所指定的值。針對您要授予角色存取權ARN的每個資料庫使用者,包含 。外部 ID 可以是任何唯一的字串。例如,下列信任關係指定只有 區域中
my-cluster
的資料庫使用者user1
和user2
叢集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" ] } } }] }
-
選擇 Update Trust Policy (更新信任政策)。