create_key_signing_key
async
¶
create_key_signing_key(
caller_reference: Nonce,
hosted_zone_id: ResourceId,
key_management_service_arn: SigningKeyString,
name: SigningKeyName,
status: SigningKeyStatus,
*,
config_overrides: Optional[AsyncRoute53ClientConfig] = None,
) -> CreateKeySigningKeyResponse
Creates a new key-signing key (KSK) associated with a hosted zone. You can only have two KSKs per hosted zone.
Parameters:
-
caller_reference(Nonce) –A unique string that identifies the request.
-
hosted_zone_id(ResourceId) –The unique string (ID) used to identify a hosted zone.
-
key_management_service_arn(SigningKeyString) –The Amazon resource name (ARN) for a customer managed key in Key Management Service (KMS). The
KeyManagementServiceArnmust be unique for each key-signing key (KSK) in a single hosted zone. To see an example ofKeyManagementServiceArnthat grants the correct permissions for DNSSEC, scroll down to Example.You must configure the customer managed customer managed key as follows:
- Status
-
Enabled
- Key spec
-
ECC_NIST_P256
- Key usage
-
Sign and verify
- Key policy
-
The key policy must give permission for the following actions:
-
DescribeKey
-
GetPublicKey
-
Sign
The key policy must also include the Amazon Route 53 service in the principal for your account. Specify the following:
-
"Service": "dnssec-route53.amazonaws.com"
-
For more information about working with a customer managed key in KMS, see Key Management Service concepts.
-
name(SigningKeyName) –A string used to identify a key-signing key (KSK).
Namecan include numbers, letters, and underscores (_).Namemust be unique for each key-signing key in the same hosted zone. -
status(SigningKeyStatus) –A string specifying the initial status of the key-signing key (KSK). You can set the value to
ACTIVEorINACTIVE.
Raises:
-
ConcurrentModification–Another user submitted a request to create, update, or delete the object at the same time that you did. Retry the request.
-
InvalidArgument–Parameter name is not valid.
-
InvalidInput–The input is not valid.
-
InvalidKeySigningKeyName–The key-signing key (KSK) name that you specified isn't a valid name.
-
InvalidKeySigningKeyStatus–The key-signing key (KSK) status isn't valid or another KSK has the status
INTERNAL_FAILURE. -
InvalidKMSArn–The KeyManagementServiceArn that you specified isn't valid to use with DNSSEC signing.
-
InvalidSigningStatus–Your hosted zone status isn't valid for this operation. In the hosted zone, change the status to enable
DNSSECor disableDNSSEC. -
KeySigningKeyAlreadyExists–You've already created a key-signing key (KSK) with this name or with the same customer managed key ARN.
-
NoSuchHostedZone–No hosted zone exists with the ID that you specified.
-
TooManyKeySigningKeys–You've reached the limit for the number of key-signing keys (KSKs). Remove at least one KSK, and then try again.
-
UnknownServiceError–The service returned an error code this client does not model.