AWS Key Management Service 的動作、資源和條件索引鍵 - 服務授權參考

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

AWS Key Management Service 的動作、資源和條件索引鍵

AWS Key Management Service (服務字首:kms) 提供下列服務特有的資源、動作和條件內容金鑰,可用於 IAM 許可政策。

參考資料:

AWS Key Management Service 定義的動作

您可以在 IAM 政策陳述式的 Action元素中指定下列動作。使用政策來授予在 AWS中執行操作的許可。當您在政策中使用 動作時,通常會允許或拒絕存取具有相同名稱的 API 操作或 CLI 命令。不過,在某些情況下,單一動作可控制對多個操作的存取。或者,某些操作需要多種不同的動作。

「動作」資料表的資源類型欄會指出每個動作是否支援資源層級的許可。如果此欄沒有值,您必須在政策陳述式的 Resource 元素中指定政策適用的所有資源 ("*")。如果資料欄包含資源類型,則您可以在具有該動作的陳述式中指定該類型的 ARN。如果動作具有一或多個必要資源,呼叫者必須具有對這些資源使用動作的許可。表格中的必要資源會以星號 (*) 表示。如果您在 IAM 政策中使用 Resource元素限制資源存取,則必須為每個必要的資源類型包含 ARN 或模式。某些動作支援多種資源類型。如果資源類型是選用 (未顯示為必要),則您可以選擇使用其中一種選用資源類型。

「動作」資料表的條件索引鍵欄包含您可以在政策陳述式的 Condition 元素中指定的索引鍵。如需有關與服務資源相關聯之條件索引鍵的詳細資訊,請參閱「資源類型」資料表的條件索引鍵欄。

注意

資源條件索引鍵會列在資源類型資料表中。您可以在「動作」資料表的資源類型 (*必填) 欄中找到適用於動作的資源類型連結。「資源類型」資料表中的資源類型包括條件索引鍵欄,其中包含套用至「動作」資料表中動作的資源條件索引鍵。

如需下表各欄的詳細資訊,請參閱動作資料表

動作 描述 存取層級 資源類型 (*必填項目) 條件索引鍵 相依動作
CancelKeyDeletion 控制取消排程刪除 a AWS KMS 金鑰的許可 寫入

key*

kms:CallerAccount

kms:ViaService

ConnectCustomKeyStore 控制將自訂金鑰存放區連線至或重新連線至其關聯的 AWS CloudHSM 叢集或外部金鑰管理器的許可 AWS 寫入

kms:CallerAccount

CreateAlias 控制為 a AWS KMS 金鑰建立別名的許可。別名是您可以與 KMS 金鑰建立關聯的選用易記名稱 寫入

alias*

key*

kms:CallerAccount

kms:ViaService

CreateCustomKeyStore 控制建立由 AWS CloudHSM 叢集或外部金鑰管理員支援的自訂金鑰存放區的權限 AWS 寫入

kms:CallerAccount

cloudhsm:DescribeClusters

iam:CreateServiceLinkedRole

CreateGrant 控制將授予新增至 a AWS KMS 金鑰的許可。您可以使用授予來新增許可,而無需變更金鑰政策或 IAM 政策 許可管理

key*

kms:CallerAccount

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:GrantConstraintType

kms:GranteePrincipal

kms:GrantIsForAWSResource

kms:GrantOperations

kms:RetiringPrincipal

kms:ViaService

CreateKey 控制建立可用於保護資料金鑰和其他敏感資訊的 AWS KMS 金鑰的許可 寫入

aws:ResourceTag/${TagKey}

aws:RequestTag/${TagKey}

aws:TagKeys

kms:BypassPolicyLockoutSafetyCheck

kms:CallerAccount

kms:KeySpec

kms:KeyUsage

kms:KeyOrigin

kms:MultiRegion

kms:MultiRegionKeyType

kms:ViaService

iam:CreateServiceLinkedRole

kms:PutKeyPolicy

kms:TagResource

Decrypt 控制解密在 a AWS KMS 金鑰下加密的加密文字的許可 寫入

key*

kms:CallerAccount

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:RecipientAttestation:ImageSha384

kms:RequestAlias

kms:ViaService

DeleteAlias 控制准許刪除別名。別名是您可以與 AWS KMS 金鑰建立關聯的選用易記名稱 寫入

alias*

key*

kms:CallerAccount

kms:ViaService

