首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何添加引用另一个安全组的规则?

如何添加引用另一个安全组的规则?
EN

Stack Overflow用户
提问于 2017-04-27 22:48:22
回答 3查看 6.2K关注 0票数 2

我在yaml模板中有以下安全组。我希望"SecurityGroupApplication“安全组允许来自"SecurityGroupBastion”的传入连接。然而,aws客户端的验证-模板函数告诉我像“不支持的结构”这样的无用信息。好的,但是这个结构有什么问题?想法?

代码语言:javascript
复制
Resources:
  SecurityGroupBastion:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Bastion security group
      SecurityGroupIngress:
        - CidrIp: 0.0.0.0/0
          IpProtocol: tcp
          FromPort: 22
          ToPort: 22
      VpcId: !Ref vpcId
  SecurityGroupApplication:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Application security group
      SecurityGroupIngress:
        - SourceSecurityGroupId: !Ref SecurityGroupBastion
          IpProtocol: tcp
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-28 01:48:21

您的模板非常适合我,只是我必须为指定端口:

代码语言:javascript
复制
Resources:
  SecurityGroupBastion:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Bastion security group
      SecurityGroupIngress:
        - CidrIp: 0.0.0.0/0
          IpProtocol: tcp
          FromPort: 22
          ToPort: 22
      VpcId: vpc-abcd1234
  SecurityGroupApplication:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Application security group
      SecurityGroupIngress:
        - SourceSecurityGroupId: !Ref SecurityGroupBastion
          IpProtocol: tcp
          FromPort: 22
          ToPort: 22
票数 4
EN

Stack Overflow用户

发布于 2017-04-27 23:03:33

如果您希望SecurityGroupApplication是一个安全组,那么您应该使用Type: AWS::EC2::SecurityGroup而不是Type: AWS::EC2::SecurityGroupIngress。这可能是您所看到的“不支持的结构”错误的原因。

票数 1
EN

Stack Overflow用户

发布于 2022-02-21 21:25:20

如果有人陷入了这个老问题,现在有一种方法可以在cloudformation中引用跨帐户SG,所以如果您想添加指向另一个AWS帐户的SG入口规则,只需添加键SourceSecurityGroupOwnerIdaccount ID即可。

代码语言:javascript
复制
AWSTemplateFormatVersion: 2010-09-09
Resources:
  TargetSG:
    Type: 'AWS::EC2::SecurityGroup'
    Properties:
      VpcId: vpc-1a2b3c4d
      GroupDescription: Security group allowing ingress for security scanners
  InboundRule:
    Type: 'AWS::EC2::SecurityGroupIngress'
    Properties:
      GroupId: !GetAtt TargetSG.GroupId
      IpProtocol: tcp
      FromPort: 80
      ToPort: 80
      SourceSecurityGroupId: sg-12345678 # SG in the other AWS account
      SourceSecurityGroupOwnerId: '123456789012' # Account ID
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43669106

复制
相关文章

相似问题

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