授权和身份验证缓存
S3 on Outposts 可在 Outposts 机架上安全地在本地缓存身份验证和授权数据。该缓存会针对每个请求,删除到父 Amazon Web Services 区域的往返行程。这能够消除网络往返带来的可变性。借助 S3 on Outposts 中的身份验证和授权缓存功能,您可以获得与 Outposts 和Amazon Web Services 区域 之间的连接延迟无关的一致延迟。
当您发出 S3 on Outposts API 请求时,身份验证和授权数据会被安全地缓存。然后,缓存的数据可用于对后续 S3 对象 API 请求进行身份验证。在使用签名版本 4A(SigV4A)对请求进行签名时,S3 on Outposts 仅缓存身份验证和授权数据。缓存本地存储在 S3 on Outposts 服务中的 Outposts 上。当您发出 S3 API 请求时,它会异步刷新。缓存已加密,Outposts 上不会存储任何纯文本加密密钥。
当 Outpost 连接到 Amazon Web Services 区域时,缓存的有效期最长为 10 分钟。当您发出 S3 on Outposts API 请求时,它会异步刷新,以确保使用最新策略。如果 Outpost 与 Amazon Web Services 区域断开连接,则缓存的有效期最长为 12 小时。
配置授权和身份验证缓存
S3 on Outposts 会针对使用 Sigv4a 算法进行签名的请求,自动缓存身份验证和授权数据。有关更多信息,请参阅《Amazon Identity and Access Management 用户指南》中的对 Amazon API 请求进行签名。在最新版本的 Amazon SDK 中提供了 SigV4A 算法。您可以通过依赖 Amazon 公共运行时(CRT)库来获取它。
您需要使用最新版本的 Amazon SDK 并安装最新版本的 CRT。例如,您可以通过运行 pip install awscrt
使用 Boto3 来获取最新版本的 CRT。
S3 on Outposts 不会针对使用 SigV4 算法进行签名的请求,缓存身份验证和授权数据。
验证 SigV4A 签名
您可以使用 Amazon CloudTrail 来验证是否已使用 SigV4A 对请求进行了签名。有关为 S3 on Outposts 设置 CloudTrail 的更多信息,请参阅使用 Amazon CloudTrail 日志监控 S3 on Outposts。
配置 CloudTrail 后,您可以在 CloudTrail 日志的 SignatureVersion
字段中验证是否已对请求进行了签名。使用 SigV4A 进行了签名的请求的 SignatureVersion
将设置为 Amazon4-ECDSA-P256-SHA256
。使用 SigV4 进行了签名的请求的 SignatureVersion
将设置为 Amazon4-HMAC-SHA256
。