本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
S3 快速一区会话身份验证
注意
如需了解设置页面布局或解释后面的 Support b y AWS SDKs 和 tools 表格的帮助,请参阅了解本指南的设置页面。
S3 Express One Zone 是 Amazon S3 的高性能存储类别,它为经常访问的数据提供个位数的毫秒延迟。当您使用 S3 Express One Zone 存储桶 AWS SDKs 和工具时,会自动使用基于会话的身份验证,该身份验证针对数据请求的低延迟授权进行了优化。您可以使用带有 Zonal(对象级)操作的会话令牌将与授权相关的延迟分配给会话中的多个请求,从而减少身份验证开销并提高整体请求性能。
S3 Express One Zone 存储桶使用包含可用区 ID 的特定命名格式,例如bucket-name--usw2-az1--x-s3。当 SDK 检测到这种命名模式时,它会自动将请求路由到相应的 S3 Express One Zone 终端节点,并应用优化的身份验证流程。会话身份验证会创建临时的、特定于存储桶的证书,这些凭证提供对存储桶的低延迟访问,并由 SDK 自动缓存和刷新。要了解更多信息,请参阅 Amazon S3 用户指南中的 S3 Express One 区域。
默认情况下,S3 Express One Zone 存储桶启用会话身份验证。
使用以下方法配置此功能:
s3_disable_express_session_auth-共享 AWSconfig文件设置AWS_S3_DISABLE_EXPRESS_SESSION_AUTH- 环境变量aws.disableS3ExpressAuth-JVM 系统属性:仅限 Java/Kotlin-
控制是否禁用 S3 Express One 区域会话身份验证。设置为时
true,SDK 对 S3 Express One Zone 存储桶使用标准 Sigv4 身份验证,而不是会话身份验证。默认值:
false有效值:
-
true— 禁用 S3 快速一区会话身份验证。 -
false— 启用 S3 快速一区会话身份验证。
-
在 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
Support AWS SDKs by 和工具
以下内容 SDKs 支持本主题中描述的功能和设置。所有部分例外情况均已注明。 适用于 Java 的 AWS SDK 和 适用于 Kotlin 的 AWS SDK 唯一支持任何 JVM 系统属性设置。
| SDK | 支持 | 备注或更多信息 |
|---|---|---|
| AWS CLI v2 | 是 | |
| AWS 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 的软件开发工具包 | 是 | |
| 适用于 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 | 是 | |
| 适用于 PowerShell V5 的工具 | 是 | |
| 适用于 PowerShell V4 的工具 | 是 |