DeleteCustomKeyStore 控制准許刪除自訂金鑰存放區 寫入

kms:CallerAccount

DeleteImportedKeyMaterial 控制刪除您匯入至 a AWS KMS 金鑰之密碼編譯資料的許可。這個動作會使金鑰變成無用 寫入

key*

kms:CallerAccount

kms:ViaService

DeriveSharedSecret 控制使用指定 AWS KMS 金鑰衍生共用秘密的許可 寫入

key*

kms:CallerAccount

kms:KeyAgreementAlgorithm

kms:RecipientAttestation:ImageSha384

kms:RequestAlias

kms:ViaService

DescribeCustomKeyStores 控制准許檢視帳戶和區域中的自訂金鑰存放區的詳細資訊 讀取

kms:CallerAccount

DescribeKey 控制檢視有關 a AWS KMS 金鑰詳細資訊的許可 讀取

key*

kms:CallerAccount

kms:RequestAlias

kms:ViaService

DisableKey 控制停用 an AWS KMS 金鑰的許可,以防止其用於密碼編譯操作 寫入

key*

kms:CallerAccount

kms:ViaService

DisableKeyRotation 控制停用客戶受管 AWS KMS 金鑰自動輪換的許可 寫入

key*

kms:CallerAccount

kms:ViaService

DisconnectCustomKeyStore 控制許可,以中斷自訂金鑰存放區與其相關聯 AWS CloudHSM 叢集或外部金鑰管理員的連線 AWS 寫入

kms:CallerAccount

EnableKey 控制將 a AWS KMS 金鑰狀態變更為已啟用的許可。這允許在密碼編譯操作中使用 KMS 金鑰 寫入

key*

kms:CallerAccount

kms:ViaService

EnableKeyRotation 控制在 a AWS KMS 金鑰中啟用密碼編譯材料自動輪換的許可 寫入

key*

kms:CallerAccount

kms:RotationPeriodInDays

kms:ViaService

Encrypt 控制使用指定 AWS KMS 金鑰加密資料和資料金鑰的許可 寫入

key*

kms:CallerAccount

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:RequestAlias

kms:ViaService

GenerateDataKey 控制使用 AWS KMS 金鑰產生資料金鑰的許可。您可以使用資料金鑰來加密 AWS KMS 外部的資料 寫入

key*

kms:CallerAccount

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:RecipientAttestation:ImageSha384

kms:RequestAlias

kms:ViaService

GenerateDataKeyPair 控制使用 AWS KMS 金鑰產生資料金鑰對的許可 寫入

key*

kms:CallerAccount

kms:DataKeyPairSpec

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:RequestAlias

kms:ViaService

GenerateDataKeyPairWithoutPlaintext 控制使用 AWS KMS 金鑰產生資料金鑰對的許可。與 GenerateDataKeyPair 操作不同,此操作會傳回不含純文字複本的加密私有金鑰 寫入

key*

kms:CallerAccount

kms:DataKeyPairSpec

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:RequestAlias

kms:ViaService

GenerateDataKeyWithoutPlaintext 控制使用 AWS KMS 金鑰產生資料金鑰的許可。與 GenerateDataKey 操作不同,此操作會傳回不含純文字版本資料金鑰的加密資料金鑰 寫入

key*

kms:CallerAccount

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:RequestAlias

kms:ViaService

GenerateMac 控制使用 AWS KMS 金鑰產生訊息驗證碼的許可 寫入

key*

kms:CallerAccount

kms:MacAlgorithm

kms:RequestAlias

kms:ViaService

GenerateRandom 控制從 AWS KMS 取得密碼編譯安全隨機位元組字串的許可 寫入

kms:RecipientAttestation:ImageSha384

GetKeyPolicy 控制檢視指定 AWS KMS 金鑰之金鑰政策的許可 讀取

key*

kms:CallerAccount

kms:ViaService

GetKeyRotationStatus 控制檢視 a AWS KMS 金鑰金鑰輪換狀態的許可 讀取

key*

kms:CallerAccount

kms:ViaService

GetParametersForImport 針對將密碼編譯資料匯入客戶受管金鑰,控制准許取得所需的資料,包括公有金鑰和匯入符記 讀取

key*

kms:CallerAccount

kms:ViaService

kms:WrappingAlgorithm

kms:WrappingKeySpec

GetPublicKey 控制下載非對稱 AWS KMS 金鑰公有金鑰的許可 讀取

