如何编写AWS策略检测EC2是否关联Elastic IP并保护带EIP实例
编写AWS IAM策略保护关联Elastic IP的EC2实例
要实现仅允许终止**未关联Elastic IP(EIP)**的EC2实例,从而保护绑定了EIP的实例,你可以通过检查实例网络接口的公网IP关联状态来实现——AWS IAM没有直接的ec2:ElasticIpAssociated条件键,但可以利用实例的网络接口属性替代。
以下是符合需求的有效策略:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowTerminateOnlyUnassociatedInstances", "Effect": "Allow", "Action": "ec2:TerminateInstances", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "ForAllValues:Null": { "ec2:InstanceNetworkInterfaceAssociationPublicIp": "true" } } } ] }
策略说明
- 资源范围:明确指定EC2实例资源(
arn:aws:ec2:*:*:instance/*),遵循IAM最小权限原则,避免过度授权。 - 条件逻辑:使用
ForAllValues:Null确保实例的所有网络接口都未关联公网IP(即未绑定EIP)。只要实例有任意一个网络接口绑定了EIP,该条件就不满足,终止操作会被拒绝。 - 作用:仅允许用户终止那些没有绑定EIP的实例,自动保护所有关联了EIP的EC2实例不被误终止。
内容的提问来源于stack exchange,提问作者Buh Buh
相关产品推荐
相关产品推荐

