上次更新时间:2020 年 6 月 16 日
我尝试代入 AWS Identity and Access Management (IAM) 角色。但我收到了与以下内容类似的错误消息:
“在调用 AssumeRole 操作时发生错误(访问被拒绝):”
-或者-
“一个或多个字段中的信息无效。请检查您的信息或联系管理员。”
简短描述要在另一个 AWS 账户中代入 IAM 角色,请先编辑一个账户(代入 IAM 角色的账户)中的权限。然后,编辑另一个账户(允许代入 IAM 角色的账户)中的信任策略。例如,假设您有两个账户,分别名为 Account_Bob 和 Account_Alice。您还有两个分别名为 Bob 和 Alice 的 IAM 用户或角色。在此情景中,Bob 将代入名为 Alice 的 IAM 角色。
要对多个账户或跨账户使用 AssumeRole API 调用,您必须具有信任策略来授权代入角色的权限,如下所示:
以下是 Bob 所需的权限示例:
{
"Version": "2012-10-17",
"Statement":
}
以下是 Alice 的信任策略示例:
{
"Version": "2012-10-17",
"Statement":
}
解决方法
最佳实践是确保:
注意:如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请确保您运行的是最新版本的 AWS CLI。