使用 SDK 身份验证 Amazon - Amazon SDK for PHP
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 SDK 身份验证 Amazon

在使用进行开发Amazon时,必须确定您的代码是如何进行身份验证的。Amazon Web Services您可以根据环境和可用访问权限以不同的方式配置对Amazon资源的编程Amazon访问。

要选择身份验证方法并针对 SDK 进行配置,请参阅 S AmazonDK 和工具参考指南中的身份验证和访问权限

我们建议在本地开发且雇主未向其提供身份验证方法的新用户进行设置Amazon IAM Identity Center。此方法包括安装,Amazon CLI以便于配置和定期登录Amazon访问门户。如果您选择此方法,则在完成 AmazonSDK 和工具参考指南中的 IAM Id entity Center 身份验证过程后,您的环境应包含以下元素:

  • Amazon CLI,用于在运行应用程序之前启动Amazon访问门户会话。

  • 一种共享Amazonconfig文件[default]其配置文件包含一组可从 SDK 引用的配置值。要查找此文件的位置,请参阅 AmazonSDK 和工具参考指南中的共享文件的位置

  • 共享config文件设置了region设置。这设置了 SDK 用于Amazon请求的默认值Amazon Web Services 区域。此区域用于未指定要使用的区域的 SDK 服务请求。

  • 在向发送请求之前,SDK 使用配置文件的 SSO 令牌提供者配置来Amazon获取证书。该sso_role_name值是连接到 IAM 身份中心权限集的 IAM 角色,允许访问您的应用程序中Amazon Web Services使用的。

    以下示例config文件显示了使用 SSO 令牌提供者配置设置的默认配置文件。配置文件的sso_session设置指的是命名sso-session分区。该sso-session部分包含启动Amazon访问门户会话的设置。

    [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

Amazon SDK for PHP无需将其他软件包(例如SSOSSOOIDC)添加到您的应用程序中即可使用 IAM Identity Center 身份验证。

启动Amazon访问门户会话

在运行可访问的应用程序之前,您需要一个活跃的Amazon访问Amazon Web Services门户会话,SDK 才能使用 IAM Identity Center 身份验证来解析证书。根据您配置的会话长度,您的访问权限最终将过期,SDK 会遇到身份验证错误。要登录Amazon访问门户,请在中运行以下命令Amazon CLI。

aws sso login

如果您遵循了指南并设置了默认配置文件,则无需使用--profile选项调用命令。如果您的 SSO 代币提供商配置使用命名配置文件,则命令为aws sso login --profile named-profile

要选择性测试您是否已经有活动会话,请运行以下Amazon CLI命令。

aws sts get-caller-identity

如果您的会话处于活动状态,则对此命令的响应将报告在共享config文件中配置的 IAM Identity Center 账户和权限集。

注意

如果您已经有一个活跃的Amazon访问门户会话并正在运行aws sso login,则无需提供证书。

登录过程可能会提示您允许Amazon CLI访问您的数据。由于Amazon CLI是在适用于 Python 的 SDK 的基础上构建的,因此权限消息可能包含botocore名称的变体。

更多身份验证信息

人类用户,也称为人类身份,是应用程序的人员、管理员、开发人员、操作员和使用者。他们必须有身份才能访问您的 Amazon 环境和应用程序。身为组织成员的人类用户(即开发人员)被称为工作人员身份

访问时使用临时证书Amazon。您可以使用身份提供商来以担任角色的形式提供为人类用户对 Amazon 账户的联合访问权限,这将提供临时证书。要进行集中访问管理,我们建议您使用 Amazon IAM Identity Center (IAM Identity Center) 来管理您的账户的访问权限和这些账户中的权限。有关更多替代方案,请参阅以下内容: