要使用的基本设置AWS 服务 - AWS SDK for Java 2.x

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

要使用的基本设置AWS 服务

概览

要成功开发AWS 服务使用进行访问的应用程序AWS SDK for Java,需要满足以下条件:

重要

本设置部分中的说明假设您或组织使用 IAM 身份中心。如果您的组织使用独立于 IAM Identity Center 工作的外部身份提供商,请了解如何获取适用于 Java 的 SDK 的临时证书以供使用。按照以下说明~/.aws/credentials文件添加临时证书。

如果您的身份提供商自动向~/.aws/credentials文件添加临时证书,请确保配置文件名称为,[default]这样您就无需向 SDK 或提供配置文件名称AWS CLI。

AWS访问门户的登录能力

AWS访问门户是您手动登录 IAM 身份中心的 Web 位置。URL 的格式为d-xxxxxxxxxx.awsapps.com/startyour_subdomain.awsapps.com/start。如果您不熟悉AWS访问门户,请遵循开发工具包和AWS工具参考指南中 IAM Identity Center 身份验证主题中的账户访问指南。

设置对 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 和生成工具

您的开发环境需要以下内容:

其他身份验证选项

有关 SDK 身份验证的更多选项,例如配置文件和环境变量的使用,请参阅AWS SDK 和工具参考指南中的配置章节。