説明
ACMのDomainNameに*だけを指定することはできません。*.example.comのようなワイルドカードは利用できますが、対象は1階層のサブドメインだけで、example.com自体は含みません。
想定される影響
不正な名前では証明書の発行要求が失敗します。有効なワイルドカードでも、不必要に広い範囲を共有すると証明書の交換時の影響範囲が広がる場合があります。
対処方法
必要な完全一致のドメイン、または承認されたワイルドカード範囲を指定してください。DNS検証のドメインとホストゾーンも、証明書の要求に合わせてください。
例
不正な*をDomainName入力に置き換える例です。api.example.comは説明用です。管理するドメインと、その公開Route 53ゾーンのHostedZoneIdを入力してください。
変更前
yaml
AWSTemplateFormatVersion: '2010-09-09'
Parameters:
DomainName:
Description: "証明書を要求するドメイン"
Type: String
Default: api.example.com
HostedZoneId:
Description: "DNS検証レコードを追加する公開ホストゾーンID"
Type: String
Resources:
Certificate:
Type: AWS::CertificateManager::Certificate
Properties:
DomainName: "*"
DomainValidationOptions:
- DomainName: !Ref DomainName
HostedZoneId: !Ref HostedZoneId
ValidationMethod: DNS
変更後
yaml
AWSTemplateFormatVersion: '2010-09-09'
Parameters:
DomainName:
Description: "証明書を要求するドメイン"
Type: String
Default: api.example.com
HostedZoneId:
Description: "DNS検証レコードを追加する公開ホストゾーンID"
Type: String
Resources:
Certificate:
Type: AWS::CertificateManager::Certificate
Properties:
DomainName: !Ref DomainName
DomainValidationOptions:
- DomainName: !Ref DomainName
HostedZoneId: !Ref HostedZoneId
ValidationMethod: DNS