我将 ec2 实例角色应用于我的服务器,但我想先在本地切换到这些角色以测试权限
我尝试切换到一个,但出现错误:
aws sts assume-role --role-arn arn:aws:iam::1234567890:role/myrole --role-session abc
An error occurred (AccessDenied) when calling the AssumeRole operation: User: arn:aws:iam::1234567890:user/meeee is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::1234567890:role/myrole
我是帐户管理员。我是否需要修改信任策略或其他内容以允许用户担任 ec2 实例角色?
要允许您的帐户担任服务角色,您需要编辑该角色并将您的帐户添加到
Principal
. 为此:在
IAM
->Roles
->Your Service Role
中转到Trust relationship
选项卡并单击Edit trust relationship
. 您的信任关系将是这样的:您需要添加类似这样的 AWS 账户:
然后,您将能够通过
sts
.获得所需结果的另一种方法是使用Policy Simulator
在角色
Permissions
选项卡中,单击策略左侧的箭头,它将显示一个按钮Simulate policy
:笔记
无法将 IAM 组用作
Principal
.参考
您可以从实例中获取凭证并在get-instance-credentials脚本的帮助下在本地使用它。
跑
get-instance-credentials
将 3 行复制并粘贴
export AWS_*
到笔记本电脑上的本地 shell验证凭据
正如您所看到的,即使是me@my-laptop ,我现在也可以使用test-ec2-role的凭据访问 AWS 。
通过这种方式,您可以轻松测试 IAM 角色配置、测试您的应用程序等。
希望有帮助:)