

# 对请求进行身份验证和授权
<a name="s3-express-authenticating-authorizing"></a>

默认情况下，目录存储桶为私有，只有被明确授予访问权限的用户才可以访问。目录存储桶的访问控制边界仅在存储桶级设置。与之相对，通用存储桶的访问控制边界可以在存储桶、前缀或对象标签级设置。这种不同意味着，对于 S3 Express One Zone 访问权限，目录存储桶是唯一可以包括在存储桶策略或 IAM 身份策略中的资源。

Amazon S3 Express One Zone 同时支持 Amazon Identity and Access Management（Amazon IAM）授权和基于会话的授权：
+ 要在 S3 Express One Zone 中使用区域端点 API 操作（桶级或控制面板操作），请使用 IAM 授权模型，该模型不涉及会话管理。对于操作，将单独授予权限。有关更多信息，请参阅 [使用 IAM 对区域端点 API 操作进行授权](s3-express-security-iam.md)。
+ 要使用可用区端点 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 会代表您创建会话。

使用 `CreateSession` API 操作时，可以通过新的基于会话的机制，对请求进行身份验证和授权。您可以使用 `CreateSession` 来请求临时凭证，以便提供对存储桶的低延迟访问。这些临时凭证的作用范围限制为特定的目录存储桶。

要使用 `CreateSession`，我们建议使用最新版本的 Amazon SDK 或者使用 Amazon Command Line Interface（Amazon CLI）。支持的 Amazon SDK 以及 Amazon CLI 代表您处理会话的建立、刷新和终止。

您可以使用会话令牌以及仅限可用区（对象级）的操作（`CopyObject` 和 `HeadBucket` 除外），在一个会话中的多个请求上分配与授权关联的延迟。对于区域端点 API 操作（存储桶级操作），您可以使用 IAM 授权，这不涉及对会话的管理。有关更多信息，请参阅[使用 IAM 对区域端点 API 操作进行授权](s3-express-security-iam.md)和[使用 `CreateSession` 对可用区端点 API 操作进行授权](s3-express-create-session.md)。

## 如何对 API 操作进行身份验证和授权
<a name="s3-express-security-iam-authorization"></a>

下表列出了目录存储桶 API 操作的身份验证和授权信息。对于每个 API 操作，表中显示了 API 操作名称、IAM 策略操作、端点类型（区域或可用区）和授权机制（IAM 或基于会话）。此表还指出了是否支持跨账户访问。对存储桶级操作的访问权限，只能在基于 IAM 身份的策略（用户或角色）中授予，不能在存储桶策略中授予。


| API | 端点类型 | IAM 操作 | 跨账户访问 | 
| --- | --- | --- | --- | 
| CreateBucket | 区域性的 | s3express:CreateBucket | 否 | 
| DeleteBucket | 区域性的 | s3express:DeleteBucket | 否 | 
| ListDirectoryBuckets | 区域性的 | s3express:ListAllMyDirectoryBuckets | 否 | 
| PutBucketPolicy | 区域性的 | s3express:PutBucketPolicy | 否 | 
| GetBucketPolicy | 区域性的 | s3express:GetBucketPolicy | 否 | 
| DeleteBucketPolicy | 区域性的 | s3express:DeleteBucketPolicy | 否 | 
| CreateSession | 可用区 | s3express:CreateSession | 是 | 
| CopyObject | 可用区 | s3express:CreateSession | 是  | 
| DeleteObject | 可用区 | s3express:CreateSession | 是  | 
| DeleteObjects | 可用区 | s3express:CreateSession | 是  | 
| HeadObject | 可用区 | s3express:CreateSession | 是  | 
| PutObject | 可用区 | s3express:CreateSession | 是 | 
| RenameObject | 可用区 | s3express:CreateSession | 否 | 
| GetObjectAttributes | 可用区 | s3express:CreateSession | 是 | 
| ListObjectsV2 | 可用区 | s3express:CreateSession | 是  | 
| HeadBucket | 可用区 | s3express:CreateSession | 是  | 
| CreateMultipartUpload | 可用区 | s3express:CreateSession | 是 | 
| UploadPart | 可用区 | s3express:CreateSession | 是  | 
| UploadPartCopy | 可用区 | s3express:CreateSession | 是  | 
| CompleteMultipartUpload | 可用区 | s3express:CreateSession | 是  | 
| AbortMultipartUpload | 可用区 | s3express:CreateSession | 是  | 
| ListParts | 可用区 | s3express:CreateSession | 是  | 
| ListMultipartUploads | 可用区 | s3express:CreateSession | 是  | 
| ListAccessPointsForDirectoryBuckets | 可用区 | s3express:ListAccessPointsForDirectoryBuckets | 是 | 
| GetAccessPointScope | 可用区 | s3express:GetAccessPointScope | 是 | 
| PutAccessPointScope | 可用区 | s3express:PutAccessPointScope | 是 | 
| DeleteAccessPointScope | 可用区 | s3express:DeleteAccessPointScope | 是 | 

**Topics**
+ [如何对 API 操作进行身份验证和授权](#s3-express-security-iam-authorization)
+ [使用 IAM 对区域端点 API 操作进行授权](s3-express-security-iam.md)
+ [使用 `CreateSession` 对可用区端点 API 操作进行授权](s3-express-create-session.md)