我正在为我们的用户编写AWS应用程序的早期阶段,他们将使用他们的AWS资源运行我们的研究算法。例如,我们的代码需要启动运行我们的'worker'应用的EC2实例,访问RDS数据库,并创建访问SQS队列。 AWS Java SDK示例(我们正在使用Java编写)使用AwsCredentials.properties文件来存储访问密钥ID和秘密访问密钥,这对于示例来说很好,但对于我们的用户来说显然是不可接受的,他们实际上会给我们获得他们所有的资源。代表他们运行我们的系统的干净方式是什么?我发现了AWS Identity and Access Management (IAM)这似乎是为了这个目的(我还没有得到我的头),尤其是。 Cross-account access between AWS accounts。 This post使得它听起来简单明了:我们如何提供我们的AWS应用程序以访问客户的资源而不需要他们的密钥?
使用Amazon IAM服务创建一组密钥,只有拥有执行,你需要为你的脚本任务 权限。 http://aws.amazon.com/iam/
然而,其他职位(例如,Within IAM, can I restrict a group of users to access/launch/terminate only certain EC2 AMIs or instances?)建议有使用IAM与EC2在特别的限制。
任何建议将是非常有益的!