在AWS Identity and Access Management (IAM) 中,您可以使用角色来授权和限制对 AWS 资源的访问。而 AWS 命令行界面 (CLI) 则是一种与 AWS 进行交互的工具。在使用 CLI 时,有时您可能会遇到传递角色错误的问题。下面是一种解决方法,并包含了示例代码。
确保您具有适当的 IAM 权限:检查您的 IAM 用户或角色是否具有所需的权限。在 IAM 控制台中,您可以为用户或角色分配适当的策略权限,以确保其具有执行所需操作的权限。
配置 CLI:使用 AWS CLI 命令 aws configure
配置您的访问密钥和区域。确保您使用的是与您所需角色相关联的访问密钥。
使用临时凭证:如果您需要使用角色进行访问,可以使用 AWS Security Token Service (STS) 获取临时凭证。以下是一个使用 assume-role
命令获取临时凭证的示例:
aws sts assume-role --role-arn arn:aws:iam::ACCOUNT_ID:role/ROLE_NAME --role-session-name SESSION_NAME
上面的命令中,ACCOUNT_ID
是您的 AWS 账号 ID,ROLE_NAME
是您想要扮演的角色的名称,SESSION_NAME
是您为此会话指定的名称。
assume-role
命令返回的凭证配置为环境变量,以便 CLI 可以使用它们进行身份验证。以下是一个示例:export AWS_ACCESS_KEY_ID=ACCESS_KEY
export AWS_SECRET_ACCESS_KEY=SECRET_ACCESS_KEY
export AWS_SESSION_TOKEN=SESSION_TOKEN
上面的命令中,ACCESS_KEY
、SECRET_ACCESS_KEY
和 SESSION_TOKEN
是 assume-role
命令返回的凭证中的值。
aws sts get-caller-identity
命令验证您当前所使用的角色。以下是一个示例:aws sts get-caller-identity
上面的命令将返回当前身份的相关信息,包括角色 ARN。
通过按照上述步骤操作,您应该能够解决传递角色错误并在 AWS CLI 中成功使用角色进行操作。请确保您已正确配置和验证凭证,并具有适当的 IAM 权限。
上一篇:AWS IAM多策略条件冲突
下一篇:AWS IAM角色-最佳实践