使用 IAM Identity Center 进行 AWS SDK 和工具的身份验证 - AWS SDK 和工具

使用 IAM Identity Center 进行 AWS SDK 和工具的身份验证

AWS IAM Identity Center 是在非 AWS 计算服务上开发 AWS 应用程序时提供 AWS 凭证的推荐方法。例如,这将类似于您的本地开发环境。如果在 AWS 资源(例如 Amazon Elastic Compute Cloud(Amazon EC2)或 AWS Cloud9)上开发,我们建议您改而从该服务获取凭证。

在本教程中,您会建立 IAM Identity Center 访问,并将使用 AWS 访问门户和 AWS CLI 为您的 SDK 或工具对进其行配置。

  • AWS 访问门户是您手动登录 IAM Identity Center 的网址。URL 的格式为 d-xxxxxxxxxx.awsapps.com/startyour_subdomain.awsapps.com/start。登录 AWS 访问门户后,您可以查看已为该用户配置的 AWS 账户 和角色。此过程将使用 AWS 访问门户获取 SDK/工具身份验证过程所需的配置值。

  • AWS CLI 用于将您的 SDK 或工具配置为对您的代码进行的 API 调用使用 IAM Identity Center 身份验证。此一次性过程会更新您的共享 AWS config 文件,之后,该文件将在您运行代码时由您的 SDK 或工具使用。

先决条件

在开始此过程之前,您应已经完成下列步骤:

使用 IAM Identity Center 配置以编程方式访问权限

步骤 1:建立访问权限并选择相应的权限集

选择下列方法之一来访问您的 AWS 凭证。

  1. 按照《AWS IAM Identity Center 用户指南》中 Configure user access with the default IAM Identity Center directory 说明的过程添加用户并添加管理员权限。

  2. AdministratorAccess 权限集不应用于普通开发用途。相反,我们建议使用预定义的 PowerUserAccess 权限集,除非您的雇主已为此目的创建了自定义权限集。

    再次按照 Configure user access with the default IAM Identity Center directory 部分说明的过程操作,不过这一次不同的是:

    • 不要创建 Admin team 组,而是创建一个 Dev team 组,然后在说明的后续部分替换为该组。

    • 您可以使用现有用户,但必须将该用户添加到新的 Dev team 组中。

    • 不要创建 AdministratorAccess 权限集,而是创建一个 PowerUserAccess 组权限集,然后在说明的后续部分替换为该权限集。

    完成后,您应会获得以下资源:

    • 一个 Dev team 组。

    • 一个附加到 Dev team 组的 PowerUserAccess 权限集。

    • 您的用户已添加到 Dev team 组。

  3. 退出门户并重新登录以查看 AdministratorPowerUserAccess 的 AWS 账户和选项。在使用您的工具/SDK 时选择 PowerUserAccess

通过身份提供者的门户登录 AWS。如果您的云管理员已向您授予 PowerUserAccess(开发人员)权限,您将看到您有权访问的 AWS 账户和您的权限集。在您的权限集名称旁边,可以看到有关使用该权限集手动或以编程方式访问账户的选项。

自定义实现可能会产生不同的体验,例如不同的权限集名称。如果您不确定要使用哪个权限集,请联系 IT 团队以寻求帮助。

通过 AWS 访问门户登录到 AWS。如果您的云管理员已向您授予 PowerUserAccess(开发人员)权限,您将看到您有权访问的 AWS 账户和您的权限集。在您的权限集名称旁边,可以看到有关使用该权限集手动或以编程方式访问账户的选项。

请联系您的 IT 团队以寻求帮助。

步骤 2:将 SDK 和工具配置为使用 IAM Identity Center

  1. 在您的开发计算机上安装最新的 AWS CLI。

    1. 参阅 AWS Command Line Interface 用户指南中的安装或更新最新版本的 AWS CLI

    2. (可选)要验证 AWS CLI 是否正在运行,请打开命令提示符并运行 aws --version 命令。

  2. 登录到 AWS 访问门户。您的雇主可能会提供此 URL,或者您可以按照步骤 1:建立访问权限通过电子邮件获得该 URL。如果没有,您可以在控制面板https://console.aws.amazon.com/singlesignon/)上找到您的 AWS 访问门户 URL

    1. 在 AWS 访问门户的账户选项卡中,选择要管理的单个账户。这时将会显示您的用户的角色。选择访问密钥,以获取该权限集的命令行或编程访问凭证。使用预定义的 PowerUserAccess 权限集,或者您或您的雇主创建的任何权限集,以将最低权限应用于开发。

    2. 获取凭证对话框中,选择 MacOS 和 LinuxWindows,具体取决于您的操作系统。

    3. 选择 IAM Identity Center 凭证方法以获取下一个步骤所需的 Issuer URLSSO Region 值。注意:SSO Start URL 可以与 Issuer URL 互换使用。

  3. 在 AWS CLI 命令提示符中,运行 aws configure sso 命令。出现提示时,输入在上一步中收集的配置值。有关此 AWS CLI 命令的详细信息,请参阅使用 aws configure sso 向导配置您的个人资料

    1. 对于提示 SSO Start URL,请输入您获得的 Issuer URL 值。

    2. 对于 CLI 配置文件名称,我们建议您在开始使用时输入默认值。有关如何设置非默认(已命名)配置文件及其关联环境变量的信息,请参阅 配置文件

  4. (可选)在 AWS CLI 命令提示符中,通过运行 aws sts get-caller-identity 命令确认活动会话身份。响应应显示您配置的 IAM Identity Center 权限集。

  5. 如果您使用的是 AWS SDK,请在您的开发环境中为您的 SDK 创建应用程序。

    1. 对于某些 SDK ,在使用 IAM Identity Center 身份验证之前,必须将其他程序包(例如 SSOSSOOIDC)添加到您的应用程序中。有关详细信息,请参阅特定的 SDK。

    2. 如果您之前配置了对 AWS 的访问权限,请查看您的共享 AWS credentials文件是否有任何 AWS 访问密钥。由于 了解默认凭证提供者链 优先级,在 SDK 或工具使用 IAM Identity Center 凭证之前,您必须移除所有静态凭证。

要深入了解 SDK 和工具如何使用此配置来使用和刷新凭证,请参阅 如何解决 AWS SDK 和工具的 IAM Identity Center 身份验证问题

要直接在共享的 config 文件中配置 IAM Identity Center 提供者设置,请参阅本指南中的 IAM Identity Center 凭证提供者

刷新门户访问会话

您的访问权限最终将过期,并且 SDK 或工具将遇到身份验证错误。何时过期取决于您配置的会话时长。要在需要时再次刷新访问门户会话,请使用 AWS CLI 运行 aws sso login 命令。

您可以延长 IAM Identity Center 访问门户会话持续时间和权限集会话持续时间。这会延长您在需要再次使用 AWS CLI 手动登录之前运行代码的时间。有关更多信息,请参阅《AWS IAM Identity Center 用户指南》中的以下主题: