如何为 运行 EC2 实例分配新权限
How to assign a new permission to a running EC2 instance
我正在使用 EC2 执行一些测试,我想将权限限制在一个已经 运行 的实例上,以仅描述其他实例(例如,如果它请求创建一个新实例,那请求应该被拒绝)。
我使用以下策略创建了一个 IAM 角色:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeImages",
"ec2:DescribeKeyPairs",
"ec2:DescribeSecurityGroups",
"ec2:DescribeAvailabilityZones",
"ec2:RunInstances",
"ec2:TerminateInstances",
"ec2:StopInstances",
"ec2:StartInstances"
],
"Resource": "*"
}
]
}
这理论上应该阻止我在登录已经 运行 实例时创建新实例,但它不会(我正在使用 boto
库进行测试,ec2.run_instances()
).
如有任何帮助,我们将不胜感激。
附加到 IAM 实例角色的策略仅影响使用实例角色凭据发出的请求。它对使用其他凭据(例如 IAM 用户的访问密钥 ID 和机密)发出的请求没有任何影响,即使请求来自实例上的代码 运行。
在这种情况下,如果存在意外权限,可能的解释是实例上存储了另一组凭据,而代码正在使用这些凭据,而开发人员却没有意识到。
这或许很好地说明了为什么最好的做法是 仅 在 EC2 上的代码 运行 中使用角色凭据,而不存储其他凭据在实例上。
我正在使用 EC2 执行一些测试,我想将权限限制在一个已经 运行 的实例上,以仅描述其他实例(例如,如果它请求创建一个新实例,那请求应该被拒绝)。
我使用以下策略创建了一个 IAM 角色:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeImages",
"ec2:DescribeKeyPairs",
"ec2:DescribeSecurityGroups",
"ec2:DescribeAvailabilityZones",
"ec2:RunInstances",
"ec2:TerminateInstances",
"ec2:StopInstances",
"ec2:StartInstances"
],
"Resource": "*"
}
]
}
这理论上应该阻止我在登录已经 运行 实例时创建新实例,但它不会(我正在使用 boto
库进行测试,ec2.run_instances()
).
如有任何帮助,我们将不胜感激。
附加到 IAM 实例角色的策略仅影响使用实例角色凭据发出的请求。它对使用其他凭据(例如 IAM 用户的访问密钥 ID 和机密)发出的请求没有任何影响,即使请求来自实例上的代码 运行。
在这种情况下,如果存在意外权限,可能的解释是实例上存储了另一组凭据,而代码正在使用这些凭据,而开发人员却没有意识到。
这或许很好地说明了为什么最好的做法是 仅 在 EC2 上的代码 运行 中使用角色凭据,而不存储其他凭据在实例上。