S3 Express One Zone 会话身份验证
注意
如需获得相关帮助,以了解设置页面的布局或解释后面的 Amazon SDK 和工具支持表,请参阅了解本指南的设置页面。
S3 Express One Zone 是 Amazon S3 的高性能存储类别,可为频繁访问的数据提供低至几毫秒的延迟。使用 S3 Express One Zone 存储桶时,Amazon SDK 和工具会自动使用专为低延迟数据请求授权进行优化的基于会话的身份验证。您可以将会话令牌与可用区级(对象级)操作结合使用,从而分散为一个会话中的多个请求进行授权有关的延迟,降低身份验证开销并提高整体请求性能。
S3 Express One Zone 存储桶使用包含可用区 ID 的专用命名格式,例如 bucket-name--usw2-az1--x-s3。当 SDK 检测到这种命名模式时,将会自动将请求路由到相应的 S3 Express One Zone 端点,并应用优化的身份验证流程。会话身份验证会创建临时的存储桶特定凭证,从而提供对存储桶的低延迟访问,并由 SDK 自动缓存和刷新。要了解更多信息,请参阅《Amazon S3 用户指南》中的 S3 Express One Zone。
S3 Express One Zone 存储桶会默认启用会话身份验证。
使用以下方法配置此功能:
s3_disable_express_session_auth- 共享 Amazonconfig文件设置AWS_S3_DISABLE_EXPRESS_SESSION_AUTH- 环境变量aws.disableS3ExpressAuth:JVM 系统属性,仅适用于 Java/Kotlin-
控制是否禁用 S3 Express One Zone 会话身份验证。设置为
true时,SDK 将为 S3 Express One Zone 存储桶使用标准的 Sigv4 身份验证,而不是会话身份验证。默认值:
false有效值:
-
true:禁用 S3 Express One Zone 会话身份验证。 -
false:启用 S3 Express One Zone 会话身份验证。
-
在 config 文件中设置此值的示例:
[default] s3_disable_express_session_auth=true
Linux/macOS 通过命令行设置环境变量的示例:
export AWS_S3_DISABLE_EXPRESS_SESSION_AUTH=true
Windows 通过命令行设置环境变量的示例:
setx AWS_S3_DISABLE_EXPRESS_SESSION_AUTH true
Amazon SDK 和工具支持
以下 SDK 支持本主题中所述的功能和设置。所有部分例外情况均已注明。任何 JVM 系统属性设置都仅支持 适用于 Java 的 Amazon SDK 和 适用于 Kotlin 的 Amazon SDK。
| SDK | 支持 | 备注或更多信息 |
|---|---|---|
| Amazon CLI v2 | 是 | |
| Amazon CLI v1 | 否 | |
| 适用于 C++ 的 SDK | 是 | |
| 适用于 Go V2 (1.x) 的 SDK |
是 | |
| 适用于 Go 1.x(V1)的 SDK | 否 | 要使用共享 config 文件设置,必须开启从配置文件加载的功能;请参阅会话。 |
| 适用于 Java 2.x 的 SDK | 是 | |
| 适用于 Java 1.x 的 SDK | 否 | |
| 适用于 JavaScript 3.x 的 SDK | 是 | |
| 适用于 JavaScript 2.x 的 SDK | 否 | |
| 适用于 Kotlin 的 SDK | 是 | JVM 系统属性为 aws.s3DisableExpressSessionAuth。 |
| 适用于 .NET 4.x 的 SDK | 是 | |
| 适用于 .NET 3.x 的 SDK | 是 | |
| 适用于 PHP 3.x 的 SDK | 是 | |
| 适用于 Python (Boto3) 的 SDK |
是 | |
| 适用于 Ruby 3.x 的 SDK | 是 | |
| 适用于 Rust 的 SDK | 是 | |
| 适用于 Swift 的 SDK | 是 | |
| Tools for PowerShell V5 | 是 | |
| Tools for PowerShell V4 | 是 |