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

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

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

AWS 金鑰管理服務 (服務前置詞: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 CloudHSM 叢集或外部金鑰管理員支援的自訂金鑰存放區的權限 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 控制以 KMS 金鑰加密的加密文字的權限 AWS 寫入

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

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 控制從 KMS 取得加密安全隨機位元組字串的 AWS 權限 寫入

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 資源名稱 (ARN) 清單
ListResourceTags 控制檢視所有附加至 AWS KMS 金鑰標籤的權限 清單

key*

kms:CallerAccount

kms:ViaService

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

key*

kms:BypassPolicyLockoutSafetyCheck

kms:CallerAccount

kms:ViaService

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

key*

kms:CallerAccount

kms:EncryptionAlgorithm

kms:EncryptionContext:${EncryptionContextKey}

kms:EncryptionContextKeys

kms:ReEncryptOnSameKey

kms:RequestAlias

kms:ViaService

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

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 [僅限許可] 控制同步處理多區域索引鍵的內部 API 之存取 寫入

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 金鑰管理服務會定義下列可用於 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 帳戶 識別碼篩選指定 AWS KMS 作業的存取。您可以使用此條件金鑰,在單一政策聲明中允許或拒絕存取所有 IAM 使用者和角色 AWS 帳戶 字串
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:KeyOrigin 根據作業建立或在作業中使用的 AWS KMS 金鑰的 Origin 屬性,篩選對 API 作業的存取。使用它來限定 CreateKey 作業的授權或授權 KMS 金鑰的任何作業 字串
kms:KeySpec 根據作業所建立或在作業中使用的 AWS KMS 金鑰 KeySpec 屬性,篩選對 API 作業的存取。使用它來限定 CreateKey 作業的授權或授權 KMS 金鑰資源的任何作業 字串
kms:KeyUsage 根據作業建立或在作業中使用的 AWS KMS 金鑰 KeyUsage 屬性,篩選對 API 作業的存取。使用它來限定 CreateKey 作業的授權或授權 KMS 金鑰資源的任何作業 字串
kms:MacAlgorithm 根據請求中的 MacAlgorithm 參數篩選對 GenerateMac 和 VerifyMac 作業的存取 字串
kms:MessageType 根據請求中的 MessageType 參數值篩選對「簽署」和「驗證」作業的存取 字串
kms:MultiRegion 根據作業建立或在作業中使用的 AWS KMS 金鑰 MultiRegion 屬性,篩選對 API 作業的存取。使用它來限定 CreateKey 作業的授權或授權 KMS 金鑰資源的任何作業 Bool
kms:MultiRegionKeyType 根據作業建立或在作業中使用的 AWS KMS 金鑰 MultiRegionKeyType 屬性,篩選對 API 作業的存取。使用它來限定 CreateKey 作業的授權或授權 KMS 金鑰資源的任何作業 字串
kms:PrimaryRegion 根據請求中的 PrimaryRegion 參數值過濾對 UpdatePrimaryRegion 操作的訪問 字串
kms:ReEncryptOnSameKey 篩選作業使用與加密 ReEncrypt 作業相同的 AWS KMS 金鑰時對該作業的存取 Bool
kms:RecipientAttestation:ImageSha384 根據請求中驗證文件中的影像雜湊篩選對解密 GenerateDataKey、和 GenerateRandom 作業的存取 字串
kms:RecipientAttestation:PCR 根據請求的驗證文件中的平台組態登錄 (PCR) 篩選對解密 GenerateDataKey、和 GenerateRandom 作業的存取 字串
kms:ReplicaRegion 根據請求中的 ReplicaRegion 參數值過濾對 ReplicateKey 操作的訪問 字串
kms:RequestAlias 篩選密碼編譯作業的存取 DescribeKey,並 GetPublicKey 根據要求中的別名 字串
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 操作的訪問 字串