本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
要使用的基本设置AWS 服务
概览
要成功开发AWS 服务使用进行访问的应用程序AWS SDK for Java,需要满足以下条件:
-
您必须能够登录到中提供的AWS访问门户AWS IAM Identity Center (successor to AWS Single Sign-On)。
-
为 SDK 配置的 IAM 角色的权限必须允许访问您的应用程序所需的权限。AWS 服务与PowerUserAccessAWS托管策略相关的权限足以满足大多数开发需求。
-
包含以下元素的开发环境:
-
通过以下至少一种方式设置的@@ 共享配置文件:
-
该
config
文件包含 IAM Identity Center 单点登录设置,因此 SDK 可以获取AWS证书。 -
该
credentials
文件包含临时证书。
-
-
安装 Java 8 或更高版本。
-
用于处理代码的文本编辑器。
-
(可选,但推荐使用)IDE(集成开发环境),例如 IntelliJ ID
EA、Eclipse 或NetBeans 。 使用 IDE 时,还可以集成AWS Toolkit以更轻松地使用AWS 服务。AWS Toolkit for IntelliJ和AWS Toolkit for Eclipse是两个可用于 Java 开发的工具包。
-
-
准备好运行应用程序时的活动AWS访问门户会话。您可以AWS Command Line Interface使用启动 IAM 身份中心AWS访问门户的登录流程。
重要
本设置部分中的说明假设您或组织使用 IAM 身份中心。如果您的组织使用独立于 IAM Identity Center 工作的外部身份提供商,请了解如何获取适用于 Java 的 SDK 的临时证书以供使用。按照以下说明向~/.aws/credentials
文件添加临时证书。
如果您的身份提供商自动向~/.aws/credentials
文件添加临时证书,请确保配置文件名称为,[default]
这样您就无需向 SDK 或提供配置文件名称AWS CLI。
AWS访问门户的登录能力
AWS访问门户是您手动登录 IAM 身份中心的 Web 位置。URL 的格式为d-xxxxxxxxxx.awsapps.com/start
或
。如果您不熟悉AWS访问门户,请遵循开发工具包和AWS工具参考指南中 IAM Identity Center 身份验证主题中的账户访问指南。your_subdomain
.awsapps.com/start
设置对 SDK 设置单点登录访问
在完成编程访问部分的步骤 2 以使 SDK 使用 IAM Identity Center 身份验证后,您的系统应包含以下元素。
-
AWS CLI,用于在运行应用程序之前启动AWS访问门户会话。
-
包含默认配置
~/.aws/config
文件的文件。适用于 Java 的 SDK 在向发送请求之前使用配置文件的 SSO 令牌提供者配置来获取凭据AWS。该sso_role_name
值是连接到 IAM Identity 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 令牌提供者配置中使用的设置的更多详细信息,请参阅 SAWS DK 和工具参考指南中的 SSO 令牌提供者配置。
如果您的开发环境未如前所示设置为编程访问,请按照 SDK 参考指南中的步骤 2 进行操作。
使用登录AWS CLI
在运行可访问AWS 服务的应用程序之前,您需要一个活跃的AWS访问门户会话,以便 SDK 使用 IAM Identity Center 身份验证来解析证书。在中运行以下命令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。
选择 “允许” 以授权访问您的AWS CLI和SDK for Java 的信息。
安装 Java 和生成工具
您的开发环境需要以下内容:
-
Java 8 或更高版本。可AWS SDK for Java与 Oracle Java SE 开发套件
以及红帽 OpenJDK 和AdoptOpen JDK 等 Open Java 开发套件 (OpenJDK ) 的发行版一起使用。Amazon Corretto -
支持 Maven Central 的编译工具或 IDE,例如 Apache Maven、Gradle 或 IntelliJ。
-
有关如何安装和使用的信息,请参阅 http://maven.apache.org/
。 -
有关如何安装和使用的信息,请参阅 https://gradle.org/
。 -
有关如何安装和使用的信息 IntelliJ 请参阅 https://www.jetbrains.com/idea/
。
-
其他身份验证选项
有关 SDK 身份验证的更多选项,例如配置文件和环境变量的使用,请参阅AWS SDK 和工具参考指南中的配置章节。