我尝试为IAM用户创建一个策略,使用户能够分配和关联弹性IP。
但是问题是用户还能够重新关联另一个实例的已经存在的弹性IP。 在创建策略时是否有办法禁止这种重新关联?
以下是我已应用的政策
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Deny",
"Action": "ec2:DisassociateAddress",
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:AssociateAddress",
"ec2:DescribeAddresses",
"ec2:AllocateAddress"
],
"Resource": "*"
}
]
}
答案 0 :(得分:0)
您可以执行此操作,但是您必须执行一些IAM策略操作并使用标签来允许或拒绝现有资源访问。可能不是您希望的解决方案,但是您可以使用Name:EIP-Protection,Value = Yes这样的标签来标记现有资源。您可以将标签分配给EC2实例或EIP。
然后,您将IAM策略文档附加到用户/组/角色,该文档将有条件地拒绝或允许访问特定资源或具有该标记/值组合的资源。 查看AWS文档,此链接可能有助于您了解如何实现要求。 https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html
或者仅将策略添加到用户的IAM角色中
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "AllowAllButEC2",
"Effect": "Allow",
"NotAction": [
"ec2:DisassociateAddress",
"ec2:TerminateInstance"
],
"Resource": "*",
"Condition": {"StringNotEquals": {"aws:RequestedRegion": [
"us-east-1"
]}}
}]
}