policy
The key policy to attach to the KMS key.
If you provide a key policy, it must meet the following criteria:
The key policy must allow the calling principal to make a subsequent
PutKeyPolicy
request on the KMS key. This reduces the risk that the KMS key becomes unmanageable. For more information, see Default key policy in the Key Management Service Developer Guide. (To omit this condition, setBypassPolicyLockoutSafetyCheck
to true.)Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to KMS. When you create a new Amazon Web Services principal, you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to KMS. For more information, see Changes that I make are not always immediately visible in the Amazon Web Services Identity and Access Management User Guide.
If either of the required Resource
or Action
elements are missing from a key policy statement, the policy statement has no effect. When a key policy statement is missing one of these elements, the KMS console correctly reports an error, but the CreateKey
and PutKeyPolicy
API requests succeed, even though the policy statement is ineffective.
For more information on required key policy elements, see Elements in a key policy in the Key Management Service Developer Guide.
If you do not provide a key policy, KMS attaches a default key policy to the KMS key. For more information, see Default key policy in the Key Management Service Developer Guide.
If the key policy exceeds the length constraint, KMS returns a LimitExceededException
.
For help writing and formatting a JSON policy document, see the IAM JSON Policy Reference in the Identity and Access Management User Guide.