本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Resource Groups 身分型政策範例
根據預設,角色和使用者等IAM主體沒有建立或修改資源群組資源的許可。他們也無法使用 AWS Management Console AWS CLI、 或 AWS 來執行任務API。IAM 管理員必須建立IAM政策,授予主體對所需指定資源執行特定API操作的許可。然後,管理員必須將這些政策連接到需要這些許可的主體。
若要了解如何使用這些範例政策文件建立以IAM身分為基礎的JSON政策,請參閱 IAM 使用者指南 中的在JSON索引標籤上建立政策。
政策最佳實務
身分型政策會決定某人是否可以在帳戶中建立、存取或刪除資源群組資源。這些動作可能會讓您的 AWS 帳戶產生費用。當您建立或編輯身分型政策時,請遵循下列準則及建議事項:
-
開始使用 AWS 受管政策並邁向最低權限許可 – 若要開始將許可授予您的使用者和工作負載,請使用將許可授予許多常見使用案例的 AWS 受管政策。它們可在您的 中使用 AWS 帳戶。我們建議您定義特定於使用案例 AWS 的客戶受管政策,以進一步減少許可。如需詳細資訊,請參閱 IAM 使用者指南 中的 AWS 受管政策或 AWS 任務功能的受管政策。
-
套用最低權限許可 – 當您使用IAM政策設定許可時, 只會授予執行任務所需的許可。為實現此目的,您可以定義在特定條件下可以對特定資源採取的動作,這也稱為最低權限許可。如需使用 IAM 套用許可的詳細資訊,請參閱 IAM 使用者指南 中的政策和許可IAM。
-
使用IAM政策中的條件來進一步限制存取:您可以將條件新增至政策,以限制對動作和資源的存取。例如,您可以撰寫政策條件來指定所有請求都必須使用 傳送SSL。如果透過特定 使用服務動作,例如 AWS 服務,您也可以使用 條件來授予其存取權 AWS CloudFormation。如需詳細資訊,請參閱 IAM 使用者指南 中的IAMJSON政策元素:條件。
-
使用 IAM Access Analyzer 驗證您的IAM政策,以確保安全且功能許可 – IAM Access Analyzer 會驗證新的和現有的政策,讓政策符合IAM政策語言 (JSON) 和IAM最佳實務。IAM Access Analyzer 提供超過 100 個政策檢查和可行的建議,以協助您撰寫安全且實用的政策。如需詳細資訊,請參閱 IAM 使用者指南中的使用 IAM Access Analyzer 驗證政策。
-
需要多重要素身分驗證 (MFA) – 如果您有需要IAM使用者或 根使用者的案例 AWS 帳戶,請開啟 MFA 以獲得額外的安全性。若要在呼叫API操作MFA時要求 ,請將MFA條件新增至您的政策。如需詳細資訊,請參閱 IAM 使用者指南中的使用 安全API存取MFA。
如需 中最佳實務的詳細資訊IAM,請參閱 IAM 使用者指南 中的安全最佳實務IAM。
使用 Resource Groups 主控台和 API
若要存取 AWS Resource Groups 和 標籤編輯器主控台和 API,您必須具有一組最低許可。這些許可必須允許您列出和檢視 AWS 帳戶中資源群組資源的詳細資訊。如果您建立的身分型政策比最低必要許可更嚴格,則主控台和API命令將無法與該政策的主體 (IAM角色或使用者) 正常運作。
若要確保這些實體仍然可以使用資源群組,請將下列政策 (或包含下列政策所列許可的政策) 連接至實體。如需詳細資訊,請參閱 使用者指南 中的將許可新增至使用者: IAM
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "resource-groups:*", "cloudformation:DescribeStacks", "cloudformation:ListStackResources", "tag:GetResources", "tag:TagResources", "tag:UntagResources", "tag:getTagKeys", "tag:getTagValues", "resource-explorer:List*" ], "Resource": "*" } ] }
如需授予資源群組存取權的詳細資訊,請參閱本指南授與使用權限 AWS Resource Groups 和標籤編輯器中的 。
允許使用者檢視他們自己的許可
此範例示範如何建立政策,允許使用者檢視連接至其IAM使用者身分的內嵌和受管政策。此政策包含在主控台上完成此動作或使用 AWS CLI 或 以程式設計方式完成此動作的許可 AWS API。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }
根據標籤檢視群組
您可以使用身分型政策中的條件,根據標籤控制對資源群組資源的存取。此範例顯示如何建立允許檢視資源的政策,在此範例中是資源群組。不過,只有在群組標籤project
與連接至呼叫主體的project
標籤具有相同的值時,才會授予許可。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "resource-groups:ListGroups", "Resource": "arn:aws:resource-groups::
region
:account_ID
:group/group_name
" }, { "Effect": "Allow", "Action": "resource-groups:ListGroups", "Resource": "arn:aws:resource-groups::region
:account_ID
:group/group_name
", "Condition": { "StringEquals": {"aws:ResourceTag/project": "${aws:PrincipalTag/project}"} } } ] }
您可以將此政策連接至帳戶中的主體。如果具有標籤索引鍵project
和標籤值的主體alpha
嘗試檢視資源群組,則群組也必須加上標籤 project=alpha
。否則,使用者會遭到拒絕存取。條件標籤鍵 project
符合 Project
和 project
,因為條件索引鍵名稱不區分大小寫。如需詳細資訊,請參閱 IAM 使用者指南 中的IAMJSON政策元素:條件。