本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设置 AWS SDK for Java 2.x
本部分提供有关如何设置开发环境和项目以使用 AWS SDK for Java 2.x的信息。
设置概述
要成功开发 AWS 服务 使用访问的应用程序 AWS SDK for Java,需要满足以下条件:
-
Java SDK 必须有权访问凭据才能代表您对请求进行身份验证。
-
为配置的IAM角色的权限SDK必须允许访问您的应用程序所需的权限。 AWS 服务 与PowerUserAccess AWS 托管策略关联的权限足以满足大多数开发需求。
-
包含以下元素的开发环境:
-
通过以下方式中的至少一种方式设置的共享配置文件:
-
该
config
文件包含 IAMIdentity Center 单点登录设置,以便SDK可以获取 AWS 凭据。 -
credentials
文件包含临时凭证。
-
-
用于处理代码的文本编辑器。
-
(可选,但建议使用)IDE(集成开发环境),例如 IntelliJ IDEA、Ec
li pse 或。NetBeans 当你使用时IDE,你还可以集成 AWS Toolkit s,以便更轻松地使用 AWS 服务。AWS Toolkit for IntelliJ 和 AWS Toolkit for Eclipse 是两个可用于 Java 开发的工具包。
-
-
准备好运行应用程序时的活动 AWS 访问门户会话。您可以使用启动 AWS Command Line Interface IAM身份中心 AWS 访问门户的登录过程。
重要
本设置部分中的说明假设您或组织使用 Ident IAM ity Center。如果您的组织使用独立于 Identity Center 工作的外部IAM身份提供商,请了解如何获取临时证书以SDK供 Java 使用。按照以下说明向 ~/.aws/credentials
文件添加临时凭证。
如果您的身份提供商自动向~/.aws/credentials
文件添加临时证书,请确保配置文件名称为,[default]
这样您就无需向SDK或提供配置文件名称 AWS CLI。
设置身份验证
《和工具参考指南》中的身份验证 AWS SDKs和访问主题描述了不同的身份验证选项。我们建议您按照说明设置对IAM身份中心的访问权限,以便他们SDK可以获取证书。按照说明操作后,您的系统设置为允许对请求SDK进行身份验证。
设置单点登录访问权限 SDK
在完成编程访问部分的步骤 2 以SDK使用IAM身份中心身份验证后,您的系统应包含以下元素。
-
AWS CLI,用于在运行应用程序之前启动AWS 访问门户会话。
-
包含默认配置文件的
~/.aws/config
文件。f SDK or Java 使用配置文件的SSO令牌提供程序配置来获取凭据,然后再向发送请求 AWS。该sso_role_name
值是与 Ident IAM ity Center 权限集关联的IAM角色,应允许访问应用程序中的用户。 AWS 服务以下示例
config
文件显示了使用SSO令牌提供者配置设置的默认配置文件。配置文件的sso_session
设置是指所指定的sso-session
节。该sso-session
部分包含启动 AWS 访问门户会话的设置。[default] sso_session = my-sso sso_account_id =
111122223333
sso_role_name =SampleRole
region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url =https://provided-domain.awsapps.com/start
sso_registration_scopes = sso:account:access
有关SSO令牌提供者配置中使用的设置的更多详细信息,请参阅 AWS SDKs和工具参考指南中的SSO令牌提供者配置。
如果您的开发环境未如前所示进行编程访问设置,请按照《SDKs参考指南》中的步骤 2 进行操作。
使用登录 AWS CLI
在运行可访问的应用程序之前 AWS 服务,您需要一个有效的 AWS 访问门户会话,以便使用 Identity Center IAM 身份验证来解析凭据。SDK在中运行以下命令登录 AWS CLI AWS 访问门户。
aws sso login
由于您有默认的配置文件设置,因此无需使用 --profile
选项调用该命令。如果您的SSO令牌提供程序配置使用命名配置文件,则命令为aws sso login --profile
。named-profile
要测试是否已有活动会话,请运行以下 AWS CLI 命令。
aws sts get-caller-identity
对此命令的响应应报告共享config
文件中配置的 IAM Identity Center 帐户和权限集。
注意
如果您已经有一个有效的 AWS 访问门户会话并且aws sso login
正在运行,则无需提供凭据。
但是,您将看到一个对话框,请求 botocore
访问您的信息的权限。botocore
是 AWS CLI 的基础。
选择 “允许” 以授权访问您的信息,SDK用于 AWS CLI 和 Java。
安装 Java 和构建工具
您的开发环境需要以下组件:
-
Java 8 或更高版本。 AWS SDK for Java 它可与 Oracle Java SE 开发套件
以及红帽 Open Open 和 Adoptium 等Amazon Corretto 开放式 Java 开发套件(Op JDK enJDK)的发行版配合使用。 -
一种构建工具或支持 Maven Central 的工具IDE,例如 Apache Maven、Gradle 或 IntelliJ。
-
有关如何安装和使用 Maven 的信息,请参阅 https://maven.apache.org/
。 -
有关如何安装和使用 Gradle 的信息,请访问 https://gradle.org/
。 -
有关如何安装和使用 IntelliJ 的信息IDEA,请参阅。https://www.jetbrains.com/idea/
-
其他身份验证选项
有关身份验证的更多选项SDK,例如配置文件和环境变量的使用,请参阅《 AWS SDKs和工具参考指南》中的配置章节。