首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用cloudformation生成AWS字符串条件

如何使用cloudformation生成AWS字符串条件
EN

Stack Overflow用户
提问于 2022-04-04 16:15:46
回答 1查看 196关注 0票数 -1

我有下面的代码,但是不能用StringEquals获得end部分来打印正确的值,运行cloudformation。

代码语言:javascript
复制
Parameters:
  OpenIDClientIdList:
    Type: String
    Description: Open ID client ID 
    Default: urn:dev.aws.services.xxxxx.com

  OpenIDURL:
    Type: String
    Description: Open ID URL
    Default: "sts.windows.net/dddddd-rr444-ssss-94c3-7484898492d/"

Resources:
  OpenIDCAssumeReadOnlyRole:
    Type: AWS::IAM::Role
    Properties:
      RoleName: OpenIDCAssumeReadOnlyRole
      ManagedPolicyArns: [arn:aws:iam::aws:policy/ReadOnlyAccess]
      AssumeRolePolicyDocument:
        Statement:
        - Effect: Allow
          Principal:
            Federated: !Sub arn:aws:iam::${AWS::AccountId}:oidc-provider/${OpenIDURL}
          Action: sts:AssumeRoleWithWebIdentity
          Condition:
            StringEquals: !Sub
              - ''
              - - '${OpenIDURL}:aud:'
                - '${OpenIDClientIdList}'

期望条件字符串值

代码语言:javascript
复制
         "Action": "sts:AssumeRoleWithWebIdentity",
            "Condition": {
                "StringEquals": {
                    "sts.windows.net/dddddd-rr444-ssss-94c3-7484898492d/:aud": "urn:dev.aws.services.xxxxx.com"
                }
            }
EN

回答 1

Stack Overflow用户

发布于 2022-04-04 16:32:59

您没有正确地使用!Sub。情况应该是这样的:

代码语言:javascript
复制
Condition:
  StringEquals: 
    Fn::Base64: !Sub
    - |
      "${OPENIDURL}:aud": "${OPENIDCLIENTIDLIST}"
    - OPENIDURL: !Ref OpenIDURL
      OPENIDCLIENTIDLIST: !Ref OpenIDClientIdList
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71740483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档