本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
針對 使用身分型政策 (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角色IAM的動作進行許可。若要將此許可限制為特定角色,請將資源中的萬用字元 (*) 取代ARN為特定角色名稱。如需詳細資訊,請參閱IAM動作 。 -
第三個陳述式會授予 Amazon 中特定資源的許可EC2, AWS Directory Service 這些資源是允許建立、設定和銷毀其目錄所必需的。
Resource
值結尾的萬用字元 (*) 表示陳述式允許對任何EC2資源或子資源EC2的動作進行許可。若要將此許可限制為特定角色,請將資源中的萬用字元 (*) 取代ARN為特定資源或子資源。如需詳細資訊,請參閱 Amazon EC2 Actions 。
您在政策中看不到Principal
元素,因為在身分型政策中,您不會指定取得許可的主體。當您將該政策連接至使用者時,這名使用者是隱含委託人。當您將許可政策連接至IAM角色時,角色的信任政策中識別的主體會取得許可
如需顯示其套用的所有 AWS Directory Service API動作和資源的資料表,請參閱 AWS Directory Service API 許可:動作、資源和條件參考。
使用 AWS Directory Service 主控台所需的許可
若要讓使用者使用 AWS Directory Service 主控台,該使用者必須擁有上述政策中列出的許可,或 Directory Service Full Access 角色或 Directory Service Read Only 角色授予的許可,如 所述AWS 的受管 (預先定義) 政策 AWS Directory Service。
如果您建立IAM的政策比最低必要許可更嚴格,則主控台將無法對具有該IAM政策的使用者如預期般運作。
AWS 的受管 (預先定義) 政策 AWS Directory Service
AWS 提供由 建立和管理的預先定義或受管IAM政策,以解決許多常見的使用案例 AWS。受管政策會授予常見使用案例的必要許可,協助您決定需要的許可。如需詳細資訊,請參閱AWS 的 受管政策 AWS Directory Service。
客戶受管政策範例
在本節中,您可以找到授予各種 AWS Directory Service 動作許可的使用者政策範例。
注意
所有範例都使用美國西部 (奧勒岡) 區域 (us-west-2
),並包含虛構帳戶 IDs。
範例 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的政策中套用標籤型資源層級許可。這可讓您更有效地控制使用者可以建立、修改或使用哪些資源。您可以在IAM政策中使用 Condition
元素 (也稱為 Condition
區塊) 搭配下列條件內容索引鍵和值,以根據資源的標籤來控制使用者存取 (許可):
-
使用
aws
:ResourceTag
/tag-key
:tag-value
以允許或拒絕資源上具有特定標籤的使用者動作。 -
使用
aws
:ResourceTag
/tag-key
:tag-value
在API請求建立或修改允許標籤的資源時,要求使用 (或未使用) 特定標籤。 -
使用
aws
:TagKeys
: 【tag-key
, ...】 來要求在API請求建立或修改允許標籤的資源時,使用特定的一組標籤金鑰 (或未使用)。
注意
IAM 政策中的條件內容索引鍵和值僅適用於能夠標記資源的識別符是必要參數 AWS Directory Service 的動作。
IAM 使用 使用者指南中的標籤控制存取權,具有使用標籤的其他資訊。該指南IAMJSON的政策參考區段具有 中JSON政策的元素、變數和評估邏輯的詳細語法、描述和範例IAM。
只要標籤包含標籤金鑰對「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 Names (ARNs) AWS 和服務命名空間 。
下列操作清單 AWS Directory Service API支援標籤型資源層級許可: