【问题标题】:Security group egress rule to only permit ECR requests仅允许 ECR 请求的安全组出口规则
【发布时间】:2019-04-10 23:09:18
【问题描述】:

使用 ECR 存储容器映像以供 ECS 使用时,EC2 实例(或 Fargate 服务)必须具有允许(通过公共互联网)访问帐户特定存储库 URI 的安全组。

许多组织都有严格的 IP 白名单规则,通常不允许为所有 IP 启用出站端口 443。

没有可用于 ECR 的 VPC 端点接口/网关,并且可能与大多数 AWS 服务一样,它的 IP 地址是弹性的,并且可以随时更改。

那么,如何向安全组添加出口规则,允许通过端口 443 对 ECR URI 进行出站访问,而不向所有 IP 地址开放?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-ecs amazon-vpc amazon-ecr


    【解决方案1】:

    虽然端点的 IP 地址可以更改,但它只会更改为相当大的 CIDR 块中的另一个 IP 地址。亚马逊将其所有 IP 地址范围发布在 .json 文件中,可在此处获取:

    https://aws.amazon.com/blogs/aws/aws-ip-ranges-json/

    您可以将其缩小到您部署到的区域中 EC2 和 AMAZON 服务的 IP 地址范围。虽然范围相当大。

    【讨论】:

    • 谢谢!我将编写一个 lambda,它会根据这些范围定期更新 SG。不完美,但总比完全开放端口好。
    【解决方案2】:

    打开 DNS (UDP) 53 for 0.0.0.0/0HTTPS 443 for 0.0.0.0/0

    【讨论】:

    • 谢谢,但这会打开端口 53 和 443 上的所有流量,这违反了我们的安全策略。
    • 我建议遵循“最小特权”原则,例如不要在全球范围内打开您的组件 - 仅对已知组件打开它。
    【解决方案3】:

    您可以使用 AWS PrivateLink 来实现这一点;见Amazon ECR interface VPC endpoints (AWS PrivateLink)

    【讨论】:

      猜你喜欢
      • 2019-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      • 1970-01-01
      • 2015-03-25
      • 2015-10-08
      • 2018-10-01
      相关资源
      最近更新 更多