本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 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访问门户会话。
-
一种共享Amazon
config
文件,[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无需将其他软件包(例如SSO
和SSOOIDC
)添加到您的应用程序中即可使用 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) 来管理您的账户的访问权限和这些账户中的权限。有关更多替代方案,请参阅以下内容:
-
要了解有关最佳实践的更多信息,请参阅 IAM 用户指南中的 IAM 中的安全最佳实践。
-
要创建短期Amazon证书,请参阅 IAM 用户指南中的临时安全证书。
-
要了解其他Amazon SDK for PHP证书提供者,请参阅 AmazonSDK 和工具参考指南中的标准化凭证提供者。