tim*_*day 7 security amazon-ec2 amazon-elastic-ip
我有一个带有弹性 IP 的常规 EC2 实例。实例停止了几次,我只是通过 AWS 管理控制台手动将 IP 与它重新关联。我现在正在考虑将它迁移到一个现货实例,这意味着我想要一种在启动时自动将它与 IP 关联的方法,如果/当机器由于定价超出市场而关闭时。如何实现这一点在很多地方都有很好的描述(例如这里)。
我的问题是:
像许多有此问题的人一样,我对将我的 AWS 凭证文件放在实例本身上持谨慎态度。我有一种模糊的记忆,知道可以创建具有更有限权限的附加密钥,但我无法找到任何具体细节。所以:是否有可能创建一个我可以愉快地放在机器上的密钥,因为我知道它只能用于 ec2-associate-instance(但不能登录到其他实例,或者通常使用我的 AWS 帐户运行),我将如何实现这一目标?
这确实可以通过AWS Identity and Access Management (IAM) 实现,它使您能够安全地控制用户对 AWS 服务和资源的访问(现在强烈建议使用 IAM 而不是日常 AWS 使用的主账户凭证) .
其中,IAM 支持以下用例:
对 AWS 资源的细粒度访问控制:IAM 使您能够控制对 AWS 服务 API 和特定资源的访问。IAM 还允许您添加特定条件来控制用户如何使用 AWS,例如一天中的时间、他们的原始 IP 地址或他们是否使用 SSL。
可用的 AWS 服务之间各自的粒度各不相同(它往往会随着时间的推移而增加),但幸运的是 EC2 API 的粒度很高,并且您正在寻找的内容随时可用 - 例如,您可能想查看推荐的AWS Policy Generator,选择类型IAM Policy和 service Amazon EC2,这将允许您依次选择操作AssociateAddress。
因此,您应该能够通过为手头的任务创建一个专用的 IAM 用户,制定一个基本上仅限于AssociateAddress(也可能是DisassociateAddress)的 IAM 策略并将此策略分配给IAM 用户来实现您的目标- 例如,该策略可能看起来像这个:
{
"Statement": [
{
"Action": [
"ec2:AssociateAddress",
"ec2:DisassociateAddress"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2527 次 |
| 最近记录: |