使用访问交互式开发工作的凭证 Amazon SDK for Java 2.x - Amazon SDK for Java 2.x
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用访问交互式开发工作的凭证 Amazon SDK for Java 2.x

为了提高安全性, Amazon 建议您将适用于 Java 的 SDK 配置为使用临时凭证而不是长期证书。临时凭证由访问密钥(访问密钥 ID 与秘密访问密钥)和会话令牌组成。

您可以使用多种方法来使用临时证书。您使用的方法,以及您向 SDK 提供的配置,取决于您的用例。

当您使用 Java SDK 进行交互式开发工作时,我们建议您使用单点登录方法。此方法需要以下设置:

IAM Identity Center 配置

当您将软件开发工具包配置为使用本指南中所述的 IAM Identity Center 单点登录访问权限时,软件开发工具包将使用临时证书。设置概述

SDK 使用 IAM Identity Center 访问令牌来访问用您的 config 文件中的 sso_role_name 设置配置的 IAM 角色。软件开发工具包担任此 IAM 角色并检索用于签署 Amazon Web Services 服务 请求的临时证书。

有关软件开发工具包如何从配置中获取临时证书的更多详细信息,请参阅 Amazon SDKs 和工具参考指南的了解 IAM Identity Center 身份验证部分。

重要

除了您在共享config文件中设置的适用于所有项目的配置外,每个 Java 项目还需要在 Maven pom.xml 文件中具有以下依赖关系:

<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>sso</artifactId> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>ssooidc</artifactId> </dependency>

ssossooidc依赖项提供的代码使适用于 Java 的 SDK 2.x 能够访问临时证书。

从 Amazon 访问门户检索临时证书

作为 IAM Identity Center 单点登录配置的替代方案,您可以复制和使用 Amazon 访问门户中提供的临时证书。您可以在配置文件中使用临时凭证,也可以将其用作系统属性和环境变量的值。

为临时凭证设置本地凭证文件
  1. 创建共享 credentials 文件

  2. 在 credentials 文件中,粘贴以下占位符文本,直到粘贴有效的临时凭证为止。

    [default] aws_access_key_id=<value from Amazon access portal> aws_secret_access_key=<value from Amazon access portal> aws_session_token=<value from Amazon access portal>
  3. 保存该文件。该 ~/.aws/credentials 文件现在应该存在于您的本地开发系统上。此文件包含 [默认] 配置文件,如果未指定特定的命名配置文件,则适用于 Java 的 SDK 将使用该配置文件。

  4. 登录 Amazon 访问门户

  5. 按照手动刷新凭证标题下的说明从 Amazon 访问门户复制 IAM 角色证书。

    1. 对于链接说明中的步骤 2,请选择Access keys授予开发需求访问权限的 IAM 角色名称。此角色的名称通常类似于PowerUserAccess开发人员

    2. 在模式对话框中,选择您的操作系统,然后将 “添加配置文件” 中的内容复制到您的 Amazon 凭据文件中

  6. 将复制的凭证粘贴到您的本地 credentials 文件中,并移除生成的配置文件名称。您的文件应类似于以下内容。

    [default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
  7. 保存 credentials 文件。

当适用于 Java 的 SDK 创建服务客户端时,它将访问这些临时凭证并将它们用于每个请求。在步骤 5a 中选择的 IAM 角色的设置决定了临时凭证的有效时间。最长持续时间为 12 小时。

在临时凭证过期后,重复步骤 4 到 7。