微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWS cloudformation 中的公钥创建给出以下错误:提供无效请求:AWS::CloudFront::PublicKey

如何解决AWS cloudformation 中的公钥创建给出以下错误:提供无效请求:AWS::CloudFront::PublicKey

我有以下 Cloudformation 模板(.yml 文件),我在其中创建要添加到密钥组的公钥,也是在同一模板中创建的。 (以下公钥仅用于示例目的。)

AWstemplateFormatVersion: "2010-09-09"
Resources:
  CloudfrontPublicKey:
    Type: AWS::CloudFront::PublicKey
    Properties:
      PublicKeyConfig:
        CallerReference: 'some-caller-reference'
        Comment: 'Public key for signed url'
        Name: 'cloudfront-public-key'
        EncodedKey: '-----BEGIN PUBLIC KEY-----aaaabbbb-----END PUBLIC KEY-----'
  CloudFrontKeyGroup:
    Type: AWS::CloudFront::KeyGroup
    Properties:
      KeyGroupConfig:
        Comment: 'Key group for signed url'
        Items:
          - !Ref CloudfrontPublicKey
        Name: 'cloudfront-key-group'

但是,我收到与公钥相关的以下错误

  Invalid request provided: AWS::CloudFront::PublicKey

原来的公钥是多行的,例如:

-----BEGIN PUBLIC KEY-----
aaaa
bbbb
-----END PUBLIC KEY-----

我尝试通过添加新行字符使其适合单行

-----BEGIN PUBLIC KEY-----\naaaa\nbbbb\n-----END PUBLIC KEY-----

我也试过没有换行符

-----BEGIN PUBLIC KEY-----aaaabbbb-----END PUBLIC KEY-----

两次尝试都没有成功,我仍然遇到同样的错误

解决方法

通常,您可以在 yaml 中使用多行字符串来处理这种情况。因此,您可以尝试以下版本的模板:

AWSTemplateFormatVersion: "2010-09-09"
Resources:
  CloudfrontPublicKey:
    Type: AWS::CloudFront::PublicKey
    Properties:
      PublicKeyConfig:
        CallerReference: 'some-caller-reference'
        Comment: 'Public key for signed url'
        Name: 'cloudfront-public-key'
        EncodedKey: |
          -----BEGIN PUBLIC KEY-----
          aaaa
          bbbb
          -----END PUBLIC KEY-----

  CloudFrontKeyGroup:
    Type: AWS::CloudFront::KeyGroup
    Properties:
      KeyGroupConfig:
        Comment: 'Key group for signed url'
        Items:
          - !Ref CloudfrontPublicKey
        Name: 'cloudfront-key-group'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。