gpt4 book ai didi

amazon-web-services - 角色切换在控制台 (AWS GUI) 中有效,但在 Ansible 脚本中无效

转载 作者:行者123 更新时间:2023-12-02 03:40:27 25 4
gpt4 key购买 nike

问题:我需要通过脚本切换角色。 sts:AssumeRole 权限是否足够?

详细说明:我通过控制台登录启用了 MFA 的 AWS 账户。我默认登录的这个角色没有执行任何操作的权限。为了旋转 EC2,我需要切换角色。我转到“切换角色”,使用一个帐户和角色,切换到另一个有权创建 EC2 实例的角色。我想通过 Ansible 脚本实现相同的目的。

我的 yml 脚本片段如下所示:

    tasks:
- sts_assume_role:
role_arn: "{{role_arn}}"
role_session_name: "{{role_session_name}}"
region: "{{app_region}}"
aws_access_key: "{{ aws_access_key_id }}"
aws_secret_key: "{{ aws_secret_access_key }}"
register: assumed_role
- debug:
msg: "aws_access_key: {{ assumed_role.sts_creds.access_key }} ,
aws_secret_key: {{ assumed_role.sts_creds.secret_key }},
security_token: {{ assumed_role.sts_creds.session_token }}"

但是,这会导致类似于以下的错误:

A client error (AccessDenied) occurred when calling the AssumeRole operation: User: arn:aws:iam:::user/ is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam:::role/

这也是我从 aws cli 得到的相同错误。

虽然我知道我没有完成此任务的 sts:AssumeRole 权限,但我已向我公司的内部团队提出此问题。然而,由于某些未知原因,即使进行了多次跟进,他们的时间也太长了。

我只想知道获得此权限就足够了,还是我需要更多权限?当然,这是假设 sts:AssumeRole 是正确的权限。另外,通过脚本执行此操作时,我是否需要在其中的任何地方进行 MFA?我仅在第一次从控制台登录我的默认帐户时手动使用 MFA。

提前感谢您的帮助,如果这听起来太基础了,我深表歉意,但我只是想在时间紧迫的情况下启动并运行。

最佳答案

没有角色的信任策略或 IAM 用户的权限策略,我只能猜测,要么 IAM 用户有 enforce MFA policy附加即拒绝任何东西,除非 MFAed 或你试图承担的角色需要 you to use MFA .

因此,您可以使用 GetSessionToken通过传递 MFA token 以获取临时凭证并制作 AssumeRole API 或在您 calling the AssumeRole API 时传递 MFA token .

关于amazon-web-services - 角色切换在控制台 (AWS GUI) 中有效,但在 Ansible 脚本中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48800074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com