View a markdown version of this page

如何模擬政策 - AWS Identity and Access Management

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

如何模擬政策

您可以在 IAM 主控台或使用 AWS CLI 和 AWS API 執行模擬。如需模擬器評估內容、兩種模式及其如何達到結果的概觀,請參閱 使用 IAM 政策模擬器測試 IAM 政策。如需所需的許可,請參閱 使用政策模擬器的許可

模擬政策 (主控台)

您可以從 IAM 主控台中的政策模擬器執行模擬。在導覽窗格中,選擇政策模擬器

注意

位於 https://https://policysim.aws.amazon.com/ 的獨立政策模擬器主控台不再維護。在 IAM 主控台中使用政策模擬器。

主體模式

選取身分

首先,請先選取身分。您可以在該帳戶中選取 IAM 使用者、角色或群組。側邊面板會在您選取後填入連接到這些身分的政策。

包含或排除政策

側邊面板列出模擬範圍內的政策,包括內嵌 AWS 、受管和客戶受管政策,以及任何許可界限。您可以排除政策,以查看結果在沒有它的情況下如何變更,然後再次包含它。排除授予存取的政策會將結果變更為隱含拒絕。

新增動作和資源

主體模式下的 IAM 政策模擬器主控台。

在左側面板中選擇身分和政策後,新增您要測試的動作。對於支援資源選擇的動作,您可以針對所有資源進行測試,或輸入一或多個特定資源 ARNs。當多個動作使用相同的資源類型時,您可以一次將一個資源套用至所有資源,或將其範圍限定為單一動作。

IAM 政策模擬器中只需要單一資源類型的動作。

有些動作需要一組相關的資源類型,模擬器才能對其進行評估。例如,當您模擬 時ec2:RunInstances,主控台會提示您根據情況一起指定映像、執行個體和安全群組,以及子網路或磁碟區。

IAM 政策模擬器中需要多種資源類型的動作。

提供條件索引鍵值

如果您測試的政策包含條件索引鍵,模擬器會列出相關索引鍵,並可讓您在執行模擬之前設定值。顯示的金鑰會反映目前選取的政策,因此選取或清除政策會新增或移除其金鑰。如果值不符合條件,則會拒絕動作。

模擬器會在兩個位置提供條件索引鍵的值。全域請求條件適用於整個模擬請求。這些是開頭為 的金鑰aws:,例如 aws:MultiFactorAuthPresentaws:PrincipalServiceNamesList,您可以在全域條件區域中設定其值一次。選取或清除政策會新增或移除其全域金鑰,而且在您調整哪些政策在範圍內時,會保留您輸入的值。服務特定條件適用於單一動作。每個動作列都會顯示其參考的條件數目,而您會開啟該列來設定該動作的服務特定金鑰,例如 cloudwatch:namespacecloudwatch:PutMetricDataram:PermissionResourceTyperam:ListPermissionAssociations。動作列可以同時包含全域金鑰和服務特定的金鑰,如果任何值不符合條件,則會拒絕該動作。

IAM 政策模擬器會為您填入一些主體和組織內容金鑰,並提供其餘的值。如需自動填入的金鑰清單,以及如何評估條件金鑰的詳細資訊,請參閱 IAM 政策模擬器中條件索引鍵評估的運作方式

若要了解如何使用條件金鑰,請參閱 AWS 全域條件內容索引鍵

測試許可界限

當身分具有許可界限時,它會出現在側邊面板中,並預設為包含。如果您想要了解界限是否為拒絕動作的原因,您也可以排除界限並再次執行模擬。

例如,假設您iam:DeleteRole針對其界限不允許的身分進行模擬。結果是拒絕歸因於許可界限。如果您接著新增允許 動作並排除邊界的政策,則結果會變更為允許。這可確認邊界是唯一封鎖動作的控制項。

歸因於 IAM 政策模擬器中許可界限的模擬結果。

包含服務控制政策

如果您的帳戶是組織的成員,您可以在側邊面板的模擬中包含服務控制政策 (SCPs)。模擬器會在決定結果時,評估 SCPs 中的自動填入條件索引鍵和資源範圍。當 SCP 明確拒絕動作時,結果是明確拒絕歸因於 AWS Organizations,而另一個政策中的允許無法覆寫它。關閉控制項並再次執行模擬,以查看沒有組織控制項的結果。如需自動填入條件索引鍵的清單,請參閱 IAM 政策模擬器中條件索引鍵評估的運作方式

注意

基於安全考量,模擬器不會顯示 SCP 評估的詳細資訊。僅由 SCPs 參考的條件索引鍵不會列出供您設定值,而且針對結果傳回的相符陳述式不包含來自 SCPs陳述式。金鑰和相符陳述式來自連接到身分的身分型政策,以及您提供的任何政策。

測試以資源為基礎的政策

若要在主控台模擬中包含資源型政策,請輸入特定資源 ARN,然後選擇 選項以包含資源的政策。資源型政策會顯示在側邊面板中,並在結果中進行評估。在 主控台中,這適用於 Amazon S3 儲存貯體、Amazon SQS 佇列、Amazon SNS 主題和 Amazon Glacier 保存庫。

注意

IAM 角色不支援資源型政策的模擬。

讀取結果

結果表中的每一列都會顯示是否允許、隱含拒絕或明確拒絕動作,以及結果的簡短說明。使用 說明來識別哪些政策或控制項決定結果,例如明確允許、缺少相符陳述式、許可界限或組織控制項。

自訂模式

您可以使用 IAM 政策編輯器,在自訂模式下寫入或貼上身分型政策和許可界限。這些政策不會連接到身分,而且可以在套用之前進行評估。您可以包含多個以身分為基礎的政策,但只能包含一個用於模擬的許可界限。

注意

在自訂模式中,主控台不支援傳入自訂 SCPs 或模擬以資源為基礎的政策。若要模擬自訂 SCPs或資源型政策,請使用 AWS CLI 或 AWS API。

自訂模式中的 IAM 政策模擬器主控台。

模擬政策 (AWS CLI 和 AWS API)

使用 AWS CLI 或 AWS API 模擬政策通常需要兩個步驟:

  1. 評估政策並傳回其參考的內容索引鍵清單,以便您知道要提供的內容索引鍵值。此為選擇性步驟。

  2. 模擬政策,提供要在模擬期間使用的動作、資源和內容索引鍵值。

每個動作都會與每個資源配對,而模擬會決定政策是否允許或拒絕該資源的動作。您可以為政策參考的任何內容索引鍵提供值。如果您未提供內容索引鍵的值,模擬仍會執行並傳回隱含拒絕,而缺少的索引鍵會在 中傳回missingContextValues,讓您知道要新增哪些值。如果 SCP 僅參考缺少的內容金鑰,基於安全考量,不會傳回該金鑰,但您仍然會收到決策。

API 動作分為兩個群組:

這些動作也支援下列項目:

  • OrderedOrganizationPolicyInputListSimulateCustomPolicy 上,可讓您模擬組織 SCP 階層的效果,而無需使用即時主體。

  • PolicyExclusionListSimulatePrincipalPolicy 上,可讓您測試「如果我移除此政策該怎麼辦?」 案例,而不變更哪些政策連接到委託人。

  • 回應會傳回EvaluationResult每個動作的單一 ,並在頂層彙總決策和 中的每個資源詳細資訊ResourceSpecificResults

AWS CLI 和 AWS API 參考

如需模擬政策的範例 AWS CLI 命令,請參閱下列內容: