

# 通过接入点管理对目录存储桶中共享数据集的访问权限
<a name="access-points-directory-buckets"></a>

Amazon S3 接入点可简化对 Amazon S3 中的共享数据集的大规模数据访问管理。接入点是您创建的具有唯一性的主机名，用于对通过接入点发出的所有请求强制实施不同的权限和网络控制。您可以为每个存储桶创建数百个接入点，每个接入点都有不同的名称和为每个应用程序自定义的权限。每个接入点都与附加到底层存储桶的存储桶策略结合使用。

在目录存储桶中，接入点名称由您提供的基本名称组成，后跟目录存储桶位置的可用区 ID（AWS 可用区或本地区域），然后为 `--xa-s3`。例如 `accesspointname--zoneID--xa-s3`。创建接入点后，无法更改名称或可用区 ID。

借助目录存储桶的接入点，可以使用接入点范围来限制对特定前缀或 API 操作的访问权限。可以指定任意数量的前缀，但所有前缀的字符总长度必须小于 256 字节。

您可以将任何接入点配置为仅接受来自虚拟私有云（VPC）的请求。这会将 Amazon S3 数据访问限制为私有网络。

在本节中，各主题说明了如何使用目录存储桶的接入点。有关目录存储桶的信息，请参阅[使用目录存储桶](directory-buckets-overview.md)。

**Topics**
+ [目录存储桶的接入点命名规则、限制和局限性](access-points-directory-buckets-restrictions-limitations-naming-rules.md)
+ [引用目录存储桶的接入点](access-points-directory-buckets-naming.md)
+ [目录存储桶的接入点的对象操作](access-points-directory-buckets-service-api-support.md)
+ [配置 IAM 策略以使用目录存储桶的接入点](access-points-directory-buckets-policies.md)
+ [监控和记录目录存储桶的接入点](access-points-directory-buckets-monitoring-logging.md)
+ [创建目录存储桶的接入点](creating-access-points-directory-buckets.md)
+ [管理目录存储桶的接入点](access-points-directory-buckets-manage.md)
+ [将标签与目录存储桶的 S3 接入点结合使用](access-points-db-tagging.md)

# 目录存储桶的接入点命名规则、限制和局限性
<a name="access-points-directory-buckets-restrictions-limitations-naming-rules"></a>

访问点可简化对 Amazon S3 中的共享数据集的大规模数据访问管理。以下主题提供有关接入点命名规则以及限制和局限性的信息。

**Topics**
+ [目录存储桶的接入点的命名规则](#access-points-directory-buckets-names)
+ [目录存储桶的接入点的限制和局限性](#access-points-directory-buckets-restrictions-limitations)

## 目录存储桶的接入点的命名规则
<a name="access-points-directory-buckets-names"></a>

必须在存储桶所在的同一可用区中创建接入点。接入点名称在可用区内必须是唯一的。

接入点名称必须符合 DNS，并且必须满足以下条件：
+ 必须以数字或小写字母开头
+ 您提供的基本名称长度必须在 3 到 50 个字符之间
+ 不能以连字符（`-`）开头或结尾
+ 不能包含下划线 (`_`)、大写字母、空格或句点 (`.`)
+ 必须以后缀 `zoneid--xa--s3` 结尾。

## 目录存储桶的接入点的限制和局限性
<a name="access-points-directory-buckets-restrictions-limitations"></a>

目录存储桶的接入点具有以下限制和局限性：
+ 每个接入点都与一个目录存储桶相关联。创建接入点后，您无法将它与另一个存储桶关联。但是，您可以删除接入点，然后创建一个同名的新接入点，并将其与另一个存储桶相关联。
+ 创建接入点后，无法更改其 Virtual Private Cloud（VPC）配置。
+ 接入点策略的大小限制为 20 KB。
+ 接入点范围前缀的总大小限制为 256 字节。
+ 每个 AWS 区域中的每个 AWS 账户最多可以创建 10000 个接入点。如果您需要在单个区域为一个账户使用超过 10000 个接入点，则可以请求增加服务限额。有关服务限额和请求增加限额的更多信息，请参阅《AWS 一般参考》**中的 [AWS 服务限额](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)。
+ 您只能使用接入点来执行对象操作。您不能使用接入点来执行 Amazon S3 存储桶操作，例如修改或删除存储桶。有关支持的操作的完整列表，请参阅[目录存储桶的接入点的对象操作](access-points-directory-buckets-service-api-support.md)。
+ 您可以按名称、接入点别名或虚拟托管类型 URI 来引用接入点。您无法按 ARN 对接入点进行寻址。有关更多信息，请参阅 [引用目录存储桶的接入点](access-points-directory-buckets-naming.md)。
+ 控制接入点功能的 API 操作（例如 `PutAccessPointPolicy` 和 `GetAccessPointPolicy`）必须指定拥有该接入点的 AWS 账户。
+ 使用 REST API 向接入点发出请求时，必须使用 AWS 签名版本 4。有关对请求进行身份验证的更多信息，请参阅《*Amazon Simple Storage Service API 参考*》中的[验证请求（AWS 签名版本 4）](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html)。
+ 接入点仅支持通过 HTTPS 发出请求。对于通过 HTTP 发出的任何请求，Amazon S3 都会自动以 HTTP 重定向来进行响应，以便将请求升级到 HTTPS。
+ 接入点不支持匿名访问。
+ 如果您为其它账户拥有的存储桶创建接入点（跨账户接入点），则在存储桶拥有者授予您访问该存储桶的权限之前，该跨账户接入点不会授予您访问数据的权限。存储桶拥有者始终保留对数据访问的最终控制权，并且必须更新存储桶策略才能授权来自跨账户接入点的请求。要查看存储桶策略示例，请参阅[配置 IAM 策略以使用目录存储桶的接入点](access-points-directory-buckets-policies.md)。

# 引用目录存储桶的接入点
<a name="access-points-directory-buckets-naming"></a>

创建接入点后，您可以将其用作端点来执行对象操作。对于目录存储桶的接入点，接入点别名与接入点名称相同。您可以对所有数据操作使用接入点名称，而不是存储桶名称。有关这些支持的操作的列表，请参阅[目录存储桶的接入点的对象操作](access-points-directory-buckets-service-api-support.md)。

## 通过虚拟托管类型 URI 引用接入点
<a name="accessing-directory-bucket-through-s3-access-point"></a>

访问点仅支持虚拟主机式寻址。接入点使用与目录存储桶端点相同的格式。有关更多信息，请参阅 [目录存储桶的区域和可用区端点](s3-express-Regions-and-Zones.md)。

S3 接入点不支持通过 HTTP 进行访问。接入点仅支持通过 HTTPS 进行安全访问。

# 目录存储桶的接入点的对象操作
<a name="access-points-directory-buckets-service-api-support"></a>

您可以使用接入点通过以下 S3 数据操作来访问对象。
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)

# 配置 IAM 策略以使用目录存储桶的接入点
<a name="access-points-directory-buckets-policies"></a>

接入点支持 AWS Identity and Access Management（IAM）资源策略，这些策略可让您按资源、用户或其它条件控制接入点的使用。要使应用程序或用户可通过接入点访问对象，接入点和底层存储桶策略都必须允许该请求。

**重要**  
当直接通过存储桶的名称访问目录存储桶时，向该存储桶添加接入点不会改变存储桶的行为。针对存储桶的所有现有操作将继续像以前一样运行。您在接入点策略或接入点范围中包括的限制仅适用于通过该接入点发出的请求。

使用 IAM 资源策略时，请确保在保存策略之前，解决来自 AWS Identity and Access Management Access Analyzer 的安全警告、错误、一般警告和建议。IAM Access Analyzer 将根据 IAM [策略语法](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html)和[最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)运行策略检查，以验证您的策略。这些检查项生成调查结果并提供建议，可帮助您编写可操作且符合安全最佳实践的策略。

要了解有关使用 IAM Access Analyzer 验证策略的更多信息，请参阅《IAM 用户指南》**中的 [IAM Access Analyzer 策略验证](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)。要查看 IAM Access Analyzer 返回的警告、错误和建议的列表，请参阅 [IAM Access Analyzer 策略检查引用](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html)。

## 目录存储桶的接入点策略示例
<a name="access-points-directory-buckets-policy-examples"></a>

以下接入点策略演示了如何控制对目录存储桶的请求。接入点策略需要存储桶 ARN 或接入点 ARN。策略中不支持接入点别名。以下是接入点 ARN 的示例：

```
  arn:aws:s3express:region:account-id:accesspoint/myaccesspoint--zoneID--xa-s3
```

您可以在接入点的详细信息中查看接入点 ARN。有关更多信息，请参阅 [查看目录存储桶的接入点的详细信息](access-points-directory-buckets-details.md)。

**注意**  
在接入点策略中授予的权限仅在底层存储桶也允许相同的访问时才有效。您可以通过两种方式实现这一点：  
**（推荐）**将存储桶的访问控制委派给接入点，如[将访问控制委派到接入点](#access-points-directory-buckets-delegating-control)中所述。
将接入点策略中包含的权限添加到底层存储桶的策略中。

**Example 1 – 将接入点限制为 VPC 网络起源的服务控制策略**  
以下服务控制策略要求使用虚拟私有云（VPC）网络起源创建所有新的接入点。实施此策略后，组织中的用户无法创建任何可通过互联网访问的接入点。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Effect": "Deny",
        "Action": "s3express:CreateAccessPoint",
        "Resource": "*",
        "Condition": {
            "StringNotEquals": {
                "s3express:AccessPointNetworkOrigin": "VPC"
            }
        }
    }
  ]
}
```

**Example 2 – 接入点策略，用于将存储桶访问权限限制为具有 VPC 网络来源的接入点**  
以下接入点策略将对存储桶 *amzn-s3-demo-bucket--zoneID--x-s3* 的所有访问权限限制为具有 VPC 网络来源的接入点内。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyCreateSessionFromNonVPC",
            "Principal": "*",
            "Action": "s3express:CreateSession",
            "Effect": "Deny",
            "Resource": "arn:aws:s3express:us-east-1:111122223333:bucket/amzn-s3-demo-bucket--usw2-az1--x-s3"
        }
    ]
}
```

## 条件键
<a name="access-points-directory-buckets-condition-keys"></a>

目录存储桶的接入点具有条件键，您可以在 IAM 策略中使用这些键来控制对资源的访问。以下条件键仅代表 IAM 策略的一部分。有关完整策略示例，请参阅[目录存储桶的接入点策略示例](#access-points-directory-buckets-policy-examples)、[将访问控制委派到接入点](#access-points-directory-buckets-delegating-control)和[授予跨账户接入点的权限](#access-points-directory-buckets-cross-account)。

**`s3express:DataAccessPointArn`**  
此示例说明如何按接入点的 Amazon 资源名称（ARN）筛选访问权限，并匹配区域 *region* 中 AWS 账户 *111122223333* 的所有接入点：  

```
"Condition" : {
    "StringLike": {
        "s3express:DataAccessPointArn": "arn:aws:s3express:region:111122223333:accesspoint/*"
    }
}
```

**`s3express:DataAccessPointAccount`**  
此示例显示一个字符串运算符，您可以使用它匹配接入点拥有者的账户 ID。以下示例匹配 AWS 账户 *`111122223333`* 拥有的所有接入点。  

```
"Condition" : {
    "StringEquals": {
        "s3express:DataAccessPointAccount": "111122223333"
    }
}
```

**`s3express:AccessPointNetworkOrigin`**  
此示例显示一个字符串运算符，您可以使用它来匹配网络起源（`Internet` 或 `VPC`）。以下示例仅匹配起源为 VPC 的接入点。  

```
"Condition" : {
    "StringEquals": {
        "s3express:AccessPointNetworkOrigin": "VPC"
    }
}
```

**`s3express:Permissions`**  
您可以使用 `s3express:Permissions` 来限制对接入点范围中特定 API 操作的访问权限。支持以下 API 操作：  
+ `PutObject`
+ `GetObject`
+ `DeleteObject`
+ `ListBucket`（对于 `ListObjectsV2` 是必需的）
+ `GetObjectAttributes`
+ `AbortMultipartUpload`
+ `ListBucketMultipartUploads`
+ `ListMultipartUploadParts`
使用多值条件键时，我们建议您将 `ForAllValues` 与 `Allow` 语句结合使用，并将 `ForAnyValue` 与 `Deny` 语句结合使用。有关更多信息，请参阅《IAM 用户指南》中的[多值上下文键](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-single-vs-multi-valued-context-keys.html#reference_policies_condition-multi-valued-context-keys)。

有关在 Amazon S3 中使用条件键的更多信息，请参阅《Service Authorization Reference》**中的 [Actions, resources, and condition keys for Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html)。

有关 S3 资源类型对 S3 API 操作所需权限的更多信息，请参阅 [Amazon S3 API 操作所需的权限](using-with-s3-policy-actions.md)。

## 将访问控制委派到接入点
<a name="access-points-directory-buckets-delegating-control"></a>

您可以将访问控制从存储桶策略委派到接入点策略。以下示例存储桶策略允许对存储桶拥有者账户所拥有的所有接入点进行完全访问。在应用此策略后，对此存储桶的所有访问权限都由接入点策略控制。我们建议您以这种方式为所有不需要直接访问存储桶的使用案例配置存储桶。

**Example 将访问控制委派给接入点的存储桶策略**  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement" : [
    {
        "Effect": "Allow",
        "Principal" : { "AWS": "*" },
        "Action" : "*",
        "Resource" : [ "Bucket ARN",
        "Condition": {
            "StringEquals" : { "s3express:DataAccessPointAccount" : "Bucket owner's account ID" }
        }
    }]
}
```

## 授予跨账户接入点的权限
<a name="access-points-directory-buckets-cross-account"></a>

要为另一个账户拥有的存储桶创建接入点，您必须首先通过指定存储桶名称和账户拥有者 ID 来创建接入点。然后，存储桶拥有者必须更新存储桶策略以授权来自接入点的请求。创建接入点与创建 DNS CNAME 类似，因为接入点不提供对存储桶内容的访问权限。所有存储桶访问权限均由存储桶策略控制。以下示例存储桶策略允许从受信任 AWS 账户拥有的接入点对存储桶进行 `GET` 和 `LIST` 请求。

将 *Bucket ARN* 替换为桶的 ARN。

**Example ：将权限委派给其它 AWS 账户的存储桶策略**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement" : [
    {
        "Sid": "AllowCreateSessionForDirectoryBucket",
        "Effect": "Allow",
        "Principal" : { "AWS": "*" },
        "Action" : "s3express:CreateSession",
        "Resource" : [ "arn:aws:s3express:us-west-2:111122223333:bucket/amzn-s3-demo-bucket--usw2-az1--x-s3" ],
        "Condition": {
            "ForAllValues:StringEquals": {
                "s3express:Permissions": [
                    "GetObject",
                    "ListBucket"
                ]
            }
        }
    }]
}
```

# 监控和记录目录存储桶的接入点
<a name="access-points-directory-buckets-monitoring-logging"></a>

可以通过使用 AWS CloudTrail，记录通过接入点发出的请求和对管理接入点（如 `CreateAccessPoint` 和 `GetAccessPointPolicy,`）的 API 发出的请求。通过接入点发出的请求的 CloudTrail 日志条目将在日志的 `resources` 部分中包含接入点 ARN（其中包括接入点名称）。

例如，假设您有以下配置：
+ 区域 `region` 中名为 `amzn-s3-demo-bucket--zone-id--x-s3` 的存储桶，包含名为 `my-image.jpg` 的对象。
+ 与 `amzn-s3-demo-bucket--zone-id--x-s3` 关联且名为 `my-bucket-ap--zoneID--xa-s3` 的接入点
+ `123456789012` 的 AWS 账户 ID

以下示例显示了上述配置的CloudTrail 日志条目的 `resources` 部分：

```
"resources": [
        {"type": "AWS::S3Express::Object",
        
            "ARN": "arn:aws:s3express-region:123456789012:bucket/amzn-s3-demo-bucket--zone-id--x-s3/my-image.jpg"
        },
        {"accountId": "c",
            "type": "AWS::S3Express::DirectoryBucket",
            "ARN": "arn:aws::s3express:region:123456789012:bucket/amzn-s3-demo-bucket--zone-id--x-s3"
        },
        {"accountId": "123456789012",
            "type": "AWS::S3::AccessPoint",
            "ARN": "arn:aws:s3express:region:123456789012:accesspoint/my-bucket-ap--zoneID--xa-s3"
        }
    ]
```

有关 AWS CloudTrail 的更多信息，请参阅《AWS CloudTrail 用户指南》**中的[什么是 AWS CloudTrail？](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。

# 创建目录存储桶的接入点
<a name="creating-access-points-directory-buckets"></a>

与目录存储桶一样，可以在可用区或专用本地区域中创建接入点。接入点必须在与其关联的目录存储桶所在的同一区域中创建。

一个接入点只与一个 Amazon S3 目录存储桶相关联。如果您想使用您的 AWS 账户中的目录存储桶，则必须首先创建目录存储桶。有关创建目录存储桶的更多信息，请参阅[在可用区中创建目录存储桶](directory-bucket-create.md)或[在本地区域中创建目录存储桶](create-directory-bucket-LZ.md)。

您也可以创建与另一个 AWS 账户中的存储桶关联的跨账户接入点，只要您知道存储桶名称和存储桶拥有者的账户 ID。但是，在获得存储桶拥有者授予的权限之前，创建跨账户接入点不会授予您访问存储桶中数据的权限。存储桶拥有者必须通过存储桶策略向接入点拥有者的账户（您的账户）授予对存储桶的访问权限。有关更多信息，请参阅 [授予跨账户接入点的权限](access-points-policies.md#access-points-cross-account)。

您可以使用 AWS 管理控制台、AWS CLI、REST API 或 AWS SDK 为任何目录存储桶创建接入点。每个接入点都与单个目录存储桶相关联，并且可以为每个存储桶创建数百个接入点。创建接入点时，您可以选择接入点的名称以及要与之关联的目录存储桶。接入点名称由您提供的基本名称和包含存储桶位置的可用区 ID 的后缀组成，后跟 `--xa-s3`。例如 `myaccesspoint-zoneID--xa-s3`。您还可以通过虚拟私有云（VPC）限制对接入点的访问。然后，您可以使用接入点的名称立即开始通过接入点读取和写入数据，就像使用目录存储桶名称一样。

您可以使用接入点范围，将通过接入点对目录存储桶的访问限制为特定前缀或 API 操作。如果您不向接入点添加范围，则当通过接入点进行访问时，可以对存储桶中的对象执行目录存储桶中的所有前缀和所有 API 操作。创建接入点后，您可以使用 AWS CLI、AWS SDK 或 REST API 添加、修改或删除范围。有关更多信息，请参阅 [管理目录存储桶的接入点的范围](access-points-directory-buckets-manage-scope.md)。

创建接入点后，您可以配置接入点 IAM 资源策略。有关更多信息，请参阅 [查看、编辑或删除接入点策略](access-points-directory-buckets-policy.md)。

## 使用 S3 控制台
<a name="access-points-directory-buckets-create-ap"></a>

**注意**  
也可以从目录存储桶屏幕为目录存储桶创建接入点。执行此操作时，将提供目录存储桶名称，并且在创建接入点时无需选择存储桶。有关更多信息，请参阅 [列出目录存储桶](directory-buckets-objects-ListExamples.md)。

**创建目录存储桶的接入点**

1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在页面顶部的导航栏中，选择当前所显示 AWS 区域的名称。接下来，选择要在其中创建接入点的区域。接入点和关联存储桶必须位于同一区域中。

1. 在左侧导航窗格中，选择**目录存储桶的接入点**。

1. 在**接入点**页面上，选择**创建接入点**。

1. 您可以在您的账户或其它账户中创建目录存储桶的接入点。要在其它账户中创建目录存储桶的接入点，请执行以下操作：
**注意**  
如果您使用其他 AWS 账户中的存储桶，存储桶拥有者必须更新存储桶策略才能授权来自接入点的请求。有关存储桶策略示例，请参阅 [授予跨账户接入点的权限](access-points-directory-buckets-policies.md#access-points-directory-buckets-cross-account)。

   1. 在**目录存储桶**字段中，选择**指定另一个账户中的存储桶**。

   1. 在**存储桶所有者账户 ID** 字段中，输入拥有存储桶的 AWS 账户 ID。

   1. 在**存储桶名称**字段中，输入存储桶的名称，包括基本名称和可用区 ID。例如 ***bucket-base-name*--*zone-id*--x-s3**。

1. 要在您的账户中创建目录存储桶的接入点，请执行以下操作：

   1. 在**目录存储桶**字段中，选择**选择此账户中的存储桶**。

   1. 在**存储桶名称**字段中，输入存储桶的名称，包括基本名称和可用区 ID。例如 ***bucket-base-name*--*zone-id*--x-s3**。要从列表中选择存储桶，请选择**浏览 S3** 并选择目录存储桶。

1. 在**接入点名称**的**基本名称**字段中，输入接入点的基本名称。将显示可用区 ID 和完整的接入点名称。有关命名接入点的更多信息，请参阅[目录存储桶的接入点的命名规则](access-points-directory-buckets-restrictions-limitations-naming-rules.md#access-points-directory-buckets-names)。

1. 在**网络来源**中，选择**虚拟私有云（VPC）**或**互联网**。如果您选择**虚拟私有云（VPC）**，请在 **VPC ID** 字段中输入要与接入点一起使用的 VPC 的 ID。

1. （可选）在**接入点范围**中，要将范围应用于此接入点，请选择**使用前缀或权限限制此接入点的范围**。

   1. 要限制对目录存储桶中前缀的访问，请在**前缀**中输入一个或多个前缀。要添加其它前缀，请选择**添加前缀**。要移除前缀，请选择**移除**。
**注意**  
接入点范围的所有前缀的总字符数限制为 512 个字符。您可以在**添加前缀**下方看到剩余字符数量。

   1. 在**权限**中，选择接入点将支持的一个或多个 API 操作。要移除数据操作，请选择数据操作名称旁边的 **X**。

1. 要不将范围应用于接入点并支持通过接入点访问目录存储桶中的所有前缀和所有 API 操作，请在**接入点范围**中，选择**将访问权限应用到整个存储桶**。

1. 选择**创建目录存储桶的接入点**。接入点名称和其它有关它的信息显示在**目录存储桶的接入点**列表中。

## 使用 AWS CLI
<a name="creating-access-point-cli-directory-bucket"></a>

以下示例命令为账户 *111122223333* 中的存储桶 **amzn-s3-demo-bucket*--*zone-id*--x-s3* 创建了一个名为 *example-ap* 的接入点。

```
aws s3control create-access-point --name example-ap--zoneID--xa-s3 --account-id 111122223333 --bucket amzn-s3-demo-bucket--zone-id--x-s3
```

要限制通过 VPC 访问接入点，请包括 `--vpc` 参数和 VPC ID。

```
aws s3control create-access-point --name example-ap--zoneID--xa-s3 --account-id 111122223333 --bucket amzn-s3-demo-bucket--zone-id--x-s3 --vpc vpc-id
```

在为跨账户存储桶创建接入点时，请包含 `--bucket-account-id` 参数。以下示例命令在 AWS 账户 *111122223333* 中，为存储桶 **amzn-s3-demo-bucket*--*zone-id*--x-s3* 创建一个接入点（由 AWS 账户 *444455556666* 拥有）。

```
aws s3control create-access-point --name example-ap--zoneID--xa-s3 --account-id 111122223333 --bucket amzn-s3-demo-bucket--zone-id--x-s3 --bucket-account-id 444455556666
```

有关更多信息和示例，请参阅《AWS CLI Command Reference》中的 [create-access-point](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/create-access-point.html)。

## 使用 REST API
<a name="creating-access-point-directory-bucket-rest-api"></a>

以下示例命令为账户 *111122223333* 中的存储桶 **amzn-s3-demo-bucket*--*zone-id*--x-s3* 创建一个名为 *example-ap* 的接入点，并通过 VPC *vpc-id* 限制访问权限（可选）。

```
PUT /v20180820/accesspoint/example-ap--zoneID--xa-s3 HTTP/1.1
Host: s3express-control.region.amazonaws.com
x-amz-account-id: 111122223333
<?xml version="1.0" encoding="UTF-8"?>
<CreateAccessPointRequest>
   <Bucket>amzn-s3-demo-bucket--zone-id--x-s3s</Bucket>
   <BucketAccountId>111122223333</BucketAccountId>
   <VpcConfiguration>
       <VpcId>vpc-id</VpcId>
   </VpcConfiguration>
</CreateAccessPointRequest>
```

响应：

```
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<CreateAccessPointResult>
   <AccessPointArn>
       "arn:aws:s3express:region:111122223333:accesspoint/example-ap--zoneID--xa-s3"
   </AccessPointArn>
   <Alias>example-ap--zoneID--xa-s3</Alias>
</CreateAccessPointResult>
```

## 使用 AWS SDK
<a name="creating-access-point-directory-bucket-sdk"></a>

可以使用 AWS SDK 创建接入点。有关更多信息，请参阅《Amazon Simple Storage Service API Reference》中的 [list of supported SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPoint.html#API_control_CreateAccessPoint_SeeAlso)。

# 管理目录存储桶的接入点
<a name="access-points-directory-buckets-manage"></a>

本节介绍如何使用 AWS Command Line Interface、Amazon S3 REST API 或 AWS SDK 来管理目录存储桶的接入点。

**Topics**
+ [列出目录存储桶的接入点](access-points-directory-buckets-list.md)
+ [查看目录存储桶的接入点的详细信息](access-points-directory-buckets-details.md)
+ [查看、编辑或删除接入点策略](access-points-directory-buckets-policy.md)
+ [管理目录存储桶的接入点的范围](access-points-directory-buckets-manage-scope.md)
+ [删除目录存储桶的接入点](access-points-directory-buckets-delete.md)

# 列出目录存储桶的接入点
<a name="access-points-directory-buckets-list"></a>

本节说明如何使用 AWS 管理控制台、AWS Command Line Interface（AWS CLI）、REST API 或 AWS SDK 来列出目录存储桶的接入点。

## 使用 S3 控制台
<a name="access-points-directory-buckets-list-console"></a>

**列出 AWS 账户中的接入点**

1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在页面顶部的导航栏中，选择当前所显示 AWS 区域的名称。接下来，选择要列出其接入点的区域。

1. 在控制台左侧的导航窗格中，选择**目录存储桶的接入点**。

1. （可选）按名称搜索接入点。只有您选择的 AWS 区域中的接入点才会出现在此处。

1. 选择要管理的接入点的名称。

## 使用 AWS CLI
<a name="access-points-directory-buckets-list-cli"></a>

以下 `list-access-points-for-directory-buckets` 示例命令显示了如何使用 AWS CLI 来列出由 AWS 账户拥有且与目录存储桶关联的接入点。

以下命令列出了 AWS 账户 *111122223333* 的附加到存储桶 **amzn-s3-demo-bucket*--*zone-id*--x-s3* 的接入点。

```
aws s3control list-access-points-for-directory-buckets --account-id 111122223333 --directory-bucket amzn-s3-demo-bucket--zone-id--x-s3
```

有关更多信息和示例，请参阅《AWS CLI Command Reference》中的 [list-access-points-for-directory-buckets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/list-access-points-for-directory-buckets.html)。

## 使用 REST API
<a name="access-points-directory-buckets-list-rest"></a>

以下示例显示了如何使用 REST API 列出您的接入点。

```
GET /v20180820/directoryaccesspoint?directoryBucket=amzn-s3-demo-bucket--zone-id--x-s3
&maxResults=maxResults HTTP/1.1
Host: s3express-control.region.amazonaws.com 
x-amz-account-id: 111122223333
```

**Example ：`ListAccessPointsForDirectoryBuckets` 响应**  

```
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<ListDirectoryAccessPointsResult>
    <AccessPointList>
        <AccessPoint>
            <AccessPointArn>arn:aws:s3express:region:111122223333:accesspoint/example-access-point--zoneID--xa-s3</AccessPointArn>
            <Alias>example-access-point--zoneID--xa-s3</Alias>
            <Bucket>amzn-s3-demo-bucket--zone-id--x-s3</Bucket>
            <BucketAccountId>111122223333</BucketAccountId>
            <Name>example-access-point--zoneID--xa-s3</Name>
            <NetworkOrigin>VPC</NetworkOrigin>
            <VpcConfiguration>
                <VpcId>VPC-1</VpcId>
            </VpcConfiguration>
        </AccessPoint>    
    </AccessPointList>  
</ListDirectoryAccessPointsResult>
```

## 使用 AWS SDK
<a name="access-points-directory-buckets-list-sdk"></a>

可以使用 AWS SDK 列出接入点。有关更多信息，请参阅《Amazon Simple Storage Service API Reference》中的 [list of supported SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessPointsForDirectoryBuckets.html#API_control_ListAccessPointsForDirectoryBuckets_SeeAlso)。

# 查看目录存储桶的接入点的详细信息
<a name="access-points-directory-buckets-details"></a>

本节介绍如何使用 AWS 管理控制台、AWS CLI、AWS SDK 或 REST API 查看目录存储桶的接入点的详细信息。

## 使用 S3 控制台
<a name="access-points-details-console"></a>

查看目录存储桶的接入点的详细信息，以查看有关该接入点和关联目录存储桶的以下信息：
+ 属性：
  + 目录存储桶名称
  + 目录存储桶所有者账户 ID
  + AWS 区域
  + 目录存储桶位置类型
  + 目录存储桶位置名称
  + 接入点的创建日期
  + 网络来源
  + VPC ID
  + S3 URI
  + 访问点 ARN
  + 接入点别名
+ 权限：
  + IAM 外部访问分析器调查发现
  + 接入点范围
  + 接入点策略

**查看 AWS 账户中接入点的详细信息**

1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在页面顶部的导航栏中，选择当前所显示 AWS 区域的名称。接下来，选择要列出其接入点的区域。

1. 在控制台左侧的导航窗格中，选择**目录存储桶的接入点**。

1. （可选）按名称搜索接入点。只有您选择的 AWS 区域中的接入点才会出现在此处。

1. 选择要管理的接入点的名称。

1. 选择**属性**选项卡或**权限**选项卡。

## 使用 AWS CLI
<a name="access-points-directory-buckets-details-cli"></a>

以下 `get-access-point` 示例命令显示了如何使用 AWS CLI 来查看接入点的详细信息。

以下命令列出了 AWS 账户 *111122223333* 的接入点 **my-access-point*--*zoneID*--xa-s3* 的详细信息。

```
aws s3control get-access-point --name my-access-point--zoneID--xa-s3 --account-id 111122223333
```

**Example `get-access-point` 命令的输出**  

```
{
    "Name": "example-access-point--zoneID--xa-s3",
    "Bucket": "amzn-s3-demo-bucket--zone-id--x-s3",
    "NetworkOrigin": "Internet",
    "PublicAccessBlockConfiguration": {
        "BlockPublicAcls": true,
        "IgnorePublicAcls": true,
        "BlockPublicPolicy": true,
        "RestrictPublicBuckets": true
    },
    "CreationDate": "2025-04-23T18:26:22.146000+00:00",
    "Alias": "example-access-point--zoneID--xa-s3",
    "AccessPointArn": "arn:aws:s3express:region:111122223333:accesspoint/example-access-point--zoneID--xa-s3",
    "BucketAccountId": "296805379465"
}
```

有关更多信息和示例，请参阅《AWS CLI 命令参考》**中的 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/get-access-point.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/get-access-point.html)。

## 使用 REST API
<a name="access-points-directory-buckets-details-rest"></a>

可以使用 REST API 查看接入点的详细信息。有关更多信息，请参阅《Amazon Simple Storage Service API 参考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html)。

## 使用 AWS SDK
<a name="access-points-directory-buckets-details-sdk"></a>

可以使用 AWS SDK 查看接入点的详细信息。有关更多信息，请参阅《Amazon Simple Storage Service API Reference》中的 [list of supported SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPoint.html#API_control_GetAccessPoint_SeeAlso)。

# 查看、编辑或删除接入点策略
<a name="access-points-directory-buckets-policy"></a>

您可以使用 AWS Identity and Access Management（IAM）接入点策略来控制可以访问接入点的主体和资源。接入点范围管理接入点的前缀和 API 权限。可以使用 AWS Command Line Interface、REST API 或 AWS SDK 创建、编辑和删除接入点策略。有关接入点范围的更多信息，请参阅[管理目录存储桶的接入点的范围](access-points-directory-buckets-manage-scope.md)。

**注意**  
由于目录存储桶使用基于会话的授权，因此策略必须始终包含 `s3express:CreateSession` 操作。

## 使用 S3 控制台
<a name="access-point-directory-bucket-edit-policy-console"></a>

**查看、编辑或删除接入点策略**

1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在页面顶部的导航栏中，选择当前所显示 AWS 区域的名称。接下来，选择要列出其接入点的区域。

1. 在控制台左侧的导航窗格中，选择**目录存储桶的接入点**。

1. （可选）按名称搜索接入点。只有您选择的 AWS 区域中的接入点才会出现在此处。

1. 选择要管理的接入点的名称。

1. 选择**权限**选项卡。

1. 要创建或编辑接入点策略，请在**接入点策略**中选择**编辑**。编辑策略。选择**保存**。

1. 要删除接入点策略，请在**接入点策略**中选择**删除**。在**删除接入点策略**窗口中，键入 **confirm** 并选择**删除**。

## 使用 AWS CLI
<a name="access-points-directory-buckets-edit-policy-cli"></a>

可以使用 `get-acccess-point-policy`、`put-access-point-policy` 和 `delete-access-point-policy` 命令来查看、编辑或删除接入点策略。有关更多信息，请参阅《AWS CLI Command Reference》中的 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/get-access-point-policy.html#get-access-point-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/get-access-point-policy.html#get-access-point-policy)、[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/put-access-point-policy.html#put-access-point-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/put-access-point-policy.html#put-access-point-policy) 或 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/delete-access-point-policy.html#delete-access-point-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/delete-access-point-policy.html#delete-access-point-policy)。

## 使用 REST API
<a name="access-points-directory-buckets-edit-policy-rest"></a>

可以使用 REST API `GetAccessPointPolicy`、`DeleteAccessPointPolicy` 和 `PutAccessPointPolicy` 操作来查看、删除或编辑接入点策略。有关更多信息，请参阅《Amazon Simple Storage Service API 参考》中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html)、[https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html) 或 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html)。

## 使用 AWS SDK
<a name="access-points-directory-buckets-edit-policy-sdk"></a>

您可以使用 AWS SDK 来查看、删除或编辑接入点策略。有关更多信息，请参阅《Amazon Simple Storage Service API Reference》中的 [GetAccessControlPolicy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointPolicy.html#API_control_PutAccessPointPolicy_SeeAlso)、[DeleteAccessControlPolicy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointPolicy.html#API_control_PutAccessPointPolicy_SeeAlso) 和 [PutAccessControlPolicy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointPolicy.html#API_control_PutAccessPointPolicy_SeeAlso) 支持的 SDK 列表。

# 管理目录存储桶的接入点的范围
<a name="access-points-directory-buckets-manage-scope"></a>

本节介绍如何使用 AWS Command Line Interface、REST API 或 AWS SDK 来查看和修改目录存储桶的接入点的范围。可以使用接入点范围来限制对特定前缀或 API 操作的访问。

**Topics**
+ [查看目录存储桶的接入点的范围](#access-points-directory-buckets-view-scope)
+ [修改目录存储桶的接入点的范围](#access-points-directory-buckets-modify-scope)
+ [删除目录存储桶的接入点的范围](#access-points-directory-buckets-delete-scope)

## 查看目录存储桶的接入点的范围
<a name="access-points-directory-buckets-view-scope"></a>

可以使用 AWS 管理控制台、AWS Command Line Interface、REST API 或 AWS SDK 来查看目录存储桶的接入点的范围。

### 使用 S3 控制台
<a name="access-points-directory-buckets-view-scope-console"></a>

**查看目录存储桶的接入点的范围**

1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在页面顶部的导航栏中，选择当前所显示 AWS 区域的名称。接下来，选择要列出其接入点的区域。

1. 在控制台左侧的导航窗格中，选择**目录存储桶的接入点**。

1. （可选）按名称搜索接入点。只有您选择的 AWS 区域中的接入点才会出现在此处。

1. 选择要管理的接入点的名称。

1. 选择**权限**选项卡。

1. 在**接入点范围**中，可以看到应用于接入点的前缀和权限。

### 使用 AWS CLI
<a name="access-points-directory-buckets-view-scope-cli"></a>

以下 `get-access-point-scope` 示例命令显示了如何使用 AWS CLI 来查看接入点的范围。

以下命令显示了 AWS 账户 *111122223333* 的接入点 **my-access-point**--*zoneID*--xa-s3 的范围。

```
aws s3control get-access-point-scope --name my-access-point--zoneID--xa-s3 --account-id 111122223333      
```

有关更多信息和示例，请参阅《AWS CLI Command Reference》中的 [get-access-point-scope](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/get-access-point-scope.html)。

**Example ：`get-access-point-scope` 的结果**  

```
{
    "Scope": {
        "Permissions": [
            "ListBucket",
            "PutObject"
        ]
  "Prefixes": [
            "Prefix": "MyPrefix1*",
            "Prefix": "MyObjectName.csv"
        ]
    }
}
```

### 使用 REST API
<a name="access-points-directory-buckets-view-scope-rest-api"></a>

以下 `GetAccessPointScope` 示例请求显示了如何使用 REST API 来查看接入点的范围。

以下请求显示了 AWS 账户 *111122223333* 的接入点 **my-access-point**--*region*-*zoneID*--xa-s3 的范围。

```
GET /v20180820/accesspoint/my-access-point--zoneID--xa-s3/scope HTTP/1.1 
Host: s3express-control.region.amazonaws.com 
x-amz-account-id: 111122223333
```

**Example ：`GetAccessPointScope` 的结果**  

```
      HTTP/1.1 200
      <?xml version="1.0" encoding="UTF-8"?>
      <GetAccessPointScopeResult>    
          <Scope>            
              <Prefixes>                
                  <Prefix>MyPrefix1*</Prefix>
                  <Prefix>MyObjectName.csv</Prefix>
              </Prefixes>            
              <Permissions>                 
                  <Permission>ListBucket</Permission>                 
                  <Permission>PutObject</Permission>
              </Permissions>     
              <Scope>
      </GetAccessPointScopeResult>
```

### 使用 AWS SDK
<a name="access-points-directory-buckets-view-scope-sdk"></a>

可以使用 AWS SDK 来查看接入点的范围。有关更多信息，请参阅《Amazon Simple Storage Service API Reference》中的 [list of supported SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessPointScope.html#API_control_GetAccessPointScope_SeeAlso)。

## 修改目录存储桶的接入点的范围
<a name="access-points-directory-buckets-modify-scope"></a>

可以使用 AWS 管理控制台、AWS Command Line Interface、REST API 或 AWS SDK 来修改目录存储桶的接入点的范围。接入点范围用于限制对特定前缀、API 操作或两者组合的访问。

您可以包含以下一个或多个 API 操作作为权限：
+ `PutObject`
+ `GetObject`
+ `DeleteObject`
+ `ListBucket`（对于 `ListObjectsV2` 是必需的）
+ `GetObjectAttributes`
+ `AbortMultipartUploads`
+ `ListBucketMultipartUploads`
+ `ListMultipartUploadParts`

**注意**  
您可以指定任意数量的前缀，但所有前缀的字符总长度的大小必须小于 256 字节。

### 使用 S3 控制台
<a name="access-points-directory-buckets-modify-scope-console"></a>

**修改接入点范围**

1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在页面顶部的导航栏中，选择当前所显示 AWS 区域的名称。接下来，选择要列出其接入点的区域。

1. 在控制台左侧的导航窗格中，选择**目录存储桶的接入点**。

1. （可选）按名称搜索接入点。只有您选择的 AWS 区域中的接入点才会出现在此处。

1. 选择要管理的接入点的名称。

1. 选择**权限**选项卡。

1. 在**接入点范围**部分中，选择**编辑**。

1. 要添加或移除前缀：

   1. 要添加前缀，请选择**添加前缀**。在**前缀**字段中，输入目录存储桶的前缀。重复此操作以添加更多前缀。

   1. 要移除前缀，请选择**移除**。

1. 要添加或移除权限：

   1. 要添加权限，请在**选择数据操作**字段中选择该权限。

   1. 要移除权限，请选择该权限旁边的 **X**。

1. 选择**保存更改**。

### 使用 AWS CLI
<a name="access-points-directory-buckets-modify-scope-cli"></a>

以下 `put-access-point-scope` 示例命令显示了如何使用 AWS CLI 来修改接入点的范围。

以下命令修改 AWS 账户 *111122223333* 的 **my-access-point**--*zoneID*--xa-s3 的接入点范围。

**注意**  
您可以使用星号（\$1）字符在前缀中使用通配符。如果要将星号字符用作文字，请在它之前添加一个反斜杠字符（\$1）以对它进行转义。  
所有前缀都有一个隐含的“\$1”结尾，这意味着所有带有该前缀的路径都将包括在内。  
当您使用 AWS CLI 修改接入点的范围时，将替换现有范围。

```
aws s3control put-access-point-scope --name my-access-point--zoneID--xa-s3 --account-id 111122223333 --scope Prefixes=string,Permissions=string
```

有关更多信息和示例，请参阅《AWS CLI Command Reference》中的 [put-access-point-scope](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/put-access-point-scope.html)。

### 使用 REST API
<a name="access-points-directory-buckets-modify-scope-rest-api"></a>

以下 `PutAccessPointScope` 示例请求显示了如何使用 REST API 来修改接入点的范围。

以下请求修改 AWS 账户 *111122223333* 的 **my-access-point**--*zoneID*--xa-s3 的接入点范围。

**注意**  
您可以使用星号（\$1）字符在前缀中使用通配符。如果要将星号字符用作文字，请在它之前添加一个反斜杠字符（\$1）以对它进行转义。  
所有前缀都有一个隐含的“\$1”结尾，这意味着所有带有该前缀的路径都将包括在内。  
当您使用 API 修改接入点的范围时，将替换现有范围。

```
PUT /v20180820/accesspoint/my-access-point--zoneID--xa-s3/scope HTTP/1.1 
Host: s3express-control.region.amazonaws.com 
x-amz-account-id: 111122223333
<?xml version="1.0" encoding="UTF-8"?>
<PutAccessPointScopeRequest>   
        <Scope>        
            <Prefixes>        
                <Prefix>Jane/*</Prefix>              
            </Prefixes>       
            <Permissions>        
                <Permission>PutObject</Permission>
                <Permission>GetObject</Permission>
            </Permissions>   
            <Scope>
    </PutAccessPointScopeRequest>
```

### 使用 AWS SDK
<a name="access-points-directory-buckets-modify-scope-sdk"></a>

可以使用 AWS CLI、AWS SDK 或 REST API 来修改接入点的范围。有关更多信息，请参阅《Amazon Simple Storage Service API Reference》中的 [list of supported SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutAccessPointScope.html#API_control_PutAccessPointScope_SeeAlso)。

## 删除目录存储桶的接入点的范围
<a name="access-points-directory-buckets-delete-scope"></a>

可以使用 AWS 管理控制台、AWS Command Line Interface、REST API 或 AWS SDK 来删除目录存储桶的接入点的范围。

**注意**  
删除接入点的范围时，将删除所有前缀和权限。

### 使用 S3 控制台
<a name="access-points-directory-buckets-delete-scope-console"></a>

**删除接入点范围**

1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在页面顶部的导航栏中，选择当前所显示 AWS 区域的名称。接下来，选择要列出其接入点的区域。

1. 在控制台左侧的导航窗格中，选择**目录存储桶的接入点**。

1. （可选）按名称搜索接入点。只有您选择的 AWS 区域中的接入点才会出现在此处。

1. 选择要管理的接入点的名称。

1. 选择**权限**选项卡。

1. 在**接入点范围**中，选择**删除**。

1. 在**要确认此删除，请键入“confirm”**字段中，输入 **confirm**。

1. 选择**删除**。

### 使用 AWS CLI
<a name="access-points-directory-buckets-delete-scope-cli"></a>

以下 `delete-access-point-scope` 示例命令显示了如何使用 AWS CLI 来删除接入点的范围。

以下命令删除 AWS 账户 *111122223333* 的接入点 **my-access-point**--*zoneID*--xa-s3 的范围。

```
aws s3control delete-access-point-scope --name my-access-point--region-zoneID--xa-s3 --account-id 111122223333
```

有关更多信息和示例，请参阅《AWS CLI Command Reference》中的 [delete-access-point-scope](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/delete-access-point-scope.html)。

### 使用 REST API
<a name="access-points-directory-buckets-delete-scope-rest-api"></a>

以下请求删除 AWS 账户 *111122223333* 的接入点 **my-access-point**--*zoneID*--xa-s3 的范围。

```
DELETE /v20180820/accesspoint/my-access-point--zoneID--xa-s3/scope HTTP/1.1 
Host: s3express-control.region.amazonaws.com 
x-amz-account-id: 111122223333
```

### 使用 AWS SDK
<a name="access-points-directory-buckets-delete-scope-sdk"></a>

可以使用 AWS SDK 来删除接入点的范围。有关更多信息，请参阅《Amazon Simple Storage Service API Reference》中的 [list of supported SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPointScope.html#API_control_DeleteAccessPointScope_SeeAlso)。

# 删除目录存储桶的接入点
<a name="access-points-directory-buckets-delete"></a>

本节介绍如何使用 AWS 管理控制台、AWS Command Line Interface、REST API 或 AWS SDK 来删除接入点。

**注意**  
在删除附加到接入点的目录存储桶之前，必须先删除该接入点。

## 使用 S3 控制台
<a name="access-points-directory-buckets-delete-console"></a>

**在您的 AWS 账户中删除目录存储桶的接入点**

1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在页面顶部的导航栏中，选择当前所显示 AWS 区域的名称。接下来，选择要列出其接入点的区域。

1. 在控制台左侧的导航窗格中，选择**目录存储桶的接入点**。

1. （可选）按名称搜索接入点。只有您选择的 AWS 区域中的接入点才会出现在此处。

1. 选择要删除的接入点的名称。

1. 选择**删除**。

1. 要确认删除，请键入 **confirm**，然后选择**删除**。

## 使用 AWS CLI
<a name="access-points-directory-buckets-delete-cli"></a>

以下 `delete-access-point` 示例命令显示了如何使用 AWS CLI 删除接入点。

以下命令删除 AWS 账户 *111122223333* 的接入点 **my-access-point**--*zoneID*--xa-s3。

```
aws s3control delete-access-point --name my-access-point--zoneID--xa-s3 --account-id 111122223333      
```

有关更多信息和示例，请参阅《AWS CLI 命令参考》**中的 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/delete-access-point.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/delete-access-point.html)。

## 使用 REST API
<a name="access-points-directory-buckets-delete-rest"></a>

可以使用 REST API 来删除接入点。有关更多信息，请参阅《Amazon Simple Storage Service API 参考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html)。

## 使用 AWS SDK
<a name="access-points-directory-buckets-delete-sdk"></a>

可以使用 AWS SDK 来删除接入点。有关更多信息，请参阅《Amazon Simple Storage Service API Reference》中的 [list of supported SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessPoint.html#API_control_DeleteAccessPoint_SeeAlso)。

# 将标签与目录存储桶的 S3 接入点结合使用
<a name="access-points-db-tagging"></a>

AWS 标签是保存有关资源的元数据的键值对，在本例中为目录存储桶的 Amazon S3 接入点。可以在创建接入点时为其添加标签，也可以管理现有接入点上的标签。有关标签的一般信息，请参阅[添加标签以进行成本分配或基于属性的访问权限控制（ABAC）](tagging.md)。

**注意**  
在超过标准 S3 API 请求速率的目录存储桶的接入点上使用标签无需额外付费。有关更多信息，请参阅 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)。

## 将标签与目录存储桶的接入点结合使用的常用方法
<a name="common-ways-to-use-tags-access-points-db"></a>

基于属性的访问权限控制（ABAC）支持您根据标签扩展访问权限并授予对目录存储桶的接入点的访问权限。有关 Amazon S3 中的 ABAC 的更多信息，请参阅 [Using tags for ABAC](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac)。

### 适用于 S3 接入点的 ABAC
<a name="abac-for-access-points-db"></a>

Amazon S3 接入点支持使用标签进行基于属性的访问权限控制（ABAC）。在您的 AWS 组织、IAM 和接入点策略中使用基于标签的条件键。对于企业，Amazon S3 中的 ABAC 支持跨多个 AWS 账户进行授权。

在 IAM 策略中，可以使用以下[全局条件键](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys)，根据目录存储桶的标签来控制对存储桶的接入点的访问权限：
+ `aws:ResourceTag/key-name`
  + 使用此键可将您在策略中指定的标签键/值对与附加到资源的键/值对进行比较。例如，您可能会要求只有在资源具有附加的标签键 `Dept` 和值 `Marketing` 时才允许访问该资源。有关更多信息，请参阅[控制对 AWS 资源的访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-resources)。
+ `aws:RequestTag/key-name`
  + 使用此键可将请求中传递的标签键/值对与您在策略中指定的标签对进行比较。例如，您可以检查请求是否包含标签键 `Dept` 并具有 `Accounting` 值。有关更多信息，请参阅[在 AWS 请求期间控制访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-requests)。您可以使用此条件键来限制可以在 `TagResource` 和 `CreateAccessPoint` API 操作期间传递哪些标签键值对。
+ `aws:TagKeys`
  + 使用此键可将请求中的标签键与您在策略中指定的键进行比较。我们建议当使用策略来通过标签控制访问时，请使用 `aws:TagKeys` 条件键来定义允许的标签键。有关示例策略和更多信息，请参阅[根据标签键控制访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-tag-keys)。可以创建目录存储桶的带有标签的接入点。要在 `CreateAccessPoint` API 操作期间支持添加标签，您必须创建同时包含 `s3express:TagResource` 和 `s3express:CreateAccessPoint` 操作的策略。然后，您可以使用 `aws:TagKeys` 条件键来强制在 `CreateAccessPoint` 请求中使用特定的标签。
+ `s3express:AccessPointTag/tag-key`
  + 使用此条件键，可通过使用标签的接入点授予对特定数据的权限。在 IAM 策略中使用 `aws:ResourceTag/tag-key` 时，接入点以及该接入点指向的存储桶都需要具有与在授权期间考虑这两者时相同的标签。如果想特意通过接入点标签来控制对数据的访问权限，可以使用 `s3express:AccessPointTag/tag-key` 条件键。

### 目录存储桶的接入点的 ABAC 策略示例
<a name="example-access-points-db-abac-policies"></a>

请参阅以下适用于目录存储桶的接入点的 ABAC 策略示例。

#### 1.1 - 用于创建或修改具有特定标签的接入点的 IAM 策略
<a name="example-access-points-db-user-policy-request-tag"></a>

在此 IAM 策略中，拥有此策略的用户或角色只有在接入点创建请求中使用标签键 `project` 和标签值 `Trinity` 来为接入点添加标签时，才会创建接入点。这些用户或角色还可以在目录存储桶的现有接入点上添加或修改标签，只要 `TagResource` 请求包含标签键值对 `project:Trinity` 即可。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CreateAccessPointWithTags",
      "Effect": "Allow",
      "Action": [
        "s3express:CreateAccessPoint",
        "s3express:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/project": [
            "Trinity"
          ]
        }
      }
    }
  ]
}
```

#### 1.2 - 使用标签限制对存储桶的操作的接入点策略
<a name="example-access-points-db-user-policy-resource-tag"></a>

在此接入点策略中，IAM 主体（用户和角色）只有在接入点的 `project` 标签的值与主体的 `project` 标签的值匹配时，才会使用 `CreateSession` 操作对接入点执行操作。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowObjectOperations",
      "Effect": "Allow",
      "Principal": {
        "AWS": "111122223333"
      },
      "Action": "s3express:CreateSession",
      "Resource": "arn:aws::s3express:region:111122223333:access-point/my-access-point",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/project": "${aws:PrincipalTag/project}"
        }
      }
    }
  ]
}
```

#### 1.3 - 修改现有资源上的标签以维护标签治理的 IAM 策略
<a name="example-access-points-db-user-policy-tag-keys"></a>

在此 IAM 策略中，IAM 主体（用户或角色）只有在接入点的 `project` 标签的值与主体的 `project` 标签的值匹配时，才会修改接入点上的标签。这些接入点只允许使用在 `aws:TagKeys` 条件键中指定的四个标签 `project`、`environment`、`owner` 和 `cost-center`。这有助于强制执行标签治理，防止未经授权修改标签，并使标签架构跨接入点保持一致。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnforceTaggingRulesOnModification",
      "Effect": "Allow",
      "Action": [
        "s3express:TagResource"
      ],
      "Resource": "arn:aws::s3express:region:111122223333:accesspoint/my-access-point",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/project": "${aws:PrincipalTag/project}"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": [
            "project",
            "environment",
            "owner",
            "cost-center"
          ]
        }
      }
    }
  ]
}
```

#### 1.4 - 使用 s3express:AccessPointTag 条件键
<a name="example-access-points-db-policy-bucket-tag"></a>

在此 IAM 策略中，条件语句仅在用于访问存储桶的接入点具有标签键 `Environment` 和标签值 `Production` 时，才支持访问存储桶的数据。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAccessToSpecificAccessPoint",
      "Effect": "Allow",
      "Action": "*",
      "Resource": "arn:aws::s3express:region:111122223333:accesspoint/my-access-point",
      "Condition": {
        "StringEquals": {
          "s3express:AccessPointTag/Environment": "Production"
        }
      }
    }
  ]
}
```

