amazon-web-services - 用于限制 EC2 实例上的读取访问的 AWS IAM 策略
问题描述
我正在尝试创建 AWS IAM 策略来限制对 EC2 实例的读取访问。
目标:我在 AWS 中有许多 EC2 实例和许多不同的用户,我希望有一组用户只能看到特定的 EC2 实例,而不是全部。
有没有可能这样做?
我试图通过标记实例来限制访问,但如果我认为正确,Describe* API 不能受 Condition 限制,也不能受 Resource 限制。
解决方案
不幸的是,唯一干净的方法是拥有多个 AWS 账户(最好在一个组织下),然后将不同的用户组限制到不同的账户。
一些(但不是全部)操作支持资源级权限,因此您可以编写如下策略来限制 IAM 用户可以启动/停止/重启的 EC2 实例:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:RebootInstances"
],
"Condition": {
"StringEquals": {
"ec2:ResourceTag/Environment": "Staging"
}
},
"Resource": [
"arn:aws:ec2:us-east-1:123456789012:instance/*"
],
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
}
]
}
此外,您可以限制 SSH 密钥对或 Windows 凭证的分发,以便只有某些用户可以物理访问给定的 EC2 实例。
推荐阅读
- python - Tensorflow 2.2:如何在 grappler 中使用内存优化器选项?
- elasticsearch - 无法通过风暴爬虫从弹性搜索中爬取数据
- jquery - 从循环内部获取 Jquery Toogle 按钮值
- python - 创建 Key_Shared Consumer Apache Pulsar
- c++ - 关于这个递归关系在记忆后的时间复杂度
- php - PHP函数-当第一个,第二个和最后一个字段相同但在文件的不同行上时如何获取三个字段并执行和操作
- java - jSerialComm:无法打开端口(Arduino Mega 2560)
- nuget - 实施 MassTransit CorrelatedBy
没有 MassTransit nuget 的界面 - python - 为什么这个随机生成的球形点云分布不均匀?
- java - 无法初始化主类 selenium.Test