使用配置SDK身份验证 AWS - AWS SDK for .NET

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

使用配置SDK身份验证 AWS

使用开发 AWS 时,您必须确定您的代码是如何进行身份验证的。 AWS 服务您可以通过不同的方式配置对 AWS 资源的编程访问权限,具体取决于环境和可用的 AWS 访问权限。

要查看的各种身份验证方法SDK,请参阅《工具参考指南》和《工具参考指南》中的身份验证AWS SDKs和访问权限

本主题假设新用户正在本地开发,雇主未向其提供身份验证方法,并将使用该用户 AWS IAM Identity Center 来获取临时证书。如果您的环境与这些假设不符,则本主题中的某些信息可能不适用于您,或者某些信息可能已经提供给您。

配置此环境需要几个步骤,总结如下:

启用和配置IAM身份中心

要使用 I IAM dentity Center,必须先启用并配置它。要查看有关如何执行此操作的详细信息SDK,请查看AWS SDKs和工具参考指南中 Identity Cent er IAM 身份验证主题中的步骤 1。具体而言,请按照 “我尚未通过IAM身份中心建立访问权限” 中的所有必要说明进行操作

配置SDK为使用IAM身份中心。

有关如何配置为使用 Ident IAM ity Center 的信息,请参阅《AWS SDKs和工具参考指南》IAM身份中心身份验证主题的步骤 2。SDK完成此配置后,您的系统应包含以下元素:

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

  • 该共享 AWS config文件包含一个配置文件,该[default]配置文件具有一组配置值,可以从中引用SDK。要查找此文件的位置,请参阅AWS SDKs和工具参考指南中的共享文件的位置。在向发送请求之前, AWS SDK for .NET 使用配置文件的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
重要

如果您使用 AWS IAM Identity Center 进行身份验证,则您的应用程序必须引用以下 NuGet软件包才能进行SSO解析:

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

未能引用这些程序包将导致运行时系统异常。

启动 AWS 访问门户会话

在运行可访问的应用程序之前 AWS 服务,您需要一个有效的 AWS 访问门户会话才能使用 Identity Center IAM 身份验证来解析凭据。SDK根据您配置的会话时长,您的访问权限最终将过期,并且SDK会遇到身份验证错误。要登录 AWS 访问门户,请在中运行以下命令 AWS CLI。

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正在运行,则无需提供凭据。

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

其他信息

  • 有关在开发环境SSO中使用 I IAM dentity Center 的其他信息,请参阅一高级身份验证单点登录中的。此信息包括替代方法和更高级的方法,以及向您展示如何使用这些方法的教程。

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

  • 要了解有关最佳实践的更多信息,请参阅IAM用户指南IAM中的安全最佳实践

  • 要创建短期 AWS 证书,请参阅IAM用户指南中的临时安全证书

  • 要了解其他凭证提供商,请参阅《工具参考指南》AWS SDKs中的标准化凭证提供商