本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS 访问密钥
警告
为了避免安全风险,在开发专用软件或处理真实数据时,请勿使用 IAM 用户进行身份验证,而是使用与身份提供者的联合身份验证,例如 AWS IAM Identity Center。
AWS IAM 用户的访问密钥可用作您的 AWS 证书。 AWS SDK 会自动使用这些 AWS
凭据签署 API 请求 AWS,以便您的工作负载可以安全、方便地访问您的 AWS 资源和数据。建议始终使用aws_session_token
,这样凭证才是临时的,过期后不再有效。不建议使用长期证书。
注意
如果无法刷新这些临时证书, AWS 则 AWS 可能会延长证书的有效期,这样您的工作负载就不会受到影响。
共享 AWS credentials
文件是存储凭据信息的推荐位置,因为它安全地位于应用程序源目录之外,并且与共享config
文件的 SDK 特定设置是分开的。
要了解有关 AWS 证书和使用访问密钥的更多信息,请参阅 IAM 用户指南中的AWS 安全证书和管理 IAM 用户的访问密钥。
使用以下方法配置此功能:
aws_access_key_id
-共享 AWSconfig
文件设置aws_access_key_id
-共享 AWScredentials
文件设置(推荐方法)AWS_ACCESS_KEY_ID
- 环境变量aws.accessKeyId
-JVM 系统属性:仅限 Java/Kotlin-
指定作为证书一部分用于对用户进行身份验证的 AWS 访问密钥。
aws_secret_access_key
-共享 AWSconfig
文件设置aws_secret_access_key
-共享 AWScredentials
文件设置(推荐方法)AWS_SECRET_ACCESS_KEY
- 环境变量aws.secretAccessKey
-JVM 系统属性:仅限 Java/Kotlin-
指定用作验证用户身份的凭证一部分的 AWS 密钥。
aws_session_token
-共享 AWSconfig
文件设置aws_session_token
-共享 AWScredentials
文件设置(推荐方法)AWS_SESSION_TOKEN
- 环境变量aws.sessionToken
-JVM 系统属性:仅限 Java/Kotlin-
指定一个 AWS 会话令牌,该令牌用作对用户进行身份验证的凭证的一部分。您会收到此值作为成功请求承担角色所返回的临时凭证的一部分。只有在手动指定临时安全凭证时才需要会话令牌。但是,我们建议您始终使用临时安全凭证代替长期凭证。有关安全建议,请参阅 IAM 中的安全最佳实践。
有关如何获取这些值的说明,请参阅 使用短期凭证进行身份验证 AWS SDKs 和工具。
在config
或credentials
文件中设置这些必需值的示例:
[default] aws_access_key_id =
AKIAIOSFODNN7EXAMPLE
aws_secret_access_key =wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token =AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
Linux/macOS 通过命令行设置环境变量的示例:
export AWS_ACCESS_KEY_ID=
AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_SESSION_TOKEN=AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
Windows 通过命令行设置环境变量的示例:
setx AWS_ACCESS_KEY_ID
AKIAIOSFODNN7EXAMPLE
setx AWS_SECRET_ACCESS_KEYwJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
setx AWS_SESSION_TOKENAQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
Support AWS SDKs by 和工具
以下内容 SDKs 支持本主题中描述的功能和设置。所有部分例外情况均已注明。 AWS SDK for Java 和 AWS SDK for Kotlin 唯一支持任何 JVM 系统属性设置。
SDK | 支持 | 备注或更多信息 |
---|---|---|
AWS CLI v2 | 是 | |
适用于 C++ 的 SDK | 是 | 不支持共享的config 文件。 |
适用于 Go V2 (1.x) 的 SDK |
是 | |
适用于 Go 1.x(V1)的 SDK | 是 | 要使用共享 config 文件设置,必须开启从配置文件加载的功能;请参阅会话。 |
适用于 Java 2.x 的 SDK | 是 | |
适用于 Java 1.x 的 SDK | 是 | |
适用于 JavaScript 3.x 的软件开发工具包 | 是 | |
适用于 JavaScript 2.x 的 SDK | 是 | |
适用于 Kotlin 的 SDK | 是 | |
适用于 .NET 3.x 的 SDK | 是 | 不支持环境变量。 |
适用于 PHP 3.x 的 SDK | 是 | |
适用于 Python (Boto3) 的 SDK |
是 | |
适用于 Ruby 3.x 的 SDK | 是 | |
适用于 Rust 的 SDK | 是 | |
适用于 Swift 的 SDK | 是 | |
用于 PowerShell | 是 | 不支持环境变量。 |