Key type reference
AWS KMS supports different features for different types of KMS keys. For example, you can only use symmetric encryption KMS keys to generate symmetric data keys and asymmetric data key pairs. Also, importing key material and automatic key rotation are supported only for symmetric encryption KMS keys, and you can create only symmetric encryption KMS keys in a custom key store.
This reference includes two tables.
-
The Key type table lists the AWS KMS operations that are valid for symmetric encryption KMS keys, asymmetric KMS keys, and HMAC KMS keys.
-
The Special features table lists the AWS KMS operations that are valid for multi-Region KMS keys, KMS keys with imported key material, and KMS keys in custom key stores.
Key type table
You might need to scroll horizontally or vertically to see all of the data in this table.
AWS KMS API operation | Symmetric encryption KMS keys | HMAC KMS keys | Asymmetric KMS keys (ENCRYPT_DECRYPT) | Asymmetric KMS keys (SIGN_VERIFY) | Asymmetric KMS keys (KEY_AGREEMENT) |
---|---|---|---|---|---|
Yes |
Yes |
Yes |
Yes | Yes | |
Yes | Yes | Yes | Yes | Yes | |
Yes |
Yes |
Yes |
Yes | Yes | |
Yes |
Yes |
Yes |
Yes |
Yes | |
Yes |
No |
Yes |
No | No | |
Yes |
Yes |
Yes |
Yes | Yes | |
Valid only on KMS keys with imported key material ( |
Yes |
Yes | Yes | Yes | Yes |
No | No | No | No | Yes | |
Yes |
Yes |
Yes |
Yes | Yes | |
Yes |
Yes |
Yes |
Yes | Yes | |
Yes
Valid only on KMS keys with AWS KMS key material ( |
No |
No |
No | No | |
Yes |
Yes |
Yes |
Yes | Yes | |
Yes Valid only on KMS keys with AWS KMS key material ( |
No |
No |
No | No | |
Yes |
No |
Yes |
No | No | |
Yes |
No |
No |
No | No | |
Generates an asymmetric data key pair that is protected by a symmetric encryption KMS key. |
Yes Not valid on KMS keys in custom key stores. |
No |
No |
No | No |
GenerateDataKeyPairWithoutPlaintext Generates an asymmetric data key pair that is protected by a symmetric encryption KMS key. |
Yes Not valid on KMS keys in custom key stores. |
No |
No |
No | No |
Yes |
No |
No |
No | No | |
GenerateMac | No | Yes | No | No | No |
Yes |
Yes |
Yes |
Yes | Yes | |
Yes |
Yes ( |
Yes ( |
Yes ( |
Yes ( |
|
Valid only on KMS keys with imported key material ( |
Yes |
Yes |
Yes |
Yes | Yes |
No |
No |
Yes |
Yes | Yes | |
Valid only on KMS keys with imported key material ( |
Yes |
Yes |
Yes |
Yes | Yes |
Yes |
Yes |
Yes |
Yes | Yes | |
Yes |
Yes |
Yes |
Yes | Yes | |
Yes |
Yes |
Yes |
Yes | Yes | |
Yes | Yes (The |
Yes (The |
Yes (The |
Yes (The |
|
Yes |
Yes |
Yes |
Yes | Yes | |
Yes |
Yes |
Yes |
Yes | Yes | |
Yes |
Yes |
Yes |
Yes | Yes | |
Yes |
No |
Yes |
No | No | |
- Valid only on multi-Region keys |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes | |
Yes |
Yes |
Yes |
Yes | Yes | |
Yes
Valid only on KMS keys with AWS KMS key material ( |
No | No | No | No | |
Yes |
Yes |
Yes |
Yes | Yes | |
No |
No |
No |
Yes | No | |
Yes |
Yes |
Yes |
Yes | Yes | |
Yes |
Yes |
Yes |
Yes | Yes | |
The current KMS key and the new KMS key must be the same type (both symmetric or both asymmetric or both HMAC) and they must have the same key usage. |
Yes | Yes |
Yes |
Yes | Yes |
Yes |
Yes |
Yes |
Yes | Yes | |
- Valid only on multi-Region keys |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
No |
No |
Yes | No | |
VerifyMac | No | Yes | No | No | No |
Special features table
This table shows the AWS KMS API operations that are supported on each type of special-purpose key.
While reading this table, be aware of the following interactions:
-
-
Multi-Region keys can be symmetric encryption KMS keys, asymmetric KMS keys, HMAC KMS keys, and KMS keys with imported key material.
-
You cannot create multi-Region keys in a custom key store.
-
-
-
You can import key material for symmetric encryption KMS keys, asymmetric KMS keys, and HMAC KMS keys.
-
You can create multi-Region keys with imported key material.
-
You cannot create keys with imported key material in a custom key store.
-
Automatic key rotation (
EnableKeyRotation
,DisableKeyRotation
) is not supported for KMS keys with imported key material.
-
-
-
Custom key stores support only symmetric encryption KMS keys.
-
Symmetric operations on asymmetric key pairs (
GenerateDataKeyPair
,GenerateDataKeyPairWithoutPlaintext
) are not supported on KMS keys in custom key stores. -
Automatic key rotation (
EnableKeyRotation
,DisableKeyRotation
) is not supported on KMS keys in custom key stores. -
You cannot create multi-Region keys in custom key stores.
-
You might need to scroll horizontally or vertically to see all of the data in this table.
AWS KMS API operation | Multi-Region keys | Imported key material | KMS keys in a custom key store |
---|---|---|---|
|
|
||
|
|
||
CreateKey
You can use |
|||
Valid only when |
|
||
|
|
||
Valid only for keys with imported key material ( |
|||
|
|
||
|
|
||
Valid only on symmetric encryption keys with AWS KMS key material
( |
|
||
Valid only on symmetric encryption KMS keys |
|
||
Valid only on symmetric encryption keys with AWS KMS key material
( |
|
||
Valid only when |
|
||
Valid only on symmetric encryption KMS keys |
|
||
Valid only on symmetric encryption KMS keys |
|
||
Valid only on symmetric encryption KMS keys |
|
||
Valid only on symmetric encryption KMS keys |
|
||
GenerateMac Valid only on HMAC KMS keys |
|||
|
|
||
|
( |
||
Valid only for keys with imported key material ( |
|
||
Valid only for asymmetric KMS keys. |
|
|
|
Valid only for keys with imported key material ( |
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
Valid only when |
|
||
Valid only on multi-Region primary keys. |
Valid only on multi-Region primary keys. |
|
|
|
|
||
|
|
||
|
|
||
Valid only on when |
|
|
|
|
|
||
|
|
||
- The current KMS key and the new KMS key must be the same type (both symmetric or both asymmetric or both HMAC) and they must have the same key usage. |
|
||
|
|
||
|
Valid only on multi-Region keys. |
|
|
Valid only when |
|
|
|
VerifyMac Valid only on HMAC KMS keys |