gpt4 book ai didi

amazon-web-services - aws 组织 SCP 策略拒绝任何具有公共(public) IP 的 VPC 中的任何 ec2 实例

转载 作者:行者123 更新时间:2023-12-01 23:10:25 31 4
gpt4 key购买 nike

根据公司合规政策,我正在寻找解决方案来阻止客户端(100 多个 aws 帐户)使用公共(public) IP 创建 ec2 实例或在创建后尝试在其上附加弹性 IP。

我正在考虑使用 AWS Organization SCP实现它,所以我不需要在个人帐户中设置它。但无法获得适当的 SCP 政策来执行此操作。

供您引用的 SCP 策略,我可以使用以下策略阻止 s3 公共(public)访问,我需要类似于 ec2 实例。

{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:PutAccountPublicAccessBlock"
],
"Resource": "*",
"Effect": "Deny"
}
]
}

理想情况下,使用适当的 SCP 策略,当客户端在他们的组织 OU 下的帐户中时,如果他们允许在其上使用公共(public) IP,他们将无法创建 ec2 实例,或者在创建 ec2 之后,当他们尝试附加弹性 IP 时, scp 应该阻止它。

更新

谢谢,@john

让我试试这个策略

{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:AssociateAddress"
],
"Resource": "*",
"Effect": "Deny"
}
]
}

更新 #2

上面的 scp 策略不起作用,我仍然可以使用公共(public) IP 创建新实例

最佳答案

最后我得到了 AWS 支持的帮助。

方向,@john targeting,部分正确,真正的scp政策如下

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": [
"ec2:RunInstances"
],
"Condition": {
"BoolIfExists": {
"ec2:AssociatePublicIpAddress": "true"
}
},
"Resource": "arn:aws:ec2:*:*:network-interface/*"
},
{
"Action": [
"ec2:AssociateAddress"
],
"Resource": "*",
"Effect": "Deny"
}
]
}

说明

  • 第一个语句阻止客户端使用公共(public) IP (aws ec2 run-instances --associate-public-ip-address xxxx) 创建新的 ec2 实例
  • 第二个语句阻止客户端将 EIP 附加到 ec2 实例。

更新

这个方案最终没有实现,因为太麻烦了。

特别是自动化IaC代码需要针对这种变化进行调整,比如Cloudformation、terraform、CDK等

我与 AWS CLI 分享了一个示例并解释了更改,您必须添加 --no-associate-public-ip-address

aws ec2 run-instances --image-id ami-0c9f90931dxxxx --count 1 --instance-type t3.micro \
--key-name bill-import-key --no-associate-public-ip-address --subnet-id subnet-0613b48exxxx

其次,当您从 aws 控制台创建 ec2 实例时,您必须在 Auto-assign Public IP 处选择 disableenter image description here

该解决方案仍然是保证整个组织的 aws 帐户中的 ec2 实例没有公共(public) IP 的唯一解决方案,但在组织中没有人喜欢它。

关于amazon-web-services - aws 组织 SCP 策略拒绝任何具有公共(public) IP 的 VPC 中的任何 ec2 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70027448/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com