政策評估準則 - AWS Identity and Access Management

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

政策評估準則

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 將在加入過程中仔細審查跨帳戶存取的需求。