我想拒绝访问具有"MyInstance"值的"Type"标签的ec2。
我有分配了 EC2FullAccess 策略的 Josh 用户。 我用这样的规则创建了策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "ec2:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"ec2:ResourceTag/Type": "MyInstance"
}
}
}
]
}
并将此策略分配给 Josh 用户。但是 Josh 仍然可以访问带有 Type:MyInstance 标签的实例。
另外,我试图拒绝描述实例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:*",
"Resource": "*",
},
{
"Effect": "Deny",
"Action": "ec2:Describe*",
"Resource": "*",
"Condition": {
"StringEquals": {
"ec2:ResourceTag/Type": "MyInstance"
}
}
}
]
}
但是,没有成功。你能帮我解决这样的限制吗?谢谢。
您请求的内容是不可能的。
允许或拒绝DescribeInstances()
呼叫。如果允许,将返回有关所有实例的信息。
Amazon EC2 的操作、资源和条件键 - AWS 身份和访问管理页面未显示 API 调用的任何条件,因此无法制定仅允许指定了某些筛选条件/实例 ID 的请求的策略。
ec2:ResourceTag
条件只能用于该页面上显示的 API 调用,并在"条件"列中提及ec2:ResourceTag
。
如果您希望以这种方式隔离信息,则需要使用单独的 AWS 账户,或者需要创建一个"信息层",该层可以应用详细规则并代表您的用户进行信息 API 调用,仅中继回允许的信息。