对流层云信息dns验证证书资源

troposphere-dns-certificate的Python项目详细描述


Cloudformation DNS验证的证书资源

cloudformation aws::certificatemanager::证书资源只能创建经过电子邮件验证的证书。

这是一个cloudformation自定义资源,它还可以为使用 以53号公路为主体的区域。它还可以在堆栈区域以外的区域创建证书。

用法

要使用此自定义资源,请复制customacmcertificatelambda和customacmcertificatelambdaexecutionrole资源 进入你的模板。然后可以创建类型为:custom::dnscertificate的证书资源

此资源也可用作对流层扩展,位于对流层dns证书包中

请记住将servicetoken属性添加到引用customacmcertificatelambda arn的资源中。 颁发证书可能需要30分钟,但通常需要3分钟。证书资源保持为 在颁发证书之前,正在创建证书。

与AWS::CertificateManager::Certificate的区别

它的行为应该类似于aws::certificatemanager::certificate, 除了这里描述的不同之处。

当使用'dns'作为validationmethod时,需要domainvalidation属性,并且domainvalidationoption 需要hostedzoneid而不是validationdomain。hostedzoneid应该是创建dns验证的区域 中的记录。您还可以指定一个route53rolearn,这是在创建DNS验证记录之前要承担的角色。

可以使用附加的region属性设置要在中创建证书的区域。

证书资源

语法

Type:Custom::DNSCertificateProperties:DomainName:StringDomainValidationOptions:-DomainValidationOptionSubjectAlternativeNames:-StringTags:-Resource TagValidationMethod:StringRegion:StringServiceToken:!GetAtt'CustomAcmCertificateLambda.Arn'

属性

  • 域名

    要为其颁发证书的完全限定域名(fqdn)。使用星号作为通配符。

    • 必需:是
    • 类型:字符串
    • 更新需要:使用cfn updateing stacks update behaviors.html"update replacement" rel="nofollow">替换
  • 域验证选项

    用于验证域所有权的信息。对于域名和所有 SubjectAlternativeNames。父域的domainvalidationoption可用于具有相同hostedzoneid的名称。

    • 必需:是
    • 类型:域验证选项列表
    • 更新需要:使用cfn updateing stacks update behaviors.html"update replacement" rel="nofollow">替换
  • subjectalternativenames

    要包含在证书的使用者替代名称中的fqdns。

    • 必需:否
    • 类型:字符串值列表
    • 更新需要:使用cfn updateing stacks update behaviors.html"update replacement" rel="nofollow">替换
  • 标签

    此证书的标记

    • 必需:否
    • 类型:资源标记
    • 更新需要:使用cfn updateing stacks update behaviors.html;update no interrupt" rel="nofollow">不中断
  • 验证方法

    用于验证域所有权的方法。这应该是dns

    • 必需:否
    • 默认值:电子邮件
    • 类型:字符串
    • 更新需要:使用cfn updateing stacks update behaviors.html"update replacement" rel="nofollow">替换
  • 地区

    要在其中创建证书的区域。

    • 必需:否
    • 默认:堆栈的区域
    • 类型:字符串
    • 更新需要:使用cfn updateing stacks update behaviors.html"update replacement" rel="nofollow">替换

返回值

  • REF

    当 函数用于返回证书ARN的证书资源的逻辑ID。

域验证选项

语法

DomainName:StringHostedZoneId:StringRoute53RoleArn:String

属性

  • 域名

    验证请求的完全限定域名。

    • 必需:是
    • 类型:字符串
  • hostedzoneid

    要在中创建验证记录的路由53托管区域。

    • 必需:是
    • 类型:字符串
  • route53rolearn

    创建DNS验证记录时要承担的IAM角色的ARN。这可用于创建 另一个AWS帐户中的托管区域。

    • 必需:否
    • 类型:字符串

对流层

如果您使用的是对流层,则可以使用pip:

$ pip install troposphere_dns_certificate

然后,您可以从对流层证书导入证书资源。证书管理器而不是对流层证书管理器。

cloudformation.py是使用对流层创建带有证书资源的模板的示例。

如果不使用对流层,只需复制customacmcertificatelambda和customacmcertificatelambdaexecutionrole cloudformation.json或cloudformation.yaml文件中的资源。

示例

证书资源如下所示:

ExampleCertificate:Properties:DomainName:test.example.comValidationMethod:DNSDomainValidationOptions:-DomainName:test.example.comHostedZoneId:Z2KZ5YTUFZNC7HTags:-Key:NameValue:Example CertificateServiceToken:!GetAtt'CustomAcmCertificateLambda.Arn'Type:Custom::DNSCertificate

与aws::certificatemanager::certificate向ref函数提供资源的逻辑id一样,返回证书arn。

例如(在yaml中):!参考"示例证书"

