首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >引用GroupName中的CloudFormation

引用GroupName中的CloudFormation
EN

Stack Overflow用户
提问于 2018-06-17 20:04:11
回答 2查看 1.1K关注 0票数 0

在具有资源的CFT中,引用变量组名称的IAM策略中的"GroupNamed“

代码语言:javascript
复制
 GroupNamed:
  Type: "AWS::IAM::Group"
  Properties:
  GroupName: xyz

 ...

 Effect: Allow
 Action: iam:AddUserToGroup
 Resource: !Sub arn:aws:iam::${AWS::AccountId}:group/GroupNamed

如何参数化组名?

以下是我的尝试,但抛出错误的政策。

1.

代码语言:javascript
复制
Resource: !Join ["", ['arn:aws:iam::',!Sub ${AWS::AccountId}, ':group/',!Ref GroupNamed]]

2.

代码语言:javascript
复制
Resource: !Join ["", ['arn:aws:iam::', !Ref AWS::AccountId, ':group/', !Ref GroupNamed]]

3.

代码语言:javascript
复制
Resource:
             Fn::Join:
             - ''
             - - 'arn:aws:iam::'
               - Fn::Sub: "${AWS::AccountId}"
               - ":group/"
               - Fn::Ref: GroupNamed

错误:模板验证错误:遇到不支持的函数:Fn:Base64 64,Fn::GetAtt,Fn:GetAZs,Fn::ImportValue,Fn:Join,Fn:Split,Fn:FindInMap,Fn:Select,Ref,Fn:Equals,Fn:If,Fn::Not,条件:Fn:Or,Fn::Contains,Fn::EachMemberEquals,Fn:EachMember,Fn::EachMemberIn,Fn:ValueOfAll,:Fn::Cidr

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-17 23:48:30

AWS::IAM::组文档说,ARN是通过GetAtt提供的。

例如,这将输出该组的ARN:

代码语言:javascript
复制
---
AWSTemplateFormatVersion: 2010-09-09
Description: CloudFormation template for creating lab resources.

Resources:

  GroupNamed:
    Type: "AWS::IAM::Group"
    Properties:
      GroupName: xyz

Outputs:
  GroupARN:
    Value: !GetAtt GroupNamed.Arn

输出是:arn:aws:iam::123456789012:group/xyz

因此,您可以只使用:

代码语言:javascript
复制
Resource: !GetAtt GroupNamed.Arn
票数 2
EN

Stack Overflow用户

发布于 2018-06-17 21:07:46

假设您要向您的堆栈传递一个名为GroupName的参数。

资源:!subarn:aws:iam::${AWS::AccountId}:group/${GroupName}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50900045

复制
相关文章

相似问题

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