key*

kms:CallerAccount

kms:RequestAlias

kms:ViaService

ImportKeyMaterial 控制將密碼編譯材料匯入 a AWS KMS 金鑰的許可 寫入

key*

kms:CallerAccount

kms:ExpirationModel

kms:ValidTo

kms:ViaService

ListAliases 控制准許檢視帳戶中定義的別名。別名是您可以與 AWS KMS 金鑰建立關聯的選用易記名稱 清單
ListGrants 控制檢視 an AWS KMS 金鑰所有授予的許可 清單

key*

kms:CallerAccount

kms:GrantIsForAWSResource

kms:ViaService

ListKeyPolicies 控制檢視 a AWS KMS 金鑰之金鑰政策名稱的許可 清單

key*

kms:CallerAccount

kms:ViaService

ListKeyRotations 控制檢視 a AWS KMS 金鑰已完成金鑰輪換清單的許可 清單

key*

kms:CallerAccount

kms:ViaService

ListKeys 控制檢視帳戶中 all AWS KMS 金鑰之金鑰 ID 和 Amazon Resource Name (ARN) 的許可 清單
ListResourceTags 控制檢視連接至 a AWS KMS 金鑰之所有標籤的許可 清單

key*

kms:CallerAccount

kms:ViaService

ListRetirableGrants 控制准許檢視以特定委託人為淘汰委託人的授與。其他委託人可能淘汰准許,而此委託人可能汰換其他准許 清單
PutKeyPolicy 控制取代指定 AWS KMS 金鑰之金鑰政策的許可 許可管理

key*

kms:BypassPolicyLockoutSafetyCheck

kms:CallerAccount

kms:ViaService

ReEncryptFrom 控制解密資料的權限,作為解密和重新加密 AWS KMS 內資料的程序的一部分 寫入

key*

kms:CallerAccount

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:ReEncryptOnSameKey

kms:RequestAlias

kms:ViaService

ReEncryptTo 控制在解密和重新加密 AWS KMS 中資料的程序加密資料的許可 寫入

key*

kms:CallerAccount

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:ReEncryptOnSameKey

kms:RequestAlias

kms:ViaService

ReplicateKey 控制是否准許複製多區域主要金鑰 寫入

key*

iam:CreateServiceLinkedRole

kms:CreateKey

kms:PutKeyPolicy

kms:TagResource

kms:CallerAccount

kms:ReplicaRegion

kms:ViaService

RetireGrant 控制准許淘汰授與。授予使用者在完成授予允許他們執行的任務後,通常會呼叫 RetireGrant 操作 許可管理

key*

RevokeGrant 控制准許撤銷准許,以拒絕所有取決於該准許的操作 許可管理

key*

kms:CallerAccount

kms:GrantIsForAWSResource

kms:ViaService

RotateKeyOnDemand 控制在 a AWS KMS 金鑰中調用密碼編譯材料隨需輪換的許可 寫入

key*

kms:CallerAccount

kms:ViaService

ScheduleKeyDeletion 控制排程刪除 a AWS KMS 金鑰的許可 寫入

key*

kms:CallerAccount

kms:ScheduleKeyDeletionPendingWindowInDays

kms:ViaService

Sign 控制准許產生訊息的數位簽章 寫入

key*

kms:CallerAccount

kms:MessageType

kms:RequestAlias

kms:SigningAlgorithm

kms:ViaService

SynchronizeMultiRegionKey [僅限許可] 控制對同步多區域金鑰的內部 APIs 的存取 寫入

key*

TagResource 控制建立或更新連接至 a AWS KMS 金鑰之標籤的許可 標記

key*

aws:RequestTag/${TagKey}

aws:TagKeys

kms:CallerAccount

kms:ViaService

UntagResource 控制刪除連接至 a AWS KMS 金鑰之標籤的許可 標記

key*

aws:TagKeys

kms:CallerAccount

kms:ViaService

UpdateAlias 控制將別名與不同 AWS KMS 金鑰建立關聯的許可。別名是選用的易記名稱,您可以與 KMS 金鑰建立關聯 寫入

alias*

key*

kms:CallerAccount

kms:ViaService

UpdateCustomKeyStore 控制准許變更自訂金鑰存放區的屬性 寫入

kms:CallerAccount

UpdateKeyDescription 控制刪除或變更 an AWS KMS 金鑰描述的許可 寫入

key*

