本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 IAM Anywhere 角色进行身份验证 AWS SDKs 和工具
您可以使用 IAM Roles Anywhere 在 IAM 中为在外部运行的服务器、容器和应用程序等工作负载获取临时安全证书 AWS。要使用 IAM Roles Anywhere,您的工作负载必须使用 X.509 证书。您的云管理员应提供所需的证书和私钥,以便将 IAM Roles Anywhere 配置为凭证提供者。
第 1 步:配置 IAM Roles Anywhere
IAM Roles Anywhere 提供了一种获取在外部运行的工作负载或流程的临时证书的方法 AWS。与证书颁发机构建立信任锚,以获取关联的 IAM 角色的临时凭证。该角色设置当您的代码使用 IAM Roles Anywhere 进行身份验证时您的工作负载将拥有的权限。
有关设置信任锚点、IAM 角色和 IAM Anywhere 角色配置文件的步骤,请参阅 IA M Roles Anywhere 用户指南中的随处 AWS Identity and Access Management 角色中创建信任锚和配置文件。
注意
IAM Roles Anywhere 用户指南中的配置文件指的是 IAM Roles Anywhere 服务中的一个独特概念。它与共享 AWS config
文件中的配置文件无关。
第 2 步:使用 IAM Roles Anywhere
要从 IAM Roles Anywhere 获取临时安全凭证,请使用 IAM Roles Anywhere 提供的凭证助手。凭证工具可实现 IAM Roles Anywhere 的签名流程。
有关下载凭证帮助工具的说明,请参阅 IAM Roles Anywhere 用户指南中的从 AWS Identity and Access Management 任何地方的角色获取临时安全证书。
要将来自 IAM 角色的 Anywhere 临时安全证书与 AWS SDKs 和一起使用 AWS CLI,您可以在共享 AWS config
文件中配置credential_process
设置。 SDKs 和 AWS CLI 支持用于credential_process
进行身份验证的流程凭证提供程序。下面显示了要设置credential_process
的一般结构。
credential_process = [path to helper tool] [command] [--parameter1
value
] [--parameter2value
] [...]
助手工具的 credential-process
命令以与 credential_process
设置兼容的标准 JSON 格式返回临时凭证。请注意,命令名称包含连字符,而设置名称包含下划线。命令需要使用以下参数:
-
private-key
– 签署请求的私钥的路径。 -
certificate
– 证书的路径。 -
role-arn
– 要为其获取临时凭证的角色的 ARN。 -
profile-arn
– 为指定角色提供映射的配置文件的 ARN。 -
trust-anchor-arn
– 用于身份验证的信任锚的 ARN。
您的云管理员将提供证书和私钥。所有三个 ARN 值都可以从 AWS Management Console复制。以下示例显示了共享config
文件,该文件配置了从助手工具检索临时凭证。
[profile
dev
] credential_process = ./aws_signing_helper credential-process --certificate/path/to/certificate
--private-key/path/to/private-key
--trust-anchor-arnarn:aws:rolesanywhere:region:account:trust-anchor/TA_ID
--profile-arnarn:aws:rolesanywhere:region:account:profile/PROFILE_ID
--role-arnarn:aws:iam::account:role/ROLE_ID
有关可选参数和其他帮助工具的详细信息,请参阅上 GitHub的 IAM Roles Anywhere 凭证助手
有关 SDK 配置设置本身和流程凭证提供者的详细信息,请参阅本指南中的 进程凭证提供者。