AWS IAM Identity Center的旧版不可刷新配置 - AWS Command Line Interface

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

AWS IAM Identity Center的旧版不可刷新配置

本主题介绍如何配置以通过 AWS IAM Identity Center (IAM Identity Center) 对用户进行身份验证,以获取使用传统方法运行 AWS CLI 命令的证书。 AWS CLI 使用遗留的不可刷新配置时,您需要手动刷新令牌,因为它会定期过期。

使用 IAM Identity Center 时,您可以登录到 Active Directory、内置 IAM Identity Center 目录或已连接到 IAM Identity Center 的另一个 IdP。您可以将这些证书映射到可以在其中运行 AWS CLI 命令的 AWS Identity and Access Management (IAM) 角色。

无论您使用哪个 IdP,IAM Identity Center 都会将这些区别抽象出来。例如,您可以连接 Microsoft Azure AD,如博客文章 IAM Identity Center 的下一个演进中所述。

注意

有关使用不使用账户 ID 和角色的不记名身份验证的信息,请参阅 A mazon CodeCatalyst 用户指南 CodeCatalyst中的设置 AWS CLI 与使用

您可以通过以下方式将一个或多个已 AWS CLI 命名的配置文件配置为使用旧版 IAM Identity Center 中的角色:

  • 自动,使用 aws configure sso 命令。

  • 手动,通过编辑存储命名配置文件的 config 文件。

先决条件

  • 安装 AWS CLI。有关更多信息,请参阅 安装或更新到最新版本的 AWS CLI

  • 您必须先有权访问 IAM Identity Center 中的 SSO 身份验证。选择以下方法之一来访问您的 AWS 证书。

请按照《AWS IAM Identity Center 用户指南》入门中的说明操作。此过程激活 IAM Identity Center,创建管理用户并添加适当的最低权限集。

注意

创建应用最低权限权限的权限集。除非您的雇主已为此目的创建自定义权限集,否则建议使用预定义的 PowerUserAccess 权限集。

退出门户并再次登录以查看您的 AWS 账户 和Administrator或选项PowerUserAccess。在使用开发工具包时选择 PowerUserAccess。这也可以帮助您找到有关编程访问的详细信息。

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

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

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

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

遗留配置的自动配置

为您配置 IAM 身份中心配置文件 AWS CLI
  1. 运行aws configure sso命令并提供您的 IAM Identity Center 起始 URL 和托管身份中心目录的 AWS 区域。

    $ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1
  2. AWS CLI 尝试打开您的默认浏览器并开始您的 IAM Identity Center 账户的登录过程。

    SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request.

    如果 AWS CLI 无法打开浏览器,则会显示以下消息,其中包含有关如何手动启动登录过程的说明。

    Using a browser, open the following URL: https://device.sso.us-west-2.amazonaws.com/ and enter the following code: QCFK-N451

    IAM Identity Center 使用代码将 IAM Identity Center 会话与当前 AWS CLI 会话关联。IAM Identity Center 浏览器页面会提示您使用 IAM Identity Center 凭证登录。这授予了检索和显示您有权在 IAM Identity Center 中使用的 AWS 账户和角色的权限。 AWS CLI

  3. 接下来, AWS CLI 显示可供您使用的 AWS 帐户。如果您只能使用一个帐户,则会自动为您 AWS CLI 选择该帐户并跳过提示。可供您使用的 AWS 账户由您在 IAM Identity Center 中的用户配置决定。

    There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (123456789011) ProductionAccount, production-account-admin@example.com (123456789022)

    使用箭头键选择要用于此配置文件的账户。左侧的“>”字符指向当前选择。按 Enter 进行选择。

  4. 接下来, AWS CLI 确认您的账户选择,并显示所选账户中可供您使用的 IAM 角色。如果所选账户仅列出一个角色,则会自动为您 AWS CLI 选择该角色并跳过提示。可供您使用的角色由 IAM Identity Center 中的用户配置决定。

    Using the account ID 123456789011 There are 2 roles available to you. > ReadOnly FullAccess

    使用箭头键选择要与这个配置文件一起使用的 IAM 角色,然后按 <ENTER> 键。

  5. AWS CLI 确认您的角色选择。

    Using the role name "ReadOnly"
  6. 通过指定默认输出格式、向其发送命令的默认 AWS 区域 格式以及提供配置文件的名称来完成配置文件的配置,以便您可以从本地计算机上定义的所有配置文件中引用此配置文件。在以下示例中,用户输入原定设置区域、原定设置输出格式和配置文件的名称。也可以按下 <ENTER> 以选择方括号之间显示的任何原定设置值。建议的配置文件名称是账户 ID 号,并依次后跟下划线和角色名称。

    CLI default client Region [None]: us-west-2<ENTER> CLI default output format [None]: json<ENTER> CLI profile name [123456789011_ReadOnly]: my-dev-profile<ENTER>
    注意

    如果您指定default为配置文件名称,则当您运行 AWS CLI 命令而不指定配置文件名称时,该配置文件将成为使用的配置文件。

  7. 最后一条消息描述了完成的配置文件配置。

    要使用此配置文件,请使用 --profile 指定配置文件名称,如下所示:

    aws s3 ls --profile my-dev-profile
  8. 前面的示例条目将在 ~/.aws/config 中生成一个命名的配置文件,类似于以下示例。

    [profile my-dev-profile] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 123456789011 sso_role_name = readOnly region = us-west-2 output = json

    此时,您有一个可用于请求临时凭证的配置文件。您必须使用 aws sso login 命令实际请求和检索运行命令所需的临时凭证。有关说明,请参阅使用 IAM Identity Center 命名配置文件

遗留配置的手动配置

使用遗留的不可刷新配置不支持自动令牌刷新。我们建议使用 SSO 令牌配置。

要手动向命名的配置文件添加 IAM Identity Center 支持,必须将以下密钥和值添加到文件 ~/.aws/config(Linux 或 macOS)或 %USERPROFILE%/.aws/config (Windows) 中的配置文件定义中。

您可以在 .aws/config 文件中包括有效的任何其他键和值,例如 regionoutputs3。为防止出错,不要包括任何与凭证相关的值,例如 role_arnaws_secret_access_key

以下是 .aws/config 中的示例 IAM Identity Center 配置文件:

[profile my-sso-profile] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-west-2 sso_account_id = 111122223333 sso_role_name = SSOReadOnlyRole region = us-west-2 output = json

您的临时凭证配置文件已完成。

要运行命令,您必须首先使用 aws sso login 命令请求和检索临时凭证。有关说明,请参阅下一节:使用 IAM Identity Center 命名配置文件 。身份验证令牌缓存到磁盘中的 ~/.aws/sso/cache 目录下面,文件名基于 sso_start_url