檢查 IAM 政策 - AWS Key Management Service

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

檢查 IAM 政策

除了金鑰政策和授予之外,您也可以使用IAM政策來允許存取KMS金鑰。如需IAM政策和金鑰政策如何協同運作的詳細資訊,請參閱 許可疑難排解 AWS KMS

若要判斷哪些主體目前可透過IAM政策存取KMS金鑰,您可以使用瀏覽器型IAM政策模擬器工具,或向 IAM 提出請求API。

使用IAM政策模擬器檢查IAM政策

IAM 政策模擬器可協助您了解哪些主體可透過IAM政策存取KMS金鑰。

使用IAM政策模擬器來判斷對KMS金鑰的存取
  1. 登入 , AWS Management Console 然後在 開啟IAM政策模擬器https://policysim.aws.amazon.com/

  2. 使用者、群組和角色窗格,選擇您想要模擬所屬政策的使用者、群組或角色。

  3. (選用) 清除任何您想要從模擬中刪除的政策旁的核取方塊。若要模擬所有政策,請保持勾選所有政策。

  4. Policy Simulator (政策模擬器) 窗格中,執行下列動作:

    1. Select service (選取服務) 中,選擇 Key Management Service (金鑰管理服務)

    2. 若要模擬特定 AWS KMS 動作,請在選取動作 中選擇要模擬的動作。若要模擬所有 AWS KMS 動作,請選擇全選

  5. (選用) Policy Simulator 預設會模擬對所有KMS金鑰的存取。若要模擬對特定KMS金鑰的存取,請選擇模擬設定,然後輸入要模擬之KMS金鑰的 Amazon Resource Name (ARN)。

  6. 選擇 Run Simulation (執行模擬)

您可在 Results (結果) 部分查看模擬結果。對於 AWS 帳戶中的每個 IAM 使用者、群組和角色,請重複步驟 2 到步驟 6。

使用 檢查IAM政策 IAM API

您可以使用 IAMAPI以程式設計方式檢查IAM政策。以下步驟提供執行此操作方法的一般概述:

  1. 對於金鑰政策中 AWS 帳戶 列為主體的每個 (即此格式中指定的每個AWS 帳戶主體"Principal": {"AWS": "arn:aws:iam::111122223333:root"}),請使用 中的 ListUsersListRoles操作IAMAPI來取得帳戶中的所有使用者和角色。

  2. 針對清單中的每個使用者和角色,使用 IAM 中的 SimulatePrincipalPolicy操作API,並傳遞下列參數:

    • 對於 PolicySourceArn,請從清單中指定使用者或角色的 Amazon Resource Name (ARN)。您只能為每個 SimulatePrincipalPolicy 請求指定一個 PolicySourceArn,因此您必須多次呼叫此操作,針對清單中的每個使用者與角色各呼叫一次。

    • 針對ActionNames清單,指定要模擬的每個 AWS KMS API動作。若要模擬所有 AWS KMS API動作,請使用 kms:*。若要測試個別 AWS KMS API動作,請在每個API動作前面加上 "kms:",例如 "kms:ListKeys"。如需 AWS KMS API動作的完整清單,請參閱AWS Key Management Service API參考 中的動作

    • (選用) 若要判斷使用者或角色是否可以存取特定KMS金鑰,請使用 ResourceArns 參數來指定KMS金鑰的 Amazon Resource Names (ARNs) 清單。若要判斷使用者或角色是否可以存取任何KMS金鑰,請省略 ResourceArns 參數。

IAM 會以評估決定回應每個SimulatePrincipalPolicy請求:explicitDenyallowedimplicitDeny。對於包含 評估決策的每個回應allowed,回應包含允許的特定 AWS KMS API操作名稱。它還包括評估中使用的KMS金鑰ARN的 ,如果有的話。