

# 使用 `CreateSession` 对可用区端点 API 操作进行授权
<a name="s3-express-create-session"></a>

要使用可用区端点 API 操作（对象级或数据面板操作），但 `CopyObject` 和 `HeadBucket` 除外，可以使用 `CreateSession` API 操作来创建和管理会话，这些会话经过优化，可为数据请求提供低延迟的授权。要检索和使用会话令牌，您必须在基于身份的策略或存储桶策略中，允许对目录存储桶执行 `s3express:CreateSession` 操作。有关更多信息，请参阅 [使用 IAM 对区域端点 API 操作进行授权](s3-express-security-iam.md)。如果您在 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 用户凭证）相同，但临时安全凭证必须包括会话令牌。

**会话模式**  
会话模式定义会话的范围。如果未在 CreateSession API 请求中指定会话模式，则 CreateSession 操作将尝试使用支持的最大权限创建会话，首先尝试 `ReadWrite`，然后仅在策略不允许 `ReadWrite` 的情况下才回退到 `ReadOnly`。在存储桶策略中，您可以指定 `s3express:SessionMode` 条件键，以便显式控制谁可以创建 `ReadWrite` 或 `ReadOnly` 会话。有关 `ReadWrite` 或 `ReadOnly` 会话的更多信息，请参阅《Amazon S3 API 参考》**中 [https://docs.amazonaws.cn/AmazonS3/latest/API/API_CreateSession.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_CreateSession.html) 的 `x-amz-create-session-mode` 参数。有关要创建的存储桶策略的更多信息，请参阅 [目录存储桶的存储桶策略示例](s3-express-security-iam-example-bucket-policies.md)。

**会话令牌**  
当您使用临时安全凭证进行调用时，调用必须包含会话令牌。会话令牌与临时凭证一起返回。会话令牌的范围仅限于您的目录存储桶，用于验证安全凭证是否有效且未过期。为了保护您的会话，临时安全凭证在 5 分钟后过期。

**`CopyObject`和`HeadBucket`**  
临时安全凭证的范围限定为特定的目录存储桶，并且对于发送到给定目录存储桶的所有可用区（对象级）操作 API 调用，将自动启用临时安全凭证。与其他可用区端点 API 操作不同，`CopyObject` 和 `HeadBucket` 不使用 `CreateSession` 身份验证。所有 `CopyObject` 和 `HeadBucket` 请求都必须使用 IAM 凭证进行身份验证和签名。但是，`CopyObject` 和 `HeadBucket` 与其他可用区端点 API 操作一样，仍由 `s3express:CreateSession` 授权。

有关更多信息，请参阅《Amazon Simple Storage Service API 参考》**中的 [https://docs.amazonaws.cn/AmazonS3/latest/API/API_CreateSession.html](https://docs.amazonaws.cn/AmazonS3/latest/API/API_CreateSession.html)。