kms:CallerAccount

kms:ViaService

UpdatePrimaryRegion 控制是否准許更新多區域主要金鑰的主要區域 寫入

key*

kms:CallerAccount

kms:PrimaryRegion

kms:ViaService

Verify 控制使用指定 AWS KMS 金鑰驗證數位簽章的許可 寫入

key*

kms:CallerAccount

kms:MessageType

kms:RequestAlias

kms:SigningAlgorithm

kms:ViaService

VerifyMac 控制使用 AWS KMS 金鑰驗證訊息驗證碼的許可 寫入

key*

kms:CallerAccount

kms:MacAlgorithm

kms:RequestAlias

kms:ViaService

AWS Key Management Service 定義的資源類型

下列資源類型由此服務定義,可用於 IAM 許可政策陳述式的 Resource元素。動作表格中的每個動作都代表可使用該動作指定的資源類型。資源類型也能定義您可以在政策中包含哪些條件索引鍵。這些索引鍵都會顯示在「資源類型」資料表的最後一欄。如需下表各欄的詳細資訊,請參閱資源類型資料表

資源類型 ARN 條件索引鍵
alias arn:${Partition}:kms:${Region}:${Account}:alias/${Alias}
key arn:${Partition}:kms:${Region}:${Account}:key/${KeyId}

aws:ResourceTag/${TagKey}

kms:KeyOrigin

kms:KeySpec

kms:KeyUsage

kms:MultiRegion

kms:MultiRegionKeyType

kms:ResourceAliases

AWS Key Management Service 的條件索引鍵

AWS Key Management Service 定義下列條件金鑰,可用於 IAM 政策的 Condition元素。您可以使用這些索引鍵來縮小套用政策陳述式的條件。如需下表各欄的詳細資訊,請參閱條件索引鍵表

若要檢視所有服務都可使用的全域條件鍵,請參閱可用全域條件鍵

