Copyright | (c) 2013-2021 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay+amazonka@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Attaches a key policy to the specified KMS key.
For more information about key policies, see Key Policies in the Key Management Service Developer Guide. For help writing and formatting a JSON policy document, see the IAM JSON Policy Reference in the /Identity and Access Management User Guide/ . For examples of adding a key policy in multiple programming languages, see Setting a key policy in the Key Management Service Developer Guide.
Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.
Required permissions: kms:PutKeyPolicy (key policy)
Related operations: GetKeyPolicy
Synopsis
- data PutKeyPolicy = PutKeyPolicy' {}
- newPutKeyPolicy :: Text -> Text -> Text -> PutKeyPolicy
- putKeyPolicy_bypassPolicyLockoutSafetyCheck :: Lens' PutKeyPolicy (Maybe Bool)
- putKeyPolicy_keyId :: Lens' PutKeyPolicy Text
- putKeyPolicy_policyName :: Lens' PutKeyPolicy Text
- putKeyPolicy_policy :: Lens' PutKeyPolicy Text
- data PutKeyPolicyResponse = PutKeyPolicyResponse' {
- newPutKeyPolicyResponse :: PutKeyPolicyResponse
Creating a Request
data PutKeyPolicy Source #
See: newPutKeyPolicy
smart constructor.
PutKeyPolicy' | |
|
Instances
:: Text | |
-> Text | |
-> Text | |
-> PutKeyPolicy |
Create a value of PutKeyPolicy
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:bypassPolicyLockoutSafetyCheck:PutKeyPolicy'
, putKeyPolicy_bypassPolicyLockoutSafetyCheck
- A flag to indicate whether to bypass the key policy lockout safety
check.
Setting this value to true increases the risk that the KMS key becomes unmanageable. Do not set this value to true indiscriminately.
For more information, refer to the scenario in the Default Key Policy section in the Key Management Service Developer Guide.
Use this parameter only when you intend to prevent the principal that is
making the request from making a subsequent PutKeyPolicy
request on
the KMS key.
The default value is false.
$sel:keyId:PutKeyPolicy'
, putKeyPolicy_keyId
- Sets the key policy on the specified KMS key.
Specify the key ID or key ARN of the KMS key.
For example:
- Key ID:
1234abcd-12ab-34cd-56ef-1234567890ab
- Key ARN:
arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.
$sel:policyName:PutKeyPolicy'
, putKeyPolicy_policyName
- The name of the key policy. The only valid value is default
.
$sel:policy:PutKeyPolicy'
, putKeyPolicy_policy
- The key policy to attach to the KMS key.
The key policy must meet the following criteria:
- If you don't set
BypassPolicyLockoutSafetyCheck
to true, the key policy must allow the principal that is making thePutKeyPolicy
request to make a subsequentPutKeyPolicy
request on the KMS key. This reduces the risk that the KMS key becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section of the Key Management Service Developer Guide. - 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 (for example, an IAM user or role), 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/.
The key policy cannot exceed 32 kilobytes (32768 bytes). For more information, see Resource Quotas in the Key Management Service Developer Guide.
Request Lenses
putKeyPolicy_bypassPolicyLockoutSafetyCheck :: Lens' PutKeyPolicy (Maybe Bool) Source #
A flag to indicate whether to bypass the key policy lockout safety check.
Setting this value to true increases the risk that the KMS key becomes unmanageable. Do not set this value to true indiscriminately.
For more information, refer to the scenario in the Default Key Policy section in the Key Management Service Developer Guide.
Use this parameter only when you intend to prevent the principal that is
making the request from making a subsequent PutKeyPolicy
request on
the KMS key.
The default value is false.
putKeyPolicy_keyId :: Lens' PutKeyPolicy Text Source #
Sets the key policy on the specified KMS key.
Specify the key ID or key ARN of the KMS key.
For example:
- Key ID:
1234abcd-12ab-34cd-56ef-1234567890ab
- Key ARN:
arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.
putKeyPolicy_policyName :: Lens' PutKeyPolicy Text Source #
The name of the key policy. The only valid value is default
.
putKeyPolicy_policy :: Lens' PutKeyPolicy Text Source #
The key policy to attach to the KMS key.
The key policy must meet the following criteria:
- If you don't set
BypassPolicyLockoutSafetyCheck
to true, the key policy must allow the principal that is making thePutKeyPolicy
request to make a subsequentPutKeyPolicy
request on the KMS key. This reduces the risk that the KMS key becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section of the Key Management Service Developer Guide. - 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 (for example, an IAM user or role), 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/.
The key policy cannot exceed 32 kilobytes (32768 bytes). For more information, see Resource Quotas in the Key Management Service Developer Guide.
Destructuring the Response
data PutKeyPolicyResponse Source #
See: newPutKeyPolicyResponse
smart constructor.
Instances
Eq PutKeyPolicyResponse Source # | |
Defined in Amazonka.KMS.PutKeyPolicy (==) :: PutKeyPolicyResponse -> PutKeyPolicyResponse -> Bool # (/=) :: PutKeyPolicyResponse -> PutKeyPolicyResponse -> Bool # | |
Read PutKeyPolicyResponse Source # | |
Defined in Amazonka.KMS.PutKeyPolicy | |
Show PutKeyPolicyResponse Source # | |
Defined in Amazonka.KMS.PutKeyPolicy showsPrec :: Int -> PutKeyPolicyResponse -> ShowS # show :: PutKeyPolicyResponse -> String # showList :: [PutKeyPolicyResponse] -> ShowS # | |
Generic PutKeyPolicyResponse Source # | |
Defined in Amazonka.KMS.PutKeyPolicy type Rep PutKeyPolicyResponse :: Type -> Type # from :: PutKeyPolicyResponse -> Rep PutKeyPolicyResponse x # to :: Rep PutKeyPolicyResponse x -> PutKeyPolicyResponse # | |
NFData PutKeyPolicyResponse Source # | |
Defined in Amazonka.KMS.PutKeyPolicy rnf :: PutKeyPolicyResponse -> () # | |
type Rep PutKeyPolicyResponse Source # | |
newPutKeyPolicyResponse :: PutKeyPolicyResponse Source #
Create a value of PutKeyPolicyResponse
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.