我正处于为我们的用户编写AWS应用程序的早期阶段,该应用程序将使用他们的 AWS 资源运行我们的研究算法。例如,我们的代码需要启动运行我们的“worker”应用程序的EC2实例,访问RDS数据库,并创建访问SQS队列。AWS Java SDK示例(我们用Java 编写)使用 AwsCredentials.properties 文件来存储访问密钥 ID 和秘密访问密钥,这对于示例来说很好,但对于我们的用户来说显然是不可接受的,他们本质上是让我们可以访问他们的所有资源。代表他们运行我们的系统的干净方法是什么?我发现了AWS Identity and Access Management (IAM)这似乎是为了这个目的(我还没有弄清楚),尤其是。AWS 账户之间的跨账户访问。这篇文章听起来很简单:
使用 amazon IAM 服务创建一组仅有权执行脚本所需任务的密钥。 http://aws.amazon.com/iam/
但是,其他帖子(例如,在 IAM 中,我可以限制一组用户仅访问/启动/终止某些 EC2 AMI 或实例吗?)建议将 IAM 与 EC2 一起使用是有限制的。
任何建议都会非常有帮助!