條件索引鍵 描述 Type
aws:RequestTag/${TagKey} 根據請求中標籤的索引鍵和值,篩選對指定 AWS KMS 操作的存取 字串
aws:ResourceTag/${TagKey} 根據指派給 AWS KMS 金鑰的標籤,篩選對指定 AWS KMS 操作的存取 字串
aws:TagKeys 根據請求中的標籤索引鍵篩選對指定 AWS KMS 操作的存取 ArrayOfString
kms:BypassPolicyLockoutSafetyCheck 根據請求中的 CreateKey 參數值,篩選對 BypassPolicyLockoutSafetyCheck 和 PutKeyPolicy 操作的存取 Bool
kms:CallerAccount 根據來電者的 AWS 帳戶 ID 篩選對指定 AWS KMS 操作的存取。您可以使用此條件金鑰,允許或拒絕存取單一政策陳述式中 AWS 帳戶 中的所有 IAM 使用者和角色 字串
kms:CustomerMasterKeySpec kms:CustomerMasterKeySpec Word 條件金鑰已棄用。反之,請使用 kms:KeySpec Word 條件索引鍵 字串
kms:CustomerMasterKeyUsage kms:CustomerMasterKeyUsage Word 條件金鑰已棄用。反之,請使用 kms:KeyUsage Word 條件索引鍵 字串
kms:DataKeyPairSpec 根據請求中的 GenerateDataKeyPair 參數值,篩選對 KeyPairSpec 和 GenerateDataKeyPairWithoutPlaintext 操作的存取 字串
kms:EncryptionAlgorithm 根據請求中的加密演算法的值,篩選對加密操作的存取權 字串
kms:EncryptionContext:${EncryptionContextKey} 根據密碼編譯操作中的加密內容,篩選對 symmetric AWS KMS 金鑰的存取。此條件評估每個鍵值加密內容對中的索引鍵和值。 字串
kms:EncryptionContextKeys 根據密碼編譯操作中的加密內容,篩選對 symmetric AWS KMS 金鑰的存取。此條件索引鍵僅評估每個鍵值加密內容對中的索引鍵。 ArrayOfString
kms:ExpirationModel 根據請求中的 ImportKeyMaterial 參數值篩選對 ExpirationModel 操作的存取 字串
kms:GrantConstraintType 根據請求中的授予限制篩選對 CreateGrant 操作的存取 字串
kms:GrantIsForAWSResource 當請求來自指定的 AWS 服務時,篩選對 CreateGrant 操作的存取 Bool
kms:GrantOperations 根據授予中的操作篩選對 CreateGrant 操作的存取 ArrayOfString
kms:GranteePrincipal 根據授予中的承授者主體篩選對 CreateGrant 操作的存取 字串
kms:KeyAgreementAlgorithm 根據請求中的 DeriveSharedSecret 參數值篩選對 KeyAgreementAlgorithm 操作的存取 字串
kms:KeyOrigin 根據操作中建立或使用的 API 金鑰的 Origin 屬性,篩選對 AWS KMS 操作的存取。使用它來驗證 CreateKey 操作或任何授權 KMS 金鑰的操作 字串
kms:KeySpec 根據由 操作建立或使用的 API 金鑰的 KeySpec 屬性,篩選對 AWS KMS 操作的存取。使用它來驗證 CreateKey 操作或任何授權 KMS 金鑰資源的操作的授權 字串
kms:KeyUsage 根據由 建立或在操作中使用的 API 金鑰的 KeyUsage 屬性,篩選對 AWS KMS 操作的存取。使用它來驗證 CreateKey 操作或任何授權 KMS 金鑰資源的操作的授權 字串
kms:MacAlgorithm 根據請求中的 GenerateMac 參數篩選對 MacAlgorithm 和 VerifyMac 操作的存取 字串
kms:MessageType 根據請求中的 MessageType 參數值,篩選 Sign and Verify 操作的存取權 字串
kms:MultiRegion 根據由 建立或在操作中使用的 API 金鑰的 MultiRegion 屬性,篩選對 AWS KMS 操作的存取。使用它來驗證 CreateKey 操作或任何授權 KMS 金鑰資源的操作的授權 Bool
kms:MultiRegionKeyType 根據由 建立或在操作中使用的 API 金鑰的 MultiRegionKeyType 屬性,篩選對 AWS KMS 操作的存取。使用它來驗證 CreateKey 操作或任何授權 KMS 金鑰資源的操作的授權 字串
kms:PrimaryRegion 根據請求中的 UpdatePrimaryRegion 參數值篩選對 PrimaryRegion 操作的存取 字串
kms:ReEncryptOnSameKey 使用用於加密操作的相同 AWS KMS 金鑰時,篩選對 ReEncrypt 操作的存取 Bool
kms:RecipientAttestation:ImageSha384 根據請求中證明文件中的映像雜湊,篩選對 Decrypt、 DeriveSharedSecret、 GenerateDataKey、 GenerateDataKeyPair 和 GenerateRandom 操作的存取 字串
kms:RecipientAttestation:PCR 根據請求中證明文件中的平台組態登錄檔 (PCRs),篩選對 Decrypt、 GenerateDataKey 和 GenerateRandom 操作的存取 字串
kms:ReplicaRegion 根據請求中的 ReplicateKey 參數值篩選對 ReplicaRegion 操作的存取 字串
kms:RequestAlias 根據請求中的別名,篩選密碼編譯操作、 DescribeKey 和 GetPublicKey 的存取權 字串
kms:ResourceAliases 根據與 AWS KMS 金鑰相關聯的別名,篩選對指定 AWS KMS 操作的存取 ArrayOfString
kms:RetiringPrincipal 根據授予中的淘汰委託人篩選對 CreateGrant 操作的存取 字串
kms:RotationPeriodInDays 根據請求中的 EnableKeyRotation 參數值篩選對 RotationPeriodInDays 操作的存取 數值
kms:ScheduleKeyDeletionPendingWindowInDays 根據請求中的 ScheduleKeyDeletion 參數值篩選對 PendingWindowInDays 操作的存取 數值
kms:SigningAlgorithm 根據請求中的簽署演算法,篩選對 Sign 和 Verify 操作的存取權 字串
kms:ValidTo 根據請求中的 ImportKeyMaterial 參數值,篩選對 ValidTo 操作的存取。您可以使用此條件索引鍵,表示只有當金鑰資料在指定的日期之前過期時,才允許使用者匯入金鑰資料 日期
kms:ViaService 當代表委託人提出的請求來自指定的 AWS 服務時,篩選存取權 字串
kms:WrappingAlgorithm 根據請求中的 GetParametersForImport 參數值篩選對 WrappingAlgorithm 操作的存取 字串
kms:WrappingKeySpec 根據請求中的 GetParametersForImport 參數值篩選對 WrappingKeySpec 操作的存取 字串