我想设置对另一个 AWS 账户中的 AWS Identity and Access Management (IAM) 角色的跨账户访问权限。
**重要事项:**AWS 建议您使用带有临时凭证的 IAM 角色进行跨账户访问,而非使用具有长期凭证(访问密钥)的 IAM 用户。IAM 角色提供可自动轮换的临时安全凭证,从而降低与长期凭证相关的安全风险。
要访问其他 AWS 账户中的资源,请与 IAM 角色建立信任关系。此方法使用 AssumeRole API 操作来获取临时安全凭证。
例如,您想从源账户访问目标账户。在源账户中配置 IAM 角色以代入目标账户中的 IAM 角色。有关使用 IAM 角色进行跨账户访问的更多信息,请参阅在您拥有的其他 AWS 账户中 IAM 用户的访问权限。
**注意:**您还可以使用角色链接从源 IAM 角色代入目标 IAM 角色。角色链接仅适用于编程访问,例如 AWS 命令行界面 (AWS CLI) 或 API。角色链接不能与 AWS 管理控制台一起使用。
**注意:**如果您在运行 AWS CLI 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
要使用 IAM 访问其他 AWS 账户中的资源,请完成以下步骤。
完成以下步骤:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Resource": [ "arn:aws:iam::DESTINATION-ACCOUNT-ID:role/DESTINATION-ROLENAME" ] } ] }
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::SOURCE-ACCOUNT-ID:role/SOURCE-ROLENAME" }, "Action": "sts:AssumeRole" } ] }
**注意:**如果您无权创建和编辑 IAM 角色,请向账户所有者寻求帮助以完成该流程。最佳做法是限制对您的账户和资源的访问权限,以便只有您信任的实体才能访问它们。
您可以根据需要修改此策略,允许将多个源实体代入多个目标角色。例如,您可以将目标账户信任策略的主体值更改为 "AWS": "SOURCE-ACCOUNT-ID"。这允许源账户中具有代入角色权限的所有实体代入目标账户角色。有关详细信息,请参阅如何指定主体以及创建或编辑策略。
要测试您的访问权限,请按照从用户切换到 IAM 角色(控制台)或切换到 IAM 角色 (AWS CLI) 中的说明进行操作。有关详细信息,请参阅 IAM 教程: 使用 IAM 角色委托跨 AWS 账户的访问权限。
IAM 中的跨账户资源访问
如何使用 AWS CLI 代入 IAM 角色?
如何解决我在创建或更新 IAM 策略时收到的 "Has prohibited field Principal" 错误?
如何授予对 Amazon S3 存储桶中对象的跨账户访问权限?
当我尝试代入跨账户 IAM 角色时,如何解决 "AccessDenied" 或 "Invalid information" 错误?
rePost Polyglot
已提问 3 年前
Summer
已发布 1 年前