subjectalternativenames

可以使用SubjectAlternativeNames属性将其他名称添加到证书中。

ExampleCertificate:Properties:DomainName:example.comSubjectAlternativeNames:-additional.example.com-another.example.comValidationMethod:DNSDomainValidationOptions:-DomainName:example.comHostedZoneId:Z2KZ5YTUFZNC7HTags:-Key:NameValue:Example CertificateServiceToken:!GetAtt'CustomAcmCertificateLambda.Arn'Type:Custom::DNSCertificate

多个托管区域

通过为每个托管区域添加domainvalidationoptions,可以使用多个托管区域的名称。 例如:

ExampleCertificate:Properties:DomainName:example.comSubjectAlternativeNames:-additional.example.orgValidationMethod:DNSDomainValidationOptions:-DomainName:example.comHostedZoneId:Z2KZ5YTUFZNC7H-DomainName:example.orgHostedZoneId:ZEJZ9DIN47IQNTags:-Key:NameValue:Example CertificateServiceToken:!GetAtt'CustomAcmCertificateLambda.Arn'Type:Custom::DNSCertificate

通配符

通配符可以正常使用。一个名称和所有子域的证书,例如:

ExampleCertificate:Properties:DomainName:example.comSubjectAlternativeNames:-*.example.comValidationMethod:DNSDomainValidationOptions:-DomainName:example.comHostedZoneId:Z2KZ5YTUFZNC7HTags:-Key:NameValue:Example CertificateServiceToken:!GetAtt'CustomAcmCertificateLambda.Arn'Type:Custom::DNSCertificate

指定区域

本例使用region属性在us-east-1中创建证书,以便与cloudfront一起使用:

ExampleCertificate:Properties:DomainName:example.comValidationMethod:DNSDomainValidationOptions:-DomainName:example.comHostedZoneId:Z2KZ5YTUFZNC7HRegion:us-east-1Tags:-Key:NameValue:Example CertificateServiceToken:!GetAtt'CustomAcmCertificateLambda.Arn'Type:Custom::DNSCertificate

承担创建路由53记录的角色

在某些情况下,拥有托管区域的帐户可能与在其中生成证书的帐户不同。 为了支持这一点,您可以指定域验证选项属性route53rolearn和角色arn 在创建证书验证所需的记录之前假设。

如果指定了顶级route53rolearn属性,则在验证不包含 route53rolearn域验证选项属性。

ExampleCertificate:Properties:DomainName:test.example.comValidationMethod:DNSDomainValidationOptions:-DomainName:test.example.comHostedZoneId:Z2KZ5YTUFZNC7HRoute53RoleArn:arn:aws:iam::TRUSTING-ACCOUNT-ID:role/ACMRecordCreationRoleTags:-Key:NameValue:Example CertificateServiceToken:!GetAtt'CustomAcmCertificateLambda.Arn'Type:Custom::DNSCertificate

此外,您还必须通过将此语句添加到customacmcertificatelambdaexecutionrole中来允许承担此角色:

Type:Custom::DNSCertificateProperties:DomainName:StringDomainValidationOptions:-DomainValidationOptionSubjectAlternativeNames:-StringTags:-Resource TagValidationMethod:StringRegion:StringServiceToken:!GetAtt'CustomAcmCertificateLambda.Arn'
0

如果使用对流层扩展,则会自动添加此语句。全CUStomacm证书lambdaeExecutionRole 对于本例,如下所示:

Type:Custom::DNSCertificateProperties:DomainName:StringDomainValidationOptions:-DomainValidationOptionSubjectAlternativeNames:-StringTags:-Resource TagValidationMethod:StringRegion:StringServiceToken:!GetAtt'CustomAcmCertificateLambda.Arn'
1

托管区域帐户中的iam角色将类似于:

Type:Custom::DNSCertificateProperties:DomainName:StringDomainValidationOptions:-DomainValidationOptionSubjectAlternativeNames:-StringTags:-Resource TagValidationMethod:StringRegion:StringServiceToken:!GetAtt'CustomAcmCertificateLambda.Arn'
2

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从Struts操作的钩子更改表单值(Liferay 6.2)   java如何改变Spring MVC处理url“点”字符的行为   Clojure中使用Java接口的问题   junit如何模拟comosDB azure java集成客户端?   运行函数时发生java错误   netbeans Java。jar文件和依赖项   Eclipse中文本字段中的java输入类型   在JAVA中,将集合变量从实时批处理运行时传递到调用批处理文件   java通过Bean验证API中的自定义消息管理异常   XML到json的转换,在Java中,同时保留数据类型   根据JAVA中的列名从Excel文件中获取单元格值   在AsyncTask的doInBackground中未调用java FirebaseMessagingService   java如何在数据库中插入一行?