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 控制取消已排程刪除金鑰的 AWS KMS許可 寫入

key*

kms:CallerAccount

kms:ViaService

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

kms:CallerAccount

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

alias*

key*

kms:CallerAccount

kms:ViaService

CreateCustomKeyStore 控制建立自訂金鑰存放區的權限,該存放區由 AWS 雲端HSM叢集或外部金鑰管理員提供支援 AWS 寫入

kms:CallerAccount

cloudhsm:DescribeClusters

iam:CreateServiceLinkedRole

CreateGrant 控制將授予新增至金鑰的 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 控制解密金鑰下 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 控制刪除您匯入 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 控制檢視金鑰詳細資訊 AWS KMS的許可 讀取

key*

kms:CallerAccount

kms:RequestAlias

kms:ViaService

DisableKey 控制停用 AWS KMS金鑰的許可,防止金鑰在密碼編譯操作中使用 寫入

key*

kms:CallerAccount

kms:ViaService

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

key*

kms:CallerAccount

kms:ViaService

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

kms:CallerAccount

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

key*

kms:CallerAccount

kms:ViaService

EnableKeyRotation 控制在金鑰中 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 控制檢視金鑰金鑰輪換狀態的 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 控制將密碼編譯材料 AWS KMS匯入金鑰的許可 寫入

key*

kms:CallerAccount

kms:ExpirationModel

kms:ValidTo

kms:ViaService

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

key*

kms:CallerAccount

kms:GrantIsForAWSResource

kms:ViaService

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

key*

kms:CallerAccount

kms:ViaService

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

key*

kms:CallerAccount

kms:ViaService

ListKeys 控制檢視帳戶中所有 AWS KMS金鑰之金鑰 ID 和 Amazon Resource Name (ARN) 的許可 清單
ListResourceTags 控制檢視連接至 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 控制在金鑰中 AWS KMS叫用密碼編譯材料隨需輪換的許可 寫入

key*

kms:CallerAccount

kms:ViaService

ScheduleKeyDeletion 控制排程刪除金鑰的 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 控制建立或更新連接至 AWS KMS金鑰之標籤的許可 標記

key*

aws:RequestTag/${TagKey}

aws:TagKeys

kms:CallerAccount

kms:ViaService

UntagResource 控制刪除附加至 AWS KMS金鑰之標籤的許可 標記

key*

aws:TagKeys

kms:CallerAccount

kms:ViaService

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

alias*

key*

kms:CallerAccount

kms:ViaService

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

kms:CallerAccount

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