【问题标题】:How to reference SSM parameter in another template如何在另一个模板中引用 SSM 参数
【发布时间】:2021-11-27 01:34:26
【问题描述】:

如果在云形成中定义一个 SSM 参数,则使用这样的模板

  KinesisStreamARNParameter:
    Type: AWS::SSM::Parameter
    Properties:
      Name: !Sub "/${Environment}/Services/${Domain}/kinesis_stream_arn"
      Type: String
      Value: !GetAtt KinesisStream.Arn

如何在定义角色的不同模板文件中使用?我如何在政策资源下引用它?

KinesisFirehoseRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: 2012-10-17
        Statement:
          - Effect: Allow
            Principal:
              Service: firehose.amazonaws.com
            Action: sts:AssumeRole
      Path: /
      Policies:
        - PolicyName: KinesisFirehosePolicy
          PolicyDocument:
            Version: 2012-10-17
            Statement:
              - Effect: Allow
                Action:
                  - kinesis:*
                  - s3:*
                  - s3-object-lambda:*
                Resource:
                  - !Sub "${Bucket.Arn}/*"

【问题讨论】:

  • 你想过在 SSM 中使用参数存储吗?

标签: amazon-web-services amazon-cloudformation aws-parameter-store


【解决方案1】:

一般有两种选择:

  1. Export 在输出中你的KinesisStreamARNParameter 的arn。然后使用ImportValue 引用它作为您的第二个模板。

  2. 将 arn 作为输入参数传递给您的第二个模板。这将要求您在部署第二个模板时手动提供该值,或者创建一些自动化包装器,以便在部署之前为您填充该值。

【讨论】:

  • UPDATE_ROLLBACK_IN_PROGRESS with reason: No export named sandbox06-ODM-KinesisStreamArn found 失败。我可以在 CloudFormation 控制台中看到以该名称列出的导出
  • @AntarrByrd 您的问题没有提供如何导出和导入值的详细信息。你可以用这样的细节提出新问题,因为这是一个相当新的问题。
  • 新问题是here
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
  • 2020-05-01
  • 2021-12-21
  • 1970-01-01
  • 2021-11-26
  • 1970-01-01
相关资源
最近更新 更多