The CDK Construct Library for AWS::CertificateManager
Project description
AWS Certificate Manager Construct Library
This package provides Constructs for provisioning and referencing certificates which can be used in CloudFront and ELB.
DNS-validated certificates
The DnsValidatedCertificateRequest
class provides a Custom Resource by which
you can request a TLS certificate from AWS Certificate Manager that is
automatically validated using a cryptographically secure DNS record. For this to
work, there must be a Route 53 public zone that is responsible for serving
records under the Domain Name of the requested certificate. For example, if you
request a certificate for www.example.com
, there must be a Route 53 public
zone example.com
that provides authoritative records for the domain.
Example
import { HostedZoneProvider } from '@aws-cdk/aws-route53';
import { DnsValidatedCertificate } from '@aws-cdk/aws-certificatemanager';
const hostedZone = new HostedZoneProvider(this, {
domainName: 'example.com',
privateZone: false
}).findAndImport(this, 'ExampleDotCom');
const certificate = new DnsValidatedCertificate(this, 'TestCertificate', {
domainName: 'test.example.com',
hostedZone: hostedZone
});
Email validation
Otherwise, if certificates are created as part of a CloudFormation run, the CloudFormation provisioning will not complete until domain ownership for the certificate is completed. For email validation, this involves receiving an email on one of a number of predefined domains and following the instructions in the email. The email addresses use will be:
- admin@domain.com
- administrator@domain.com
- hostmaster@domain.com
- postmaster@domain.com
- webmaster@domain.com
Because of these blocks, it's probably better to provision your certificates either in a separate stack from your main service, or provision them manually. In both cases, you'll import the certificate into your stack afterwards.
Example
Provision a new certificate by creating an instance of Certificate
. Email validation will be sent
to example.com
:
const certificate = new Certificate(this, 'Certificate', {
domainName: 'test.example.com'
});
Importing
Import a certificate manually, if you know the ARN:
const certificate = Certificate.import(this, 'Certificate', {
certificteArn: "arn:aws:..."
});
Sharing between Stacks
To share the certificate between stacks in the same CDK application, simply
pass the Certificate
object between the stacks.
TODO
- Custom Resource that can look up the certificate ARN by domain name by querying ACM.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for aws-cdk.aws-certificatemanager-0.32.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba557e4cbcf2a31f6678602a3467cc286229ceac7e9ff5dc7c045e25062e0afb |
|
MD5 | b3212d68b93ee4caa396386ca2497afc |
|
BLAKE2b-256 | 04736268a3d4472e66dc249b6f6dded76e3c275a0e87b7fe1d9a566dbcbd5940 |
Hashes for aws_cdk.aws_certificatemanager-0.32.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ef48c149ba10129589f5643a41ba62848283da54f27db8520f6f893cfbb5669 |
|
MD5 | 9bcd03866266d40e284474de66d818c0 |
|
BLAKE2b-256 | df3cf4080a2b4d428e4078f38e9c40dc45084f415cd61663704c085955ebb734 |