本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 IAM 政策陳述式中指定 KMS 金鑰
您可以使用 IAM 政策,允許主體使用或管理 KMS 金鑰。在政策陳述式的 Resource
元素中指定 KMS 金鑰。
-
若要在 IAM 政策陳述式中指定 KMS 金鑰,您必須使用其金鑰 ARN。您不能使用金鑰 ID、別名名稱或別名 ARN 來識別 IAM 政策陳述式中的 KMS 金鑰。
例如:"
Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
"若要根據其別名來控制對 KMS 金鑰的存取,請使用 kms:RequestAlias 或 kms:ResourceAliases 條件索引鍵。如需詳細資訊,請參閱的 ABAC AWS KMS。
僅在控制別名操作存取的政策陳述式中使用別名 ARN 作為資源,例如 CreateAlias、UpdateAlias 或 DeleteAlias。如需詳細資訊,請參閱控制對別名的存取。
-
若要在帳戶和區域中指定多個 KMS 金鑰,請在金鑰 ARN 的區域或資源 ID 位置中使用萬用字元 (*)。
例如,若要在帳戶的美國西部 (奧勒岡) 區域中指定所有 KMS 金鑰,請使用 "
Resource": "arn:aws:kms:us-west-2:111122223333:key/*
"。若要在帳戶的所有區域中指定所有 KMS 金鑰,請使用 "Resource": "arn:aws:kms:*:111122223333:key/*
"。 -
若要代表所有 KMS 金鑰,請單獨使用萬用字元 (
"*"
)。將此格式用於不使用任何特定 KMS 金鑰的操作,也就是 CreateKey、GenerateRandom、ListAliases 和 ListKeys。
在撰寫政策陳述式時,最佳實務是僅指定主體需要使用的 KMS 金鑰,而不是為其授予所有 KMS 金鑰的存取權。
例如,下列 IAM 政策陳述式允許主體僅針對政策陳述式 Resource
元素中列出的 KMS 金鑰呼叫 DescribeKey、GenerateDataKey、Decrypt 操作。透過金鑰 ARN 指定 KMS 金鑰 (這是最佳實務) 可確保許可僅限於指定的 KMS 金鑰。
若要將許可套用至特定信任的所有 KMS 金鑰 AWS 帳戶,您可以在區域和金鑰 ID 位置中使用萬用字元 (*)。例如,下列政策陳述式可讓主體在兩個可信任範例帳戶中的所有 KMS 金鑰上呼叫指定的操作。
您也可以在 Resource
元素中單獨使用萬用字元 ("*"
)。因為它允許存取帳戶具有使用許可的所有 KMS 金鑰,所以建議主要用於沒有特定 KMS 金鑰的操作,以及 Deny
陳述式。您也可以在只允許較不敏感之唯讀操作的政策陳述式中使用它。若要判斷 AWS KMS 操作是否涉及特定 KMS 金鑰,請在 中資料表的資源欄中尋找 KMS 金鑰值AWS KMS 許可。
例如,下列政策陳述式使用 Deny
效果,以禁止主體在任何 KMS 金鑰上使用指定的操作。它使用 Resource
元素中的萬用字元來代表所有 KMS 金鑰。
下列政策陳述式僅使用萬用字元來代表所有 KMS 金鑰。但它只允許不太敏感的唯讀操作和不適用於任何特定 KMS 金鑰的操作。