使用 CreateSession
对可用区端点 API 操作进行授权
要使用可用区端点 API 操作(对象级或数据面板操作),但 CopyObject
和 HeadBucket
除外,可以使用 CreateSession
API 操作来创建和管理会话,这些会话经过优化,可为数据请求提供低延迟的授权。要检索和使用会话令牌,您必须在基于身份的策略或存储桶策略中,允许对目录存储桶执行 s3express:CreateSession
操作。有关更多信息,请参阅 使用 IAM 对区域端点 API 操作进行授权。如果您在 Amazon S3 控制台中通过 Amazon Command Line Interface(Amazon CLI)或使用 Amazon SDK 访问 S3 Express One Zone,S3 Express One Zone 会代表您创建会话。但是,当使用 Amazon CLI 或 Amazon SDK 时,无法修改 SessionMode
参数。
如果您使用 Amazon S3 REST API,则可以使用 CreateSession
API 操作获取临时安全凭证,其中包括访问密钥 ID、秘密访问密钥、会话令牌和到期时间。临时凭证提供的权限与长期安全凭证(例如 IAM 用户凭证)相同,但临时安全凭证必须包括会话令牌。
会话模式
会话模式定义会话的范围。在存储桶策略中,您可以指定 s3express:SessionMode
条件密钥,以便控制谁可以创建 ReadWrite
或 ReadOnly
会话。有关 ReadWrite
或 ReadOnly
会话的更多信息,请参阅《Amazon S3 API 参考》中 CreateSession 的 x-amz-create-session-mode
参数。有关要创建的存储桶策略的更多信息,请参阅 目录存储桶的存储桶策略示例。
会话令牌
当您使用临时安全凭证进行调用时,调用必须包含会话令牌。会话令牌与临时凭证一起返回。会话令牌的范围仅限于您的目录存储桶,用于验证安全凭证是否有效且未过期。为了保护您的会话,临时安全凭证在 5 分钟后过期。
CopyObject
和 HeadBucket
临时安全凭证的范围限定为特定的目录存储桶,并且对于发送到给定目录存储桶的所有可用区(对象级)操作 API 调用,将自动启用临时安全凭证。与其他可用区端点 API 操作不同,CopyObject
和 HeadBucket
不使用 CreateSession
身份验证。所有 CopyObject
和 HeadBucket
请求都必须使用 IAM 凭证进行身份验证和签名。但是,CopyObject
和 HeadBucket
与其他可用区端点 API 操作一样,仍由 s3express:CreateSession
授权。
有关更多信息,请参阅《Amazon Simple Storage Service API 参考》中的 CreateSession。