扮演一个拥有 AWS 证书的角色 - AWS SDKs和工具

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

扮演一个拥有 AWS 证书的角色

假设角色涉及使用一组临时安全凭证来访问您原本无法访问的 AWS 资源。这些临时凭证由访问密钥 ID、秘密访问密钥和安全令牌组成。要了解有关 AWS Security Token Service (AWS STS) API 请求的更多信息,请参阅AWS Security Token Service API参考中的操作

要将您的SDK或工具设置为代入角色,必须先创建或确定要担任的特定角色。IAM角色由角色唯一标识 Amazon 资源名称 (ARN)。角色与另一个实体建立信任关系。使用该角色的可信实体可能是一个 AWS 服务 或另一个实体 AWS 账户。要了解有关IAM角色的更多信息,请参阅IAM用户指南中的使用IAM角色

确定IAM角色后,如果您受到该角色的信任,则可以将您的SDK或工具配置为使用该角色授予的权限。

注意

AWS 最佳做法是尽可能使用区域终端节点并配置您的终端节点AWS 区域

IAM扮演一个角色

担任角色时, AWS STS 返回一组临时安全证书。这些凭证来自另一个配置文件或运行代码的实例或容器。最常见的是,当您拥有一个账户的 AWS 证书,但您的应用程序需要访问另一个账户中的资源时,会使用这种类型的角色代入方式。

步骤 1:设置IAM角色

要将您的SDK或工具设置为代入角色,必须先创建或确定要担任的特定角色。IAM角色是使用角色唯一标识ARN的。角色与另一个实体建立信任关系,通常是在您的账户内或用于跨账户访问。要进行设置,请参阅《IAM用户指南》中的创建IAM角色

步骤 2:配置SDK或工具

将SDK或工具配置为从credential_source或获取凭据source_profile

credential_source用于从亚马逊ECS容器、亚马逊EC2实例或环境变量中获取证书。

source_profile 用于从另一个配置文件获取凭证。source_profile 还支持角色链,即配置文件的层次结构,然后使用代入的角色来代入另一个角色。

当您在配置文件中指定此项时,SDK或工具会自动为您进行相应的 AWS STS AssumeRoleAPI调用。要通过担任角色来检索和使用临时证书,请在共享 AWS config文件中指定以下配置值。有关这些设置各自的更多信息,请参阅 代入角色凭证提供者设置 节。

  • role_arn-来自您在步骤 1 中创建的IAM角色

  • 配置 source_profilecredential_source

  • (可选)duration_seconds

  • (可选)external_id

  • (可选)mfa_serial

  • (可选)role_session_name

以下示例显示了共享 config 文件中两个代入角色选项的配置:

role_arn = arn:aws:iam::123456789012:role/my-role-name source_profile = profile-name-with-user-that-can-assume-role
role_arn = arn:aws:iam::123456789012:role/my-role-name credential_source = Ec2InstanceMetadata

有关所有代入角色凭证提供程序设置的详细信息,请参阅本指南中的 代入角色凭证提供者