針對 使用身分型政策 (IAM 政策) AWS Directory Service - AWS Directory Service

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

針對 使用身分型政策 (IAM 政策) AWS Directory Service

這個主題提供身分型政策範例,在該政策中帳戶管理員可以將許可政策連接至 IAM 身分 (使用者、群組和角色)。

重要

建議您先檢閱簡介主題,這些主題說明了可用於管理 AWS Directory Service 資源存取的基本概念和選項。如需詳細資訊,請參閱管理 AWS Directory Service 資源存取許可的概觀

本主題中的各節涵蓋下列內容:

以下顯示許可政策範例。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDsEc2IamGetRole", "Effect": "Allow", "Action": [ "ds:CreateDirectory", "ec2:RevokeSecurityGroupIngress", "ec2:CreateNetworkInterface", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:CreateSecurityGroup", "ec2:RevokeSecurityGroupEgress", "ec2:DeleteSecurityGroup", "ec2:DeleteNetworkInterface", "ec2:DescribeSubnets", "iam:GetRole" ], "Resource": "*" }, { "Sid": "WarningAllowsCreatingRolesWithDirSvcPrefix", "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::111122223333:role/DirSvc*" }, { "Sid": "AllowPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "cloudwatch.amazonaws.com" } } } ] }

政策中的三個陳述式授予許可,如下所示:

  • 第一個陳述式會授予建立 AWS Directory Service 目錄的許可。由於 AWS Directory Service 不支援資源層級的許可,因此政策會指定萬用字元 (*) 做為Resource值。

  • 第二個陳述式授予存取 IAM 動作的許可,讓 AWS Directory Service 可以代表您讀取和建立 IAM 角色。Resource 值結尾的萬用字元 (*) 表示該陳述式允許對任何 IAM 角色執行動作的許可。若要限制此許可只提供給特定角色,請將資源 ARN 中的萬用字元 (*) 更換為特定角色的名稱。如需詳細資訊,請參閱 IAM 動作

  • 第三個陳述式會授予許可給 Amazon EC2 中特定資源集,這些資源 AWS Directory Service 是允許建立、設定和銷毀其目錄的必要項目。Resource 值結尾的萬用字元 (*) 表示該陳述式允許對任何 EC2 資源或子資源執行 EC2 動作的許可。若要限制此許可只提供給特定角色,請將資源 ARN 中的萬用字元 (*) 更換為特定資源或子資源。如需詳細資訊,請參閱 Amazon EC2 動作

您在政策中看不到 Principal元素,因為在身分型政策中,您不會指定取得許可的委託人。當您將該政策連接至使用者時,這名使用者是隱含委託人。當您將許可政策連接至 IAM 角色時,角色信任政策中識別的主體會取得許可

如需顯示所有 AWS Directory Service API 動作及其適用的資源的資料表,請參閱 AWS Directory Service API 許可:動作、資源和條件參考

使用 AWS Directory Service 主控台所需的許可

若要讓使用者使用 AWS Directory Service 主控台,該使用者必須擁有上述政策中列出的許可,或是 Directory Service 完整存取角色或 Directory Service 唯讀角色授予的許可,如 中所述AWS 的 受管 (預先定義) 政策 AWS Directory Service

如果您建立比最基本必要許可更嚴格的 IAM 政策,則對於採取該 IAM 政策的使用者而言, 主控台就無法如預期運作。

AWS 的 受管 (預先定義) 政策 AWS Directory Service

AWS 提供由 建立和管理的預先定義或受管 IAM 政策,以解決許多常見的使用案例 AWS。受管政策會授予常見使用案例的必要許可,這可協助您決定所需的許可。如需詳細資訊,請參閱AWS 的 受管政策 AWS Directory Service

客戶受管政策範例

在本節中,您可以找到授予各種 AWS Directory Service 動作許可的使用者政策範例。

注意

所有範例皆使用美國西部 (奧勒岡) 區域 (us-west-2) 及虛構帳戶 ID。

範例 1:允許使用者對任何 AWS Directory Service 資源執行任何描述動作

下列許可政策會授予使用者執行開頭為 Describe 之所有動作的許可。這些動作會顯示 AWS Directory Service 資源的相關資訊,例如目錄或快照。請注意, Resource元素中的萬用字元 (*) 表示帳戶擁有的所有 AWS Directory Service 資源都允許這些動作。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"ds:Describe*", "Resource":"*" } ] }

範例 2:允許使用者建立目錄

下列許可政策會授予允許使用者建立目錄和所有其他相關資源 (如快照和信任) 的許可。若要授予該許可,還需要特定 Amazon EC2 服務的許可。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action": [ "ds:Create*", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateNetworkInterface", "ec2:CreateSecurityGroup", "ec2:DeleteNetworkInterface", "ec2:DeleteSecurityGroup", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress" ], "Resource":"*" ] } ] }

搭配 IAM 政策使用標籤

您可以在您用於大多數 AWS Directory Service API 動作的 IAM 政策中套用標籤型資源層級許可。這可讓您更有效地控制使用者可以建立、修改或使用哪些資源。您可以使用 Condition 元素 (也稱為 Condition 區塊),以及 IAM 政策中的以下條件內容金鑰和值,來根據資源標籤控制使用者存取 (許可):

  • 使用 aws:ResourceTag/tag-key: tag-value 以允許或拒絕資源上具有特定標籤的使用者動作。

  • 使用 aws:ResourceTag/tag-key: tag-value 以在提出 API 請求時,要求使用 (或不使用) 特定標籤,以建立或修改允許標籤的資源。

  • 使用 aws:TagKeys: [tag-key, ...] 以在提出 API 請求時,要求使用 (或不使用) 特定標籤金鑰集,以建立或修改允許標籤的資源。

注意

IAM 政策中的條件內容金鑰和值,只會套用到資源識別符可標記為必要參數的那些 AWS Directory Service 動作。

《IAM 使用者指南》中的使用標籤控制存取有如何使用標籤的其他資訊。該指南的 IAM JSON 政策參考章節有詳細的語法、說明,還有元素、變數範例,以及在 IAM 中的 JSON 政策評估邏輯。

只要標籤包含標籤金鑰對「fooKey」:「fooValue」,以下標籤政策範例即允許所有 ds 呼叫。​

{ "Version":"2012-10-17", "Statement":[ { "Sid":"VisualEditor0", "Effect":"Allow", "Action":[ "ds:*" ], "Resource":"*", "Condition":{ "StringEquals":{ "aws:ResourceTag/fooKey":"fooValue" } } }, { "Effect":"Allow", "Action":[ "ec2:*" ], "Resource":"*" } ] }

只要資源包含目錄 ID「d-1234567890」,以下資源政策範例即允許所有 ds 呼叫。​

{ "Version":"2012-10-17", "Statement":[ { "Sid":"VisualEditor0", "Effect":"Allow", "Action":[ "ds:*" ], "Resource":"arn:aws:ds:us-east-1:123456789012:directory/d-1234567890" }, { "Effect":"Allow", "Action":[ "ec2:*" ], "Resource":"*" } ] }

如需 ARNs 的詳細資訊,請參閱 Amazon Resource Name (ARNs) AWS 和服務命名空間

下列 AWS Directory Service API 操作清單支援標籤型資源層級許可: