本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用访问交互式开发工作的凭证 Amazon SDK for Java 2.x
为了提高安全性, Amazon 建议您将适用于 Java 的 SDK 配置为使用临时凭证而不是长期证书。临时凭证由访问密钥(访问密钥 ID 与秘密访问密钥)和会话令牌组成。
您可以使用多种方法来使用临时证书。您使用的方法,以及您向 SDK 提供的配置,取决于您的用例。
当您使用 Java SDK 进行交互式开发工作时,我们建议您使用单点登录方法。此方法需要以下设置:
-
使用 Amazon CLI 并运行命令登录并创建活动会话
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>
sso
和ssooidc
依赖项提供的代码使适用于 Java 的 SDK 2.x 能够访问临时证书。
从 Amazon 访问门户检索临时证书
作为 IAM Identity Center 单点登录配置的替代方案,您可以复制和使用 Amazon 访问门户中提供的临时证书。您可以在配置文件中使用临时凭证,也可以将其用作系统属性和环境变量的值。
为临时凭证设置本地凭证文件
-
在 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>
-
保存该文件。该
~/.aws/credentials
文件现在应该存在于您的本地开发系统上。此文件包含 [默认] 配置文件,如果未指定特定的命名配置文件,则适用于 Java 的 SDK 将使用该配置文件。 -
按照手动刷新凭证标题下的说明从 Amazon 访问门户复制 IAM 角色证书。
-
对于链接说明中的步骤 2,请选择
Access keys
授予开发需求访问权限的 IAM 角色名称。此角色的名称通常类似于PowerUserAccess或开发人员。 -
在模式对话框中,选择您的操作系统,然后将 “添加配置文件” 中的内容复制到您的 Amazon 凭据文件中。
-
-
将复制的凭证粘贴到您的本地
credentials
文件中,并移除生成的配置文件名称。您的文件应类似于以下内容。[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
-
保存
credentials
文件。
当适用于 Java 的 SDK 创建服务客户端时,它将访问这些临时凭证并将它们用于每个请求。在步骤 5a 中选择的 IAM 角色的设置决定了临时凭证的有效时间。最长持续时间为 12 小时。
在临时凭证过期后,重复步骤 4 到 7。