## 将标签用于目录存储桶的接入点
<a name="working-with-tags-access-points-db"></a>

可以使用 Amazon S3 控制台、AWS 命令行界面（CLI）、AWS SDK 或以下 S3 API 为目录存储桶的接入点添加或管理标签：[TagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html)、[UntagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html) 和 [ListTagsForResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html)。有关更多信息，请参阅：

**Topics**
+ [将标签与目录存储桶的接入点结合使用的常用方法](#common-ways-to-use-tags-access-points-db)
+ [将标签用于目录存储桶的接入点](#working-with-tags-access-points-db)
+ [创建目录存储桶的带有标签的接入点](access-points-db-create-tag.md)
+ [向目录存储桶的接入点添加标签](access-points-db-tag-add.md)
+ [查看目录存储桶的接入点的标签](access-points-db-tag-view.md)
+ [从目录存储桶的接入点删除标签](access-points-db-tag-delete.md)

# 创建目录存储桶的带有标签的接入点
<a name="access-points-db-create-tag"></a>

可以在创建目录存储桶的 Amazon S3 接入点时为它们添加标签。有关更多信息，请参阅 [将标签与目录存储桶的 S3 接入点结合使用](access-points-db-tagging.md)。

## 权限
<a name="access-points-db-create-tag-permissions"></a>

要创建目录存储桶的带有标签的接入点，您必须具有以下权限：
+ `s3express:CreateAccessPoint`
+ `s3express:TagResource`

## 错误故障排除
<a name="access-points-db-create-tag-troubleshooting"></a>

如果在尝试创建目录存储桶的带有标签的接入点时遇到错误，可以执行以下操作：
+ 确认您具备创建目录存储桶的接入点并向其添加标签所需的[权限](#access-points-db-create-tag-permissions)。
+ 检查 IAM 用户策略，了解是否存在任何基于属性的访问权限控制（ABAC）条件。您可能需要仅使用特定的标签键和值来标记目录存储桶的接入点。有关更多信息，请参阅 [使用标签进行基于属性的访问权限控制（ABAC）](tagging.md#using-tags-for-abac)。

## Steps
<a name="access-points-db-create-tag-steps"></a>

可以使用 Amazon S3 控制台、AWS Command Line Interface（AWS CLI）、Amazon S3 REST API 和 AWS SDK 来创建目录存储桶的应用了标签的接入点。

## 使用 S3 控制台
<a name="access-points-db-create-tag-console"></a>

要使用 Amazon S3 控制台创建目录存储桶的带有标签的接入点：

1. 登录到 Amazon S3 控制台，网址为：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中，选择**接入点（目录存储桶）**。

1. 选择**创建接入点**以创建新的接入点。

1. 输入接入点的名称。有关更多信息，请参阅 [目录存储桶的接入点命名规则、限制和局限性](access-points-directory-buckets-restrictions-limitations-naming-rules.md)。

1. 在**创建接入点**页面上，**标签**是创建新接入点时的一个选项。

1. 选择**添加新标签**以打开标签编辑器并输入标签键值对。标签键是必需的，但值是可选的。

1. 要添加其它标签，请再次选择**添加新标签**。最多可输入 50 个标签键值对。

1. 完成为新的接入点指定选项后，选择**创建接入点**。

## 使用 AWS SDK
<a name="access-points-db-create-tag-sdks"></a>

------
#### [ SDK for Java 2.x ]

此示例说明如何使用AWS SDK for Java 2.x 创建带有标签的接入点。要使用该命令，请将*用户输入占位符* 替换为您自己的信息。

```
CreateAccessPointRequest createAccessPointRequest = CreateAccessPointRequest.builder()
                .accountId(111122223333)
                .name(my-access-point)
                .bucket(amzn-s3-demo-bucket--zone-id--x-s3)
                .tags(Collections.singletonList(Tag.builder().key("key1").value("value1").build()))
                .build();
 awss3Control.createAccessPoint(createAccessPointRequest);
```

------

## 使用 REST API
<a name="access-points-db-create-tag-api"></a>

有关 Amazon S3 REST API 支持创建带有标签的目录存储桶的信息，请参阅《Amazon Simple Storage Service API Reference》**中的以下部分：
+ [:CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)

## 使用 AWS CLI
<a name="access-points-db-create-tag-cli"></a>

要安装 AWS CLI，请参阅《AWS Command Line Interface 用户指南》**中的[安装 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

以下 CLI 示例说明如何使用 AWS CLI 创建目录存储桶的带有标签的接入点。要使用该命令，请将*用户输入占位符* 替换为您自己的信息。

创建目录存储桶的接入点时，必须提供配置详细信息并使用以下命名约定：`my-access-point`

**请求**

```
aws s3control create-access-point \
--account-id 111122223333 \ 
--name my-access-point \
--bucket amzn-s3-demo-bucket--zone-id--x-s3 \
--profile personal \
--tags Key=key1,Value=value1 Key=MyKey2,Value=value2 \
--region region
```

# 向目录存储桶的接入点添加标签
<a name="access-points-db-tag-add"></a>



可以向目录存储桶的 Amazon S3 接入点添加标签并修改这些标签。有关更多信息，请参阅 [将标签与目录存储桶的 S3 接入点结合使用](access-points-db-tagging.md)。

## 权限
<a name="access-points-db-tag-add-permissions"></a>

要向目录存储桶的接入点添加标签，您必须具有以下权限：
+ `s3express:TagResource`

## 错误故障排除
<a name="access-points-db-tag-add-troubleshooting"></a>

如果在尝试向目录存储桶的接入点添加标签时遇到错误，可以执行以下操作：
+ 验证您是否具备向目录存储桶的接入点添加标签所需的[权限](#access-points-db-tag-add-permissions)。
+ 如果您尝试添加以 AWS 保留前缀 `aws:` 开头的标签键，请更改标签键并重试。

## Steps
<a name="access-points-db-tag-add-steps"></a>

可以使用 Amazon S3 控制台、AWS 命令行界面（AWS CLI）、Amazon S3 REST API 和 AWS SDK 向目录存储桶的接入点添加标签。

## 使用 S3 控制台
<a name="access-points-db-tag-add-console"></a>

要使用 Amazon S3 控制台向目录存储桶的接入点添加标签：

1. 登录到 Amazon S3 控制台，网址为：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中，选择**接入点（目录存储桶）**。

1. 请选择接入点名称。

1. 选择**属性**选项卡。

1. 滚动到**标签**部分，然后选择**添加新标签**。

1. 这会打开**添加标签**页面。最多可以输入 50 个标签键值对。

1. 如果您添加的新标签与现有标签具有相同的键名称，则新标签的值将覆盖现有标签的值。

1. 还可以在此页面上编辑现有标签的值。

1. 添加标签后，选择**保存更改**。

## 使用 AWS SDK
<a name="access-points-db-tag-add-sdks"></a>

------
#### [ SDK for Java 2.x ]

此示例显示如何使用AWS SDK for Java 2.x 向目录存储桶的接入点添加标签。要使用该命令，请将*用户输入占位符* 替换为您自己的信息。

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3control.S3ControlClient;
import software.amazon.awssdk.services.s3control.model.Tag;
import software.amazon.awssdk.services.s3control.model.TagResourceRequest;
import software.amazon.awssdk.services.s3control.model.TagResourceResponse;

public class TagResourceExample {
    public static void tagResourceExample() {
        S3ControlClient s3Control = S3ControlClient.builder().region(Region.US_WEST_2).build();

        TagResourceRequest tagResourceRequest = TagResourceRequest.builder()
                .resourceArn("arn:aws::s3:region:111122223333:accesspoint/my-access-point/*")
                .accountId("111122223333")
                .tags(Tag.builder().key("key1").value("value1").build())
                .build();

        TagResourceResponse response = s3Control.tagResource(tagResourceRequest);
        System.out.println("Status code (should be 204):");
        System.out.println(response.sdkHttpResponse().statusCode());
    }
}
```

------

## 使用 REST API
<a name="access-points-db-tag-add-api"></a>

有关 Amazon S3 REST API 支持向目录存储桶的接入点添加标签的信息，请参阅《Amazon Simple Storage Service API Reference》**中的以下部分：
+ [TagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html)

## 使用 AWS CLI
<a name="access-points-db-tag-add-cli"></a>

要安装 AWS CLI，请参阅《AWS Command Line Interface 用户指南》**中的[安装 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

以下 CLI 示例显示如何使用 AWS CLI 向目录存储桶添加标签。要使用该命令，请将*用户输入占位符* 替换为您自己的信息。

**请求:**

```
aws s3control tag-resource \
--account-id 111122223333 \
--resource-arn arn:aws::s3express:region:444455556666:bucket/prefix--use1-az4--x-s3 \
--tags "Key=key1,Value=value1"
```

**响应:**

```
{
  "ResponseMetadata": {
      "RequestId": "EXAMPLE123456789",
      "HTTPStatusCode": 200,
      "HTTPHeaders": {
          "date": "Wed, 19 Jun 2025 10:30:00 GMT",
          "content-length": "0"
      },
      "RetryAttempts": 0
  }
}
```

# 查看目录存储桶的接入点的标签
<a name="access-points-db-tag-view"></a>

可以查看或列出应用于目录存储桶的 Amazon S3 接入点的标签。有关更多信息，请参阅 [将标签与 S3 目录存储桶结合使用](directory-buckets-tagging.md)。

## 权限
<a name="access-points-db-tag-view-permissions"></a>

要查看应用于接入点的标签，您必须具有以下权限：
+ `s3express:ListTagsForResource`

## 错误故障排除
<a name="access-points-db-tag-view-troubleshooting"></a>

如果在尝试列出或查看目录存储桶的接入点的标签时遇到错误，可以执行以下操作：
+ 确认您具备查看或列出目录存储桶的接入点的标签所需的[权限](#access-points-db-tag-view-permissions)。

## Steps
<a name="access-points-db-tag-view-steps"></a>

可以使用 Amazon S3 控制台、AWS Command Line Interface（AWS CLI）、Amazon S3 REST API 和 AWS SDK 来查看应用于目录存储桶的接入点的标签。

## 使用 S3 控制台
<a name="access-points-db-tag-view-console"></a>

要使用 Amazon S3 控制台查看应用于目录存储桶的接入点的标签：

1. 登录到 Amazon S3 控制台，网址为：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中，选择**接入点（目录存储桶）**。

1. 请选择接入点名称。

1. 选择**属性**选项卡。

1. 滚动至**标签**部分，以查看应用于目录存储桶的接入点的所有标签。

1. 默认情况下，**标签**部分显示**用户定义的标签**。可以选择 **AWS 生成的标签**选项卡来查看 AWS 服务应用于接入点的标签。

## 使用 AWS SDK
<a name="access-points-db-tag-view-sdks"></a>

本节中的示例说明如何使用 AWS SDK 查看应用于目录存储桶的接入点的标签。

------
#### [ SDK for Java 2.x ]

此示例说明如何使用AWS SDK for Java 2.x 查看应用于目录存储桶的接入点的标签。

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3control.S3ControlClient;
import software.amazon.awssdk.services.s3control.model.ListTagsForResourceRequest;
import software.amazon.awssdk.services.s3control.model.ListTagsForResourceResponse;

public class ListTagsForResourceExample {
    public static void listTagsForResourceExample() {
        S3ControlClient s3Control = S3ControlClient.builder().region(Region.US_WEST_2).build();

        ListTagsForResourceRequest listTagsForResourceRequest = ListTagsForResourceRequest.builder()
                .resourceArn("arn:aws::s3:us-west-2:111122223333:accesspoint/my-access-point/*")
                .accountId("111122223333")
                .build();
        ListTagsForResourceResponse response = s3Control.listTagsForResource(listTagsForResourceRequest);
        System.out.println("Tags on my resource:");
        System.out.println(response.toString());
    }
}
```

------

## 使用 REST API
<a name="access-points-db-tag-view-api"></a>

有关 Amazon S3 REST API 支持查看应用于目录存储桶的标签的信息，请参阅《Amazon Simple Storage Service API Reference》**中的以下部分：
+ [ListTagsforResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html)

## 使用 AWS CLI
<a name="access-points-db-tag-view-cli"></a>

要安装 AWS CLI，请参阅《AWS Command Line Interface 用户指南》**中的[安装 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

以下 CLI 示例显示如何查看应用于目录存储桶的接入点的标签。要使用该命令，请将*用户输入占位符* 替换为您自己的信息。

**请求**

```
aws s3control list-tags-for-resource \
--account-id 111122223333 \
--resource-arn arn:aws::s3express:region:444455556666:bucket/prefix--use1-az4--x-s3 \
```

**响应 - 存在标签：**

```
{
  "Tags": [
      {
          "Key": "MyKey1",
          "Value": "MyValue1"
      },
      {
          "Key": "MyKey2",
          "Value": "MyValue2"
      },
      {
          "Key": "MyKey3",
          "Value": "MyValue3"
      }
  ]
}
```

**响应 - 不存在任何标签：**

```
{
  "Tags": []
}
```

# 从目录存储桶的接入点删除标签
<a name="access-points-db-tag-delete"></a>

可以从目录存储桶的接入点移除标签。有关更多信息，请参阅 [将标签与目录存储桶的 S3 接入点结合使用](access-points-db-tagging.md)。

**注意**  
如果删除某个标签，但后来得知该标签用于跟踪成本或用于访问权限控制，则可以将该标签重新添加到目录存储桶的接入点。

## 权限
<a name="access-points-db-tag-delete-permissions"></a>

要从目录存储桶的接入点删除标签，您必须具有以下权限：
+ `s3express:UntagResource`

## 错误故障排除
<a name="access-points-db-tag-delete-troubleshooting"></a>

如果在尝试从目录存储桶的接入点删除标签时遇到错误，可以执行以下操作：
+ 验证您是否具备从目录存储桶的接入点删除标签所需的[权限](#access-points-db-tag-delete-permissions)。

## Steps
<a name="access-points-db-tag-delete-steps"></a>

可以使用 Amazon S3 控制台、AWS Command Line Interface（AWS CLI）、Amazon S3 REST API 和 AWS SDK 从目录存储桶的接入点删除标签。

## 使用 S3 控制台
<a name="access-points-db-tag-delete-console"></a>

要使用 Amazon S3 控制台从目录存储桶的接入点删除标签：

1. 登录到 Amazon S3 控制台，网址为：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中，选择**接入点（目录存储桶）**。

1. 请选择接入点名称。

1. 选择**属性**选项卡。

1. 滚动到**标签**部分，然后选中要删除的一个或多个标签旁边的复选框。

1. 选择**删除**。

1. 将显示**删除用户定义的标签**弹出窗口，要求您确认删除所选的一个或多个标签。

1. 选择**删除**以确认。

## 使用 AWS SDK
<a name="access-points-db-tag-delete-sdks"></a>

------
#### [ SDK for Java 2.x ]

此示例说明如何使用AWS SDK for Java 2.x 从目录存储桶删除标签。要使用该命令，请将*用户输入占位符* 替换为您自己的信息。

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3control.S3ControlClient;
import software.amazon.awssdk.services.s3control.model.ListTagsForResourceRequest;
import software.amazon.awssdk.services.s3control.model.ListTagsForResourceResponse;

public class ListTagsForResourceExample {
    public static void listTagsForResourceExample() {
        S3ControlClient s3Control = S3ControlClient.builder().region(Region.US_WEST_2).build();

        UntagResourceRequest untagResourceRequest = UntagResourceRequest.builder()
                .resourceArn("arn:aws::s3:region:111122223333:accesspoint/my-access-point/*")
                .accountId("111122223333")
                .tagKeys("key1")
                .build();

        UntagResourceResponse response = s3Control.untagResource(untagResourceRequest);
        System.out.println("Status code (should be 204):");
        System.out.println(response.sdkHttpResponse().statusCode());
    }
}
```

------

## 使用 REST API
<a name="access-points-db-tag-delete-api"></a>

有关 Amazon S3 REST API 支持从接入点删除标签的信息，请参阅《Amazon Simple Storage Service API Reference》**中的以下部分：
+ [UnTagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html)

## 使用 AWS CLI
<a name="access-points-db-tag-delete-cli"></a>

要安装 AWS CLI，请参阅《AWS Command Line Interface 用户指南》**中的[安装 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

下面的 CLI 示例显示如何使用 AWS CLI 从接入点删除标签。要使用该命令，请将*用户输入占位符* 替换为您自己的信息。

**请求:**

```
aws s3control untag-resource \
--account-id 111122223333 \
--resource-arn arn:aws::s3:region:111122223333:accesspoint/my-access-point/* \
--tag-keys "key1" "key2"
```

**响应:**

```
{
  "ResponseMetadata": {
    "RequestId": "EXAMPLE123456789",
    "HTTPStatusCode": 204,
    "HTTPHeaders": {
        "date": "Wed, 19 Jun 2025 10:30:00 GMT",
        "content-length": "0"
    },
    "RetryAttempts": 0
  }
}
```