Amazon 访问密钥 - Amazon 软件开发工具包和工具
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon 访问密钥

警告

为了避免安全风险,在开发专用软件或处理真实数据时,请勿使用 IAM 用户进行身份验证,而是使用与身份提供商的联合身份验证,例如 Amazon IAM Identity Center

Amazon IAM 用户的访问密钥可用作您的 Amazon 证书。 Amazon SDK 会自动使用这些 Amazon 凭据签署 API 请求 Amazon,以便您的工作负载可以安全、方便地访问您的 Amazon 资源和数据。建议始终使用aws_session_token,这样凭证才是临时的,过期后不再有效。不推荐使用长期凭证。

注意

如果无法刷新这些临时证书, Amazon 则 Amazon 可能会延长证书的有效期,这样您的工作负载就不会受到影响。

共享 Amazon credentials文件是存储凭据信息的推荐位置,因为它安全地位于应用程序源目录之外,并且与共享config文件的 SDK 特定设置是分开的。

要了解有关 Amazon 证书和使用访问密钥的更多信息,请参阅 IAM 用户指南中的Amazon 安全证书和管理 IAM 用户的访问密钥。

使用以下方法配置此功能:

aws_access_key_id-共享 Amazon config文件设置
aws_access_key_id-共享 Amazon credentials文件设置(推荐方法)
AWS_ACCESS_KEY_ID - 环境变量
aws.accessKeyId-JVM 系统属性:仅限 Java/Kotlin

指定作为证书一部分用于对用户进行身份验证的 Amazon 访问密钥。

aws_secret_access_key-共享 Amazon config文件设置
aws_secret_access_key-共享 Amazon credentials文件设置(推荐方法)
AWS_SECRET_ACCESS_KEY - 环境变量
aws.secretAccessKey-JVM 系统属性:仅限 Java/Kotlin

指定用作验证用户身份的凭证一部分的 Amazon 密钥。

aws_session_token-共享 Amazon config文件设置
aws_session_token-共享 Amazon credentials文件设置(推荐方法)
AWS_SESSION_TOKEN - 环境变量
aws.sessionToken-JVM 系统属性:仅限 Java/Kotlin

指定一个 Amazon 会话令牌,该令牌用作对用户进行身份验证的凭证的一部分。您会收到此值作为成功请求承担角色所返回的临时凭证的一部分。只有在手动指定临时安全凭证时才需要会话令牌。但是,我们建议您始终使用临时安全凭证代替长期凭证。有关安全建议,请参阅 IAM 中的安全最佳实践

有关如何获取这些值的说明,请参阅 使用短期凭证进行身份验证

configcredentials文件中设置这些必需值的示例:

[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_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY setx AWS_SESSION_TOKEN AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk

与 Amazon SDK 的兼容性

以下 SDK 支持本主题中所述的功能和设置。所有部分例外情况均已注明。 Amazon SDK for Java 和 Amazon SDK for Kotlin 唯一支持任何 JVM 系统属性设置。

SDK 支持 备注或更多信息
Amazon 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 支持
用于 PowerShell 支持 不支持环境变量。