首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在EC2上具有不同IAM角色的多个应用程序

在EC2上具有不同IAM角色的多个应用程序
EN

Stack Overflow用户
提问于 2018-08-01 13:09:08
回答 1查看 400关注 0票数 2

我有多个AspNetCore应用程序在Windows Server 2016 EC2上运行。所有这些应用程序都需要根据其权限承担不同的IAM角色。

这些应用程序在本地系统帐户下运行,由于配置文件位置C:\Users\<user>\.aws\config不适用于系统用户,因此在docs中不清楚如何为每个应用程序指定角色配置文件名称。如果不指定角色配置文件,应用程序将承担我不想要的EC2实例配置文件角色。

如果我以本地用户身份运行该应用程序,则可以使用以下配置

凭据文件C:\Users\<user>\.aws\credentials

代码语言:javascript
运行
复制
[applicationuser]
aws_access_key_id = xxxxxxxx
aws_secret_access_key = yyyyyyyy

配置文件C:\Users\<user>\.aws\config

代码语言:javascript
运行
复制
[profile ApplicationA]
role_arn = arn:aws:iam::11111111111:role/ApplicationA
source_profile = applicationuser

[profile ApplicationB]
role_arn = arn:aws:iam::11111111111:role/ApplicationB
source_profile = applicationuser

当应用程序在具有实例配置文件的EC2中以本地系统帐户运行时,您对如何实现这一点有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2018-08-01 13:26:56

向亚马逊EC2实例上运行的应用程序提供凭据的正常方法是为该实例分配一个IAM角色。然后通过实例元数据提供与角色关联的临时凭据。AWS SDK将自动使用这些凭据。

但是,这只适用于一组凭据。如果要使用多个凭据,则需要在凭据文件中提供凭据。

AWS凭证文件可以包含多个配置文件,例如

代码语言:javascript
运行
复制
[default]
aws_access_key_id = AKIAaaaaa
aws_secret_access_key = abcdefg

[user2]
aws_access_key_id = AKIAbbbb
aws_secret_access_key = xyzzzy

为方便起见,还可以通过AWS CLI进行配置:

代码语言:javascript
运行
复制
$ aws configure --profile user2
AWS Access Key ID [None]: AKIAbbbb
AWS Secret Access Key [None]: xyzzy
Default region name [None]: us-east-1
Default output format [None]: text

可以通过环境变量设置要使用的配置文件:

代码语言:javascript
运行
复制
Windows: set AWS_PROFILE="user2"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51625706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档