本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
政策評估準則
AWS 會根據一組準則來評估您提交的政策。相同的評估準則同時適用於政策範本和許可界限,並在適當時記下細微差異。
基於評估目的,我們會將服務分成不同的群組。最重要的區別在於管理存取、登入資料和金鑰的安全敏感服務。授予這些服務存取權的政策需要專注於已完成的工作。安全敏感服務包括下列項目: AWS Identity and Access Management (IAM)、 AWS Key Management Service (KMS)、 AWS Resource Access Manager (RAM)、 AWS IAM Identity Center、 AWS Organizations 和 AWS Secrets Manager。
次要區別是可以跨帳戶邊界存取資料的 服務。這些服務的政策必須包含保護,以防止意外的跨帳戶存取。
常見驗證
所有政策陳述式都必須遵循下列準則:
所有陳述式都必須依該順序包含效果、動作 (或 NotAction)、資源和條件欄位
單一陳述式中的所有動作都必須依字母順序列出
政策中包含的所有 ARNs 必須遵循相關服務的公有文件中定義的語法
NotAction 欄位只能用於拒絕陳述式
允許陳述式中的動作必須包含服務代碼。不允許一般萬用字元 ("*")
安全敏感的服務限制
下列限制適用於上述對安全敏感的服務:
允許陳述式中的動作必須比 【服務】:* 更具體
暫時存取政策範本的允許陳述式中的動作不得包含萬用字元
如 iam:PassRole 或 iam:CreateServiceLinkedRole 等敏感動作需要額外範圍,例如特定資源或條件式檢查。這些動作包括:
IAM 角色傳遞
IAM 角色修改動作
IAM 政策修改動作
AWS KMS 寫入或密碼編譯操作
AWS RAM 寫入或共用操作
AWS 擷取或修改秘密或修改資源政策的 Secrets Manager 操作
其他動作可能會使用萬用字元資源,例如 iam:ListUsers 或 iam:GetPolicy
會封鎖管理登入資料的動作,例如 iam:CreateAccessKey
IAM 特定限制
對於 IAM:
IAM 角色和政策只允許有限的寫入操作。您無法請求其他 IAM 資源的許可,例如使用者、群組和憑證。
政策連接或內嵌政策管理動作僅限於具有許可界限的角色。許可界限必須是合作夥伴提供的,或在允許的 AWS 受管政策清單中。如果未授予高權限或管理許可,則可能允許受 AWS 管政策。例如,可接受特定工作職能或 SecurityAudit 政策的 AWS 受管政策。 AWS 將在加入程序期間case-by-case每個 AWS 受管政策。
政策管理僅適用於具有合作夥伴特定路徑的政策:arn:aws:iam::@{AccountId}:policy/partner_domain.com/【feature】*
標籤只能在資源建立期間套用,且僅適用於角色和政策
iam:PassRole 檢查必須符合特定名稱或路徑字首
AWS STS特定限制
對於 AWS STS:
sts:AssumeRole 必須範圍限定為特定角色 ARN、角色 ARN 字首,或限制為一組帳戶或組織 ID/組織單位
IAM Identity Center 限制
對於 AWS IAM Identity Center,會封鎖下列動作:
處理許可管理的所有動作 (例如,sso:AttachCustomerManagedPolicyReferenceToPermissionSet)
AWS Identity Store 的使用者、群組和成員資格修改
標籤管理
AWS Organizations 限制
對於 AWS Organizations,僅允許讀取動作。
其他服務特定的驗證
取得秘密或登入資料的動作,例如 glue:GetConnection 或 redshift:GetClusterCredentials,必須具有符合完整 ARNs、ARN 字首或標籤的條件
對於 Amazon Redshift:僅允許在特定資料庫名稱上使用 redshift:GetClusterCredentials,且僅允許在特定工作群組名稱上使用 redshift:GetClusterCredentialsWithIAM
注意
管理帳戶中的 IAM 資源時,建議使用指出您名稱的路徑,例如 arn:aws:iam::111122223333:role/partner.com/rolename。這將有助於區分與您的整合相關聯的資源,讓客戶更容易探索、稽核和分析。
跨帳戶存取要求
可能允許跨帳戶存取的陳述式必須至少包含下列其中一項:
為資源指定帳戶或組織的條件 (例如,aws:ResourceOrgId 符合一或多個預期值)
包含特定帳戶的資源欄位 (例如 arn:aws:sqs:*:111122223333:*)
包含非萬用字元帳戶和完整資源名稱的資源欄位 (例如 arn:aws:s3::full-bucket-name)
注意
跨帳戶存取是一種敏感功能,需要明確的業務理由。 AWS 將在加入過程中仔細審查跨帳戶存取的需求。