本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
檢查 IAM 政策
除了金鑰政策和授予之外,您也可以使用IAM政策來允許存取KMS金鑰。如需IAM政策和金鑰政策如何協同運作的詳細資訊,請參閱 許可疑難排解 AWS KMS。
若要判斷哪些主體目前可透過IAM政策存取KMS金鑰,您可以使用瀏覽器型IAM政策模擬器
檢查 IAM 政策的方式
使用IAM政策模擬器檢查IAM政策
IAM 政策模擬器可協助您了解哪些主體可透過IAM政策存取KMS金鑰。
使用IAM政策模擬器來判斷對KMS金鑰的存取
-
登入 , AWS Management Console 然後在 開啟IAM政策模擬器https://policysim.aws.amazon.com/
。 -
在使用者、群組和角色窗格,選擇您想要模擬所屬政策的使用者、群組或角色。
-
(選用) 清除任何您想要從模擬中刪除的政策旁的核取方塊。若要模擬所有政策,請保持勾選所有政策。
-
在 Policy Simulator (政策模擬器) 窗格中,執行下列動作:
-
在 Select service (選取服務) 中,選擇 Key Management Service (金鑰管理服務)。
-
若要模擬特定 AWS KMS 動作,請在選取動作 中選擇要模擬的動作。若要模擬所有 AWS KMS 動作,請選擇全選 。
-
-
(選用) Policy Simulator 預設會模擬對所有KMS金鑰的存取。若要模擬對特定KMS金鑰的存取,請選擇模擬設定,然後輸入要模擬之KMS金鑰的 Amazon Resource Name (ARN)。
-
選擇 Run Simulation (執行模擬)。
您可在 Results (結果) 部分查看模擬結果。對於 AWS 帳戶中的每個 IAM 使用者、群組和角色,請重複步驟 2 到步驟 6。
使用 檢查IAM政策 IAM API
您可以使用 IAMAPI以程式設計方式檢查IAM政策。以下步驟提供執行此操作方法的一般概述:
-
對於金鑰政策中 AWS 帳戶 列為主體的每個 (即此格式中指定的每個AWS 帳戶主體:
"Principal": {"AWS": "arn:aws:iam::111122223333:root"}
),請使用 中的 ListUsers和 ListRoles操作IAMAPI來取得帳戶中的所有使用者和角色。 -
針對清單中的每個使用者和角色,使用 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
請求:explicitDeny
、 allowed
或 implicitDeny
。對於包含 評估決策的每個回應allowed
,回應包含允許的特定 AWS KMS API操作名稱。它還包括評估中使用的KMS金鑰ARN的 ,如果有的話。