

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 通过 Amazon S3 接入点访问您的数据
<a name="accessing-data-via-s3-access-points"></a>

您还可以使用 S3 接入点访问存储在 Amazon FSx 文件系统中的文件数据，就像这些数据存储在 S3 中一样，这样您就可以将其用于与 S3 配合使用的应用程序和服务，而无需更改应用程序或将数据移出文件存储。Amazon S3 接入点是连接到 S3 存储桶、ONTAP 和 FSx OpenZFS FSx 卷的 S3 终端节点。Amazon S3 接入点简化了任何与 S3 配合使用的应用程序或 AWS 服务的数据访问管理。借助 S3 接入点，拥有共享数据集（包括数据湖、媒体档案和用户生成的内容）的客户可以轻松控制和扩展数百个应用程序、团队或个人的数据访问权限，方法是创建个性化的接入点，并为每个应用程序、团队或个人自定义名称和权限。

连接到 Amazon FSx for NetApp ONTAP 卷的 S3 接入点支持对 Amazon S3 终端节点使用 S3 对象操作（例如`GetObject``PutObject`、和`ListObjectsV2`）对您的文件数据进行读写访问。

连接到 for ONTAP 文件系统的每个 S3 接入点都有一个 AWS Identity and Access Management (IAM) 接入点策略和一个关联的 UNIX 或 Windows 文件系统用户，用于授权通过该接入点发出的所有请求。 FSx 对于每个请求，S3 首先评估所有相关策略，包括用户、接入点、S3 VPC 端点和服务控制策略的策略，以授权请求。请求获得 S3 授权后，文件系统会对请求进行授权，文件系统会评估与 S3 接入点关联的文件系统用户是否有权访问文件系统上的数据。您可以将接入点配置为仅接受来自虚拟私有云 (VPC) 的请求，从而限制 Amazon S3 数据访问私有网络。默认情况下，Amazon S3 会对连接到 for ONTAP 卷的所有接入点强制禁止公开访问，并且您无法修改或禁用此设置。 FSx 

您可以使用 Amazon FSx 控制台、CLI 和 API [创建 S3 接入点并将其连接](fsxn-creating-access-points.md)到 for FSx ONTAP 卷。接入点允许您使用 S3 API 访问您的文件数据，但您的数据将继续驻留在您的 for ONTAP 文件系统上，并且您可以继续使用 NFS 和 SMB 协议与 S3 API 一起访问您的数据。 FSx 

适用于 ONTAP 文件系统 FSx 的 Amazon S3 接入点可提供数十毫秒范围内的延迟，这与 S3 存储桶访问一致。通过 S3 API 可以驱动到 Amazon FSx 文件系统的吞吐量和每秒请求数取决于文件系统的预配置吞吐量。有关文件系统性能功能的更多信息，请参见 [亚马逊 FSx 为 NetApp ONTAP 性能而设计性能](performance.md)

**Topics**
+ [AWS 区域 使用适用 FSx 于 ONTAP 的 Amazon S3 接入点](#access-points-for-fsx-ontap-supported-regions)
+ [接入点命名规则、限制和局限性](access-point-for-fsxn-restrictions-limitations-naming-rules.md)
+ [使用接入点别名来引用接入点 ARNs，或 virtual-hosted-style URIs](referencing-access-points-for-fsxn.md)
+ [接入点兼容性](access-points-for-fsxn-object-api-support.md)
+ [管理接入点接入](s3-ap-manage-access-fsxn.md)
+ [创建接入点](fsxn-creating-access-points.md)
+ [管理 Amazon S3 接入点](access-points-for-fsxn-manage.md)
+ [使用接入点](access-points-for-fsxn-usage-examples.md)
+ [对 S3 接入点问题进行故障排除](troubleshooting-access-points-for-fsxn.md)

## AWS 区域 使用适用 FSx 于 ONTAP 的 Amazon S3 接入点
<a name="access-points-for-fsx-ontap-supported-regions"></a>

以下地区支持 ONTAP 的 Amazon S3 接入点 AWS 区域：非洲（开普敦）、亚太地区（香港、海得拉巴、雅加达、墨尔本、孟买、大阪、首尔、新加坡、悉尼、东京）、加拿大（中部）、加拿大西部（卡尔加里）、欧洲（爱尔兰法兰克福、伦敦、米兰、巴黎、西班牙、斯德哥尔摩、苏黎世）、以色列（特拉维夫）、中东（巴林）阿联酋巴林）、南美洲（圣保罗）、美国东部（弗吉尼亚北部、俄亥俄州）和美国西部（加利福尼亚北部、俄勒冈州）。 FSx 

# 接入点命名规则、限制和局限性
<a name="access-point-for-fsxn-restrictions-limitations-naming-rules"></a>

创建 S3 接入点时，您需要为其选择一个名称。以下主题提供有关 S3 接入点命名规则以及限制和限制的信息。

**Topics**
+ [接入点命名规则](#access-points-for-fsxn-naming-rules)
+ [接入点限制和局限性](#access-points-for-fsxn-restrictions-limitations)

## 接入点命名规则
<a name="access-points-for-fsxn-naming-rules"></a>

创建 S3 接入点时，您可以选择其名称。接入点名称在 AWS 账户 或之间不必是唯一的 AWS 区域。同样的 AWS 账户 方法可能会创建名称相同的不同接入点， AWS 区域 或者两个不同的接入点 AWS 账户 可能使用相同的接入点名称。但是，在一个 a AWS 区域 中 AWS 账户 可能没有两个名称相同的接入点。

S3 接入点名称不能以后缀结尾`-ext-s3alias`，后缀是为接入点别名保留的。有关接入点命名规则的完整列表，请参阅《[亚马逊*简单存储服务用户指南》中的 Amazon* S3 接入点命](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-restrictions-limitations-naming-rules.html#access-points-names)名规则。

## 接入点限制和局限性
<a name="access-points-for-fsxn-restrictions-limitations"></a>

连接到 ONTAP 卷 FSx 的 S3 接入点具有以下限制，这些限制不适用于连接到 S3 存储桶的接入点：
+ 您只能创建与要连接的 ONTAP 卷 AWS 区域 相同的 S3 接入点。 FSx 
+ ONTAP 文件系统和 S3 接入点 AWS 账户 必须由同一个人拥有。 FSx 您只能为自己拥有的 ONTAP 卷创建连接到 FSx 的 S3 接入点。您无法创建附加到其他卷所拥有的 S3 接入点 AWS 账户。
+ 您只能 FSx 为运行 NetApp ONTAP 版本 9.17.1 及更高版本的 ONTAP 文件系统创建 S3 接入点并将其附加到该接入点。

有关所有接入点限制和限制的完整列表，请参阅 *Amazon Simple Storage Service 用户指南*中的[接入点限制和限制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-restrictions-limitations-naming-rules.html)。

# 使用接入点别名来引用接入点 ARNs，或 virtual-hosted-style URIs
<a name="referencing-access-points-for-fsxn"></a>

创建连接到 for ONTAP 卷 FSx 的接入点后，您可以通过 AWS CLI 和 S3 API 以及兼容 S3 的第三方 AWS 服务和应用程序访问您的数据。在 AWS 服务 或应用程序中提及接入点时，您可以使用 Amazon 资源名称 (ARN)、接入点别名或虚拟托管样式 URI。

**Topics**
+ [接入点 ARNs](#access-point-arns)
+ [接入点别名](#access-point-aliases)
+ [虚拟托管类型 URI](#virtual-hosted-style-uri)

## 接入点 ARNs
<a name="access-point-arns"></a>

接入点有 Amazon 资源名称 (ARNs)。接入点 ARNs 与 S3 存储桶类似 ARNs，但它们是显式键入的，并对接入点 AWS 区域 和接入点所有者的 AWS 账户 ID 进行编码。有关更多信息 ARNs，请参阅*AWS Identity and Access Management 用户指南*中的[使用 Amazon 资源名称识别 AWS 资源 (ARNs)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)。

接入 ARNs 点采用以下格式：

```
arn:aws::s3:region:account-id:accesspoint/resource
```

`arn:aws:s3:us-west-2:777777777777:accesspoint/test`代表名为的接入点*test*，该接入点归该地区账户 7777777777 所有。*us-west-2*

ARNs 对于通过接入点访问的对象和文件，请使用以下格式：

```
arn:aws::s3:region:account-id:accesspoint/access-point-name/object/resource
```

`arn:aws:s3:us-west-2:111122223333:accesspoint/test/object/lions.jpg`表示通过名为的接入点访问的文件 *lions.jpg**test*，该接入点归该地区账户 111122223333 所有。*us-west-2*

有关接入点的更多信息 ARNs，请参阅 *Amazon 简单存储服务用户指南 ARNs*中的[接入点](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-naming.html#access-points-arns)。

## 接入点别名
<a name="access-point-aliases"></a>

创建接入点时，Amazon S3 会自动生成一个接入点别名，您可以在任何可以使用 S3 存储桶名称访问数据的地方使用该别名。

接入点别名无法更改。对于连接到 for ONTAP 卷 FSx 的接入点，接入点别名由以下部分组成：

```
access point prefix-metadata-ext-s3alias
```

下图显示了连接到 for ONTAP 卷的 S3 接入点的 ARN 和接入点别名，这些接入点作为对 CLI 命令`describe-s3-access-point-attachments` FSx 的响应的一部分返回。 FSx 本示例中的接入点名为`my-ontap-ap`。

```
...
        "S3AccessPoint": {
            "ResourceARN": "arn:aws:s3:us-east-1:111122223333:accesspoint/my-ontap-ap",
            "Alias": "my-ontap-ap-aqfqprnstn7aefdfbarligizwgyfouse1a-ext-s3alias",
...
```

**注意**  
该`-ext-s3alias`后缀保留给连接到 for ONTAP 卷的 S3 接入点 FSx 的别名，不能用于接入点名称。

在某些 S3 数据平面操作中，您可以使用接入点别名代替 Amazon S3 接入点 ARN。有关支持的操作的列表，请参阅[接入点兼容性](access-points-for-fsxn-object-api-support.md)。

有关完整的接入点别名限制，请参阅《*Amazon 简单存储服务用户指南*》中的[接入点别名限制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-naming.html#access-points-alias)。

## 虚拟托管类型 URI
<a name="virtual-hosted-style-uri"></a>

接入点仅支持 virtual-host-style寻址。在虚拟托管式的 URI 中，接入点名称和 AWS 区域 是 URL 中域名的一部分。 AWS 账户要查看连接到 for ONTAP 卷的接入点的 S3 URI，请在 **S3 接入点详细信息下的接入点详细信息**页面中，选择为 S **3 接入点列出的接入点**名称。 FSx 这将带您进入 Amazon S3 控制台中的接入点详细信息页面。您可以在 “**属性**” 下找**到 S3 URI**。

有关更多信息，请参阅《*亚马逊简单*[存储服务用户指南》中的虚拟托管式 URI](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-naming.html#accessing-a-bucket-through-s3-access-point)。

# 接入点兼容性
<a name="access-points-for-fsxn-object-api-support"></a>

您可以使用访问点访问存储在 for ONTAP 卷上的数据，使用 FSx 以下 Amazon S3 APIs 进行数据访问。下面列出的所有操作都可以接受接入点 ARNs 或接入点别名。

下表是 Amazon S3 操作以及它们是否与接入点兼容的部分列表。下表显示了使用 for ONTAP 卷作为数据源的接入点支持哪些操作。 FSx 


| S3 操作 | 连接到 for ONTAP FSx 卷的接入点 | 
| --- | --- | 
|  `[AbortMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)`  |  支持  | 
|  `[CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)`  |  支持  | 
|  `[CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)`（仅限同区域副本）  |  如果源和目标位于同一个接入点内，则支持  | 
|  `[CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)`  |  支持  | 
|  `[DeleteObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)`  |  支持  | 
|  `[DeleteObjects](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html)`  |  支持  | 
|  `[DeleteObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html)`  |  支持  | 
|  `[GetBucketAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAcl.html)`  |  不支持  | 
|  `[GetBucketCors](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html)`  |  不支持  | 
|  `[GetBucketLocation](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLocation.html)`  |  支持  | 
|  `[GetBucketNotificationConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html)`  |  不支持  | 
|  `[GetBucketPolicy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html)`  |  不支持  | 
|  `[GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)`  |  支持  | 
|  `[GetObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html)`  |  不支持  | 
|  `[GetObjectAttributes](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)`  |  支持  | 
|  `[GetObjectLegalHold](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html)`  |  不支持  | 
|  `[GetObjectRetention](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html)`  |  不支持  | 
|  `[GetObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html)`  |  支持  | 
|  `[HeadBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html)`  |  支持  | 
|  `[HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)`  |  支持  | 
|  `[ListMultipartUploads](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html)`  |  支持  | 
|  `[ListObjects](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html)`  |  支持  | 
|  `[ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)`  |  支持  | 
|  `[ListObjectVersions](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html)`  |  不支持  | 
|  `[ListParts](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html)`  |  支持  | 
|  `[Presign](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)`  |  不支持  | 
|  `[PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)`  |  支持  | 
|  `[PutObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)`  |  不支持  | 
|  `[PutObjectLegalHold](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLegalHold.html)`  |  不支持  | 
|  `[PutObjectRetention](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectRetention.html)`  |  不支持  | 
|  `[PutObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)`  |  支持  | 
|  `[RestoreObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)`  |  不支持  | 
|  `[UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)`  |  支持  | 
|  `[UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)`（仅限同区域副本）  |  如果源和目标位于同一个接入点内，则支持  | 

使用 Amazon S3 操作的限制如下：
+ 上传的最大对象大小为 5 GB，但您可以下载大于该值的对象
+ `FSX_ONTAP`是唯一支持的存储类别
+ SSE-FSX 是唯一支持的服务器端加密模式
+ 不支持以下 Amazon S3 功能：请求者付款之外的访问控制列表 (ACLs) `bucket-owner-full-control`、对象版本控制、对象锁定、对象生命周期、静态网站托管（例如网站重定向）、多因素身份验证 (MFA) 和条件写入

有关使用接入点对文件数据执行数据访问操作的示例，请参见[使用接入点](access-points-for-fsxn-usage-examples.md)。

**对象 ETag**  
实体标签是对象的哈希。仅 ETag 反映对象内容的更改，而不反映其元数据的更改。 ETag 不是对象数据的 MD5 摘要。

**对象校验和**  
您可以使用校验和值来验证所上传数据的完整性。当您上传数据并指定校验和算法时， AWS SDK 会在传输数据之前使用您选择的校验和算法来计算校验和值。然后，Amazon S3 会独立计算您的数据的校验和，并根据提供的校验和值对其进行验证。只有在确认传输到 Amazon S3 期间保持了数据完整性之后，才会接受对象。与 Amazon S3 通用存储桶中对象的校验和不同，校验和值不作为对象元数据存储在 NetApp ONTAP 卷中，也不是对象本 FSx 身。这意味着校验和值不会在响应中返回，也不会用于在下载时验证对象的完整性。

**使用亚马逊进行服务器端加密 FSx (SSE-FSX)**  
所有 Amazon FSx 文件系统都默认配置了加密，并使用使用管理的密钥进行静态加密 AWS Key Management Service。当向文件系统写入数据和从文件系统读取数据时，数据会在文件系统上自动加密和解密。这些流程由 Amazon FSx 以透明方式处理。

**分段上传**  
分段上传允许将单个对象作为一组分段上传。每个分段都是对象数据的连续部分。您可以独立上传以及按任意顺序上传这些对象分段。将 S3 接入点与 for ONTAP 配合 FSx 使用时，分段上传有以下注意事项：
+ ONTAP 卷备份中不包含与正在进行的分段上传（即未完成的上传）相关的部分。 FSx 
+ 与正在进行的分段上传（即未完成的上传）段相关的已用存储空间不会反映在目标卷的`StorageUsed`存储容量 CloudWatch 指标中，而是反映在父文件系统的`StorageUsed`存储容量 CloudWatch 指标中。
+ 分段上传操作完成后，关联的段元数据将不再与对象一起存储。这意味着您无法使用`GetObjectAttributes`正在读取的对象的部件号来检索对象部分元数据，也无法通过正在读取的对象的部件号下载对象的单个部分。

**访问控制列表（ACL）**  
使用 Amazon S3 访问控制列表 (ACLs)，您可以管理对存储桶和对象的访问权限。 FSx 仅适用于 S3 的接入点支持 `bucket-owner-full-control` ACL 值。使用任何其他 ACL 值都将导致`InvalidArgument`异常。

# 管理接入点接入
<a name="s3-ap-manage-access-fsxn"></a>

您可以为每个 S3 接入点配置不同的权限和网络控制，S3 适用于使用该接入点发出的任何请求。S3 接入点支持 AWS Identity and Access Management (IAM) 资源策略，您可以使用这些策略按资源、用户或其他条件控制接入点的使用。要使应用程序或用户通过接入点访问文件，接入点和底层卷都必须允许该请求。有关更多信息，请参阅 [IAM 接入点策略](#access-points-for-fsxn-policies)。

适用于 FSx ONTAP 的 Amazon S3 接入点使用双层授权模型，将 AWS IAM 权限与文件系统级权限相结合。这种方法可确保在 AWS 服务级别和底层文件系统级别对数据访问请求进行适当授权。

要使应用程序或用户成功地通过接入点访问数据，S3 接入点策略和 ONTAP 卷 FSx 的底层策略都必须允许该请求。

**Topics**
+ [文件系统用户身份和授权](#fsxn-file-system-user-identity)
+ [S3 API 请求授权](#access-points-for-fsxn-s3-iam-auth)
+ [S3 阻止公有访问](#access-points-for-fsxn-bpa)
+ [IAM 接入点策略](#access-points-for-fsxn-policies)

## 文件系统用户身份和授权
<a name="fsxn-file-system-user-identity"></a>

在为 for ONTAP 卷创建 S3 接入点时，您需要指定一个文件系统身份，该身份将用于授权通过该访问点发出的所有文件系统请求。 FSx 此文件系统标识决定根据文件系统的权限模型授予对底层文件和目录的访问权限级别。文件系统用户是底层 Amazon FSx 文件系统上的用户账户。如果文件系统用户具有*只读*访问权限，则只有使用访问点发出的读取请求才会获得授权，并且写入请求会被阻止。如果文件系统用户具有读写访问权限，则使用访问点对连接的卷发出的读取和写入请求都将获得授权。

文件系统标识可以是以下两种类型之一：
+ **UNIX 身份** — 使用 UNIX 安全方式访问卷时使用 UNIX 身份（用户名）
+ **Windows 身份** — 使用 NTFS 安全模式访问卷时使用 Windows 身份（域和用户名）。

当您指定 UNIX 或 Windows 身份时，通过接入点执行的所有 S3 API 操作都将使用该用户在文件系统上的权限进行授权。

您与接入点关联的文件系统身份决定了对文件和目录的访问级别。例如，如果您将接入点与根 UNIX 身份 (UID 0) 相关联，后者通常对文件系统具有完全的文件访问权限，则所有文件操作都将获得授权。相反，如果您将接入点与受限制的用户身份相关联，则文件操作将仅限于该用户可以访问的内容，具体取决于文件系统的权限模型。

对于具有 UNIX 安全风格的卷，应使用 UNIX 文件系统标识类型，对于具有 NTFS 安全风格的卷，应使用 Windows 标识类型。这种调整可确保授权模型与卷的安全配置相匹配。

对于 UNIX 安全风格的卷，文件系统使用模式位或 NFSv4 ACLs 来控制访问权限。对于 NTFS 安全风格的卷，文件系统使用 Windows ACLs 来控制访问权限。

**重要**  
当通过 NFS 或 SM FSx B 直接访问该卷时，将 S3 接入点连接到 ONTAP 卷不会更改该卷的行为。所有针对该卷的现有操作都将像以前一样继续运行。您在 S3 接入点策略中包含的限制仅适用于使用接入点发出的请求。

## S3 API 请求授权
<a name="access-points-for-fsxn-s3-iam-auth"></a>

当您通过连接到 for NetApp ONTAP 卷的接入点发出 S3 API 请求时，Amazon S3 会根据接入点的 IAM 资源策略评估调用委托人的 IAM 权限。 FSx IAM 委托人调用者必须拥有通过其基于身份的策略授予的必要权限，并且接入点的资源策略也必须允许所请求的操作。

Amazon S3 会评估所有相关策略（包括用户策略、接入点策略、VPC 终端节点策略和服务控制策略），以确定是否对请求进行授权。

您还可以将 S3 接入点配置为仅接受来自特定虚拟私有云 (VPC) 的请求，以限制数据访问。有关更多信息，请参阅 [创建限制到 Virtual Private Cloud 的接入点](access-points-for-fsxn-vpc.md)。

## S3 阻止公有访问
<a name="access-points-for-fsxn-bpa"></a>

连接到 for ONTAP 卷的 Amazon S3 接入点会自动配置为启用封锁公共访问功能，但您无法更改此设置。 FSx 

## IAM 接入点策略
<a name="access-points-for-fsxn-policies"></a>

Amazon S3 接入点支持 AWS Identity and Access Management (IAM) 资源策略，允许您根据资源、用户或其他条件控制接入点的使用。为了使应用程序或用户能够通过接入点访问对象，接入点和底层数据源都必须允许该请求。

创建可选接入点策略需要该权限。`s3:PutAccessPointPolicy`

将 S3 接入点连接到 Amazon FSx 卷后，针对该卷的所有现有操作都将像以前一样继续运行。您在接入点策略中包括的限制仅适用于通过该接入点发出的请求。有关更多信息，请参阅 A *mazon 简单存储服务用户指南*中的[配置 IAM 策略以使用接入点](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-policies.html)。

使用 Amazon FSx 控制台创建连接到 for ONTAP 卷 FSx 的接入点时，您可以配置接入点策略。要在现有 S3 接入点上添加、修改或删除接入点策略，可以使用 S3 控制台、CLI 或 API。

# 创建接入点
<a name="fsxn-creating-access-points"></a>

您可以使用亚马逊 FSx 控制台、CLI、API 和支持创建和管理连接到亚马逊 FSx 卷的 S3 接入点 SDKs。

**注意**  
由于您可能需要公开 S3 接入点名称以便其他用户可以使用该接入点，因此请避免在 S3 接入点名称中包含敏感信息。接入点名称将在称为域名系统（DNS）的可公开访问的数据库中得以发布。有关接入点名称的更多信息，请参阅[接入点命名规则](access-point-for-fsxn-restrictions-limitations-naming-rules.md#access-points-for-fsxn-naming-rules)。

## 所需的权限
<a name="create-ap-permissions"></a>

创建连接到 Amazon FSx 卷的 S3 访问点需要以下权限：
+ `fsx:CreateAndAttachS3AccessPoint`
+ `s3:CreateAccessPoint`
+ `s3:GetAccessPoint`

使用 Amazon FSx 或 S3 控制台创建可选接入点策略需要该`s3:PutAccessPointPolicy`权限。有关更多信息，请参阅 [IAM 接入点策略](s3-ap-manage-access-fsxn.md#access-points-for-fsxn-policies)。

要创建接入点，请参阅以下主题。

**Topics**
+ [所需的权限](#create-ap-permissions)
+ [创建接入点](create-access-points.md)
+ [创建限制到 Virtual Private Cloud 的接入点](access-points-for-fsxn-vpc.md)

# 创建接入点
<a name="create-access-points"></a>

**重要**  
要将 S3 接入点连接到 f FSx or ONTAP 卷，必须安装该卷（具有接合路径）。有关更多详细信息，请参阅 [ONTAP 文档](https://docs.netapp.com/us-en/ontap/nfs-admin/mount-unmount-existing-volumes-nas-namespace-task.html)。

在 FSx 为您的卷创建 S3 接入点时，您的账户中必须已经存在适用于 ONTAP 的卷。

要创建连接到 for ONTAP 卷 FSx 的 S3 接入点，请指定以下属性：
+ 接入点名称。有关接入点命名规则的信息，请参阅[接入点命名规则](access-point-for-fsxn-restrictions-limitations-naming-rules.md#access-points-for-fsxn-naming-rules)。
+ 用于授权使用接入点发出的文件访问请求的文件系统用户身份。在 UNIX 或 Windows 中指定要包含的 POSIX 用户名。有关更多信息，请参阅 [文件系统用户身份和授权](s3-ap-manage-access-fsxn.md#fsxn-file-system-user-identity)。
+ 接入点的网络配置决定了接入点是可以从 Internet 访问还是仅限于特定的虚拟私有云 (VPC) 进行访问。有关更多信息，请参阅 [创建限制到 Virtual Private Cloud 的接入点](access-points-for-fsxn-vpc.md)。

## 创建连接到 FSx 卷的 S3 接入点（FSx 控制台）
<a name="access-points-for-fsxn-create-ap"></a>

1. 打开亚马逊 FSx 控制台，网址为[https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/)。

1. 在页面顶部的导航栏中，选择要 AWS 区域 在其中创建接入点的。接入点必须在与关联卷相同的区域中创建。

1. 在左侧导航窗格中，选择**卷**。

1. 在**卷**页面上，选择要将接入点连接到的 ONTAP 卷。 FSx 

1. 从 “**操作**” 菜单中选择 “**创建 S3 接入点**”，显示 “**创建 S3 接入点**” 页面。

1. 在**接入点名称**中，输入接入点的名称。有关接入点名称的准则和限制的更多信息，请参阅[接入点命名规则](access-point-for-fsxn-restrictions-limitations-naming-rules.md#access-points-for-fsxn-naming-rules)。

   **数据源详细**信息中填充了您在步骤 3 中选择的卷的信息。

1. Amazon 使用文件系统用户身份 FSx 对使用此访问点发出的文件访问请求进行身份验证。请确保您指定的文件系统用户对 ONTAP 卷具有正确的权限。 FSx 

   对于**文件系统用户身份类型**，请选择 UNIX 或 Windows。

1. 在**用户名**中输入用户的用户名。

1. 在**网络配置**面板中，您可以选择接入点是可以从 Internet 访问，还是只能访问特定的虚拟私有云。

   对于**网络来源**，选择 **Internet** 以使接入点可通过互联网访问，或者选择**虚拟私有云 (VPC)****，然后输入要限制访问接入点的 VPC ID**。

   有关接入点的网络源的更多信息，请参阅[创建限制到 Virtual Private Cloud 的接入点](access-points-for-fsxn-vpc.md)。

1. （可选）在 “**接入点策略-*可选***” 下，指定可选的接入点策略。请务必解决所有政策警告、错误和建议。有关指定接入点策略的更多信息，请参阅 A *mazon 简单存储服务用户指南*中的[配置 IAM 策略以使用接入点](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-policies.html)。

1. 选择**创建接入点**以查看接入点连接配置。

## 创建连接到 FSx 卷的 S3 接入点 (CLI)
<a name="creating-access-point-cli"></a>

以下示例命令创建一个名为的接入点*`my-ontap-ap`*，该接入点已连接到账户*`fsvol-0123456789abcdef9`**`111122223333`*中的 for ONTAP 卷。 FSx 

```
$ aws fsx create-and-attach-s3-access-point --name my-ontap-ap --type ONTAP --ontap-configuration \
   VolumeId=fsvol-0123456789abcdef9,FileSystemIdentity='{Type=UNIX,UnixUser={Name=ec2-user}}' \
   --s3-access-point VpcConfiguration='{VpcId=vpc-0123467},Policy=access-point-policy-json
```

如果请求成功，系统会通过返回新的 S3 接入点附件进行响应。

```
$ {
  {
     "S3AccessPointAttachment": {
        "CreationTime": 1728935791.8,
        "Lifecycle": "CREATING",
        "LifecycleTransitionReason": {
            "Message": "string"
        },
        "Name": "my-ontap-ap",
        "OntapConfiguration": {
            "VolumeId": "fsvol-0123456789abcdef9",
            "FileSystemIdentity": {
                "Type": "UNIX",
                "UnixUser": {
                    "Name": "ec2-user"
                }
            }
        },
        "S3AccessPoint": {
            "ResourceARN": "arn:aws:s3:us-east-1:111122223333:accesspoint/my-ontap-ap",
            "Alias": "my-ontap-ap-aqfqprnstn7aefdfbarligizwgyfouse1a-ext-s3alias",
            "VpcConfiguration": {
                "VpcId": "vpc-0123467"
        }
     }
  }
}
```

# 创建限制到 Virtual Private Cloud 的接入点
<a name="access-points-for-fsxn-vpc"></a>

创建接入点时，您可以选择允许通过互联网访问接入点，也可以指定通过该接入点发出的所有请求都必须来自特定的 Amazon Virtual Private Cloud。可从 Internet 访问的接入点被认为是具有 `Internet` 网络起源。它可以从互联网上的任何地方使用，但要遵守接入点、底层存储桶或 Amazon FSx 卷以及相关资源（例如请求的对象）的任何其他访问限制。只能从指定的 Amazon VPC 访问的接入点的网络来源为`VPC`，Amazon S3 会拒绝向该接入点发出的并非来自该亚马逊 VPC 的任何请求。

**重要**  
您只能在创建接入点时指定接入点的网络起源。创建接入点后，无法更改其网络起源。

要将接入点限制为仅限 Amazon VPC 的访问，请在创建接入点的请求中加入`VpcConfiguration`参数。在`VpcConfiguration`参数中，您可以指定您希望能够使用接入点的 Amazon VPC ID。如果请求是通过接入点发出的，则该请求必须来自亚马逊 VPC，否则 Amazon S3 将拒绝该请求。

您可以使用 AWS CLI、 AWS SDKs或 REST 检索接入点的网络来源 APIs。如果接入点指定了 Amazon VPC 配置，则其网络来源为`VPC`。否则，接入点的网络起源为 `Internet`。

**Example**  
***示例：创建仅限于 Amazon VPC 访问的接入点***  
以下示例在账户`amzn-s3-demo-bucket`中创建了一个名`example-vpc-ap`为存储桶的接入点`123456789012`，该接入点仅允许从 `vpc-1a2b3c` Amazon VPC 进行访问。然后，该示例验证新接入点是否具有 `VPC` 网络起源。  

```
$ aws fsx create-and-attach-s3-access-point --name example-vpc-ap --type ONTAP --ontap-configuration \
   VolumeId=fsvol-0123456789abcdef9,FileSystemIdentity='{Type=UNIX,UnixUser={Name=ec2-user}}' \
   --s3-access-point VpcConfiguration='{VpcId=vpc-id},Policy=access-point-policy-json
```

```
$ {
  {
     "S3AccessPointAttachment": {
        "Lifecycle": "CREATING",
        "CreationTime": 1728935791.8,
        "Name": "example-vpc-ap",
        "OntapConfiguration": {
            "VolumeId": "fsvol-0123456789abcdef9",
            "FileSystemIdentity": {
                "Type": "UNIX",
                "UnixUser": {
                    "Name": "my-unix-user"
                }
            }
        },
        "S3AccessPoint": {
            "ResourceARN": "arn:aws:s3:us-east-1:111122223333:accesspoint/example-vpc-ap",
            "Alias": "access-point-abcdef0123456789ab12jj77xy51zacd4-ext-s3alias",
            "VpcConfiguration": { 
                "VpcId": "vpc-1a2b3c"
            }
        }
     }
  }
```

要将接入点与 Amazon VPC 配合使用，您必须修改亚马逊 VPC 终端节点的访问策略。亚马逊 VPC 终端节点允许流量从您的亚马逊 VPC 流向亚马逊 S3。他们有访问控制策略，用于控制如何允许 Amazon VPC 内的资源与 Amazon S3 交互。只有当 Amazon VPC 终端节点策略授予访问接入点和底层存储桶的访问权限时，才能通过接入点成功从您的 Amazon VPC 发送到 Amazon S3 的请求。

**注意**  
要使资源只能在 Amazon VPC 内访问，请务必为您的 Amazon VPC 终端节点创建[私有托管区域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html)。要使用私有托管区域，请[修改您的 Amazon VPC 设置](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating)，将 [Amazon VPC 网络`enableDnsSupport`属`enableDnsHostnames`性和](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support)设置为`true`。

以下示例策略声明配置了一个允许调用的 Amazon VPC 终端节点`GetObject`和一个名为`example-vpc-ap`的接入点。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Principal": "*",
        "Action": [
            "s3:GetObject"
        ],
        "Effect": "Allow",
        "Resource": [
            "arn:aws:s3:us-east-1:123456789012:accesspoint/example-vpc-ap/object/*"
        ]
    }]
}
```

------

**注意**  
此示例中的 `Resource` 声明使用 Amazon 资源名称（ARN）指定接入点。

有关亚马逊 VPC 终端节点策略的更多信息，请参阅 Amazon VP *C 用户指南中的 Amaz* [on S3 网关终端节点](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)。

# 管理 Amazon S3 接入点
<a name="access-points-for-fsxn-manage"></a>

本节介绍如何使用、或 API 管理和使用您的 Amazon S3 接入点。 AWS 管理控制台 AWS Command Line Interface

**Topics**
+ [列出 S3 接入点附件](access-points-list.md)
+ [查看接入点详情](access-points-details.md)
+ [删除 S3 接入点附件](delete-access-point.md)

# 列出 S3 接入点附件
<a name="access-points-list"></a>

本节介绍如何使用 AWS 管理控制台、 AWS Command Line Interface或 REST API 列出 S3 接入点。

## 列出连接到 for ONTAP 卷 FSx 的所有 S3 接入点（亚马逊 FSx 控制台）
<a name="access-points-list-console"></a>

1. 打开 Amazon FSx 控制台，网址为[https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/)。

1. 在控制台左侧的导航窗格中，选择**卷**。

1. 在 “**卷**” 页面上，选择要查看其接入点附件的 **ONTAP** 卷。

1. 在卷详细信息页面上，选择 **S3** 以查看连接到该卷的所有 S3 接入点的列表。

## 列出连接到 for ONTAP 卷的所有 S3 接入点 () FSx AWS CLI
<a name="access-points-list-cli"></a>

以下[https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeS3AccessPointAttachments.html](https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeS3AccessPointAttachments.html)示例命令显示了如何使用列出 S3 接入点附件。 AWS CLI 

以下命令列出了连接到 for ONTAP 文件系统 fs-0abcdef123456789 上卷 FSx 的所有 S3 接入点。

```
aws fsx describe-s3-access-point-attachments --filter {[Name: file-system-id, Values:{[fs-0abcdef123456789]}} 
```

以下命令列出了连接到 for ONTAP 卷的 S3 接入点 vol-9 FSx abcdef123456789]。

```
aws fsx describe-s3-access-point-attachments --filter {[Name: volume-id, Values:{[vol-9abcdef123456789]}} 
```

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

# 查看接入点详情
<a name="access-points-details"></a>

本节介绍如何使用 AWS 管理控制台、 AWS Command Line Interface或 REST API 查看 S3 接入点的详细信息。

## 查看连接到 for ONTAP 卷的 S3 接入点 FSx 的详细信息（Amazon FSx 控制台）
<a name="access-points-details-console"></a>

1. 打开 Amazon FSx 控制台，网址为[https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/)。

1. 导航到连接到要查看其详细信息的接入点的卷。

1. 选择 **S3** 以显示连接到该卷的接入点列表。

1. 选择要查看其详细信息的接入点。

1. 在 **S3 接入点附件摘要**下，查看所选接入点的配置详细信息和属性。

   **接入点附件中还列出了**文件系统用户身份**配置和 S3 接入点权限**策略。

1. 要在 Amazon S3 控制台中查看接入点的 S3 配置，请选择 S3 接入点下显示的 **S3 接入点**名称。它会将您带到 Amazon S3 控制台中接入点的详细信息页面。

# 删除 S3 接入点附件
<a name="delete-access-point"></a>

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

删除 S3 接入点附件需要`fsx:DetatchAndDeleteS3AccessPoint`和`s3control:DeleteAccessPoint`权限。

## 删除连接到 for ONTAP 卷 FSx 的 S3 接入点（亚马逊 FSx 控制台）
<a name="access-points-delete-console"></a>

1. 打开 Amazon FSx 控制台，网址为[https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/)。

1. 导航到要删除的 S3 接入点附件所连接的卷。

1. 选择 **S3** 以显示连接到该卷的 S3 接入点列表。

1. 选择要删除的 S3 接入点附件。

1. 选择**删除**。

1. 确认要删除 S3 接入点，然后选择**删除**。

## 删除连接到 for ONTAP 卷 FSx 的 S3 接入点 ()AWS CLI
<a name="access-points-delete-cli"></a>
+ 要删除 S3 接入点附件，请使用 [detach-and-delete-s3 接入点](https://docs.aws.amazon.com/cli/latest/reference/fsx/detach-and-delete-s3-access-point.html) CLI 命令（或[DetachAndDelete等效](https://docs.aws.amazon.com/fsx/latest/APIReference/API_DetachAndDeleteS3AccessPoint.html)的 AccessPoint S3 API 操作），如以下示例所示。使用`--name`属性指定要删除的 S3 接入点附件的名称。

  ```
  aws fsx detach-and-delete-s3-access-point \
      --region us-east-1 \
      --name my-ontap-ap
  ```

# 使用接入点
<a name="access-points-for-fsxn-usage-examples"></a>

以下示例演示如何使用 S3 API 使用接入点访问存储在 fo FSx r ONTAP 卷上的文件数据。有关连接到 for ONTAP 卷的接入点所支持的 Amazon S3 API 操作 FSx 的完整列表，请参阅[接入点兼容性](access-points-for-fsxn-object-api-support.md)。

**注意**  
ONTAP 卷上的 FSx 文件以标识`StorageClass`为。`FSX_ONTAP`

**Topics**
+ [使用 S3 接入点下载文件](get-object-ap.md)
+ [使用 S3 接入点上传文件](put-object-ap.md)
+ [使用 S3 接入点列出文件](list-object-ap.md)
+ [使用 S3 接入点标记文件](add-tag-set-ap.md)
+ [使用 S3 接入点删除文件](delete-object-ap.md)

# 使用 S3 接入点下载文件
<a name="get-object-ap"></a>

以下`get-object`示例命令显示了如何使用通过接入点下载文件。 AWS CLI 您必须包括一个输出文件，这是已下载对象的文件名。

该示例*`my-image.jpg`*通过接入点请求文件*`my-ontap-ap`*并将下载的文件另存为*`download.jpg`*。

```
$ aws s3api get-object --key my-image.jpg --bucket my-ontap-ap-hrzrlukc5m36ft7okagglf3gmwluquse1b-ext-s3alias download.jpg
{
    "AcceptRanges": "bytes",
    "LastModified": "Mon, 14 Oct 2024 17:01:48 GMT",
    "ContentLength": 141756,
    "ETag": "\"00751974dc146b76404bb7290f8f51bb-1\"",
    "ContentType": "binary/octet-stream",
    "ServerSideEncryption": "SSE_FSX",
    "Metadata": {},
    "StorageClass": "FSX_ONTAP"
}
```

您也可以使用 REST API 通过接入点下载对象。有关更多信息，请参阅《Amazon Simple Storage Service API 参考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)。

# 使用 S3 接入点上传文件
<a name="put-object-ap"></a>

以下`put-object`示例命令显示了如何使用通过接入点上传文件。 AWS CLI 您必须包括一个输出文件，这是上传对象的文件名。

该示例*`my-new-image.jpg`*通过接入点上传文件*`my-ontap-ap`*并将上传的文件另存为*`my-new-image.jpg`*。

```
$ aws s3api put-object --bucket my-ontap-ap-hrzrlukc5m36ft7okagglf3gmwluquse1b-ext-s3alias --key my-new-image.jpg --body  my-new-image.jpg
```

您也可以使用 REST API 通过接入点上传对象。有关更多信息，请参阅《Amazon Simple Storage Service API 参考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)。

# 使用 S3 接入点列出文件
<a name="list-object-ap"></a>

以下示例通过区域中账户 ID `my-ontap-ap-hrzrlukc5m36ft7okagglf3gmwluquse1b-ext-s3alias` *`111122223333`* 拥有的接入点别名列出文件*`us-east-2`*。

```
$ aws s3api list-objects-v2 --bucket my-ontap-ap-hrzrlukc5m36ft7okagglf3gmwluquse1b-ext-s3alias
{
    "Contents": [
        {
            "Key": ".hidden-dir-with-data/file.txt",
            "LastModified": "2024-10-29T14:22:05.4359",
            "ETag": "\"88990077ab44cd55ef66aa77-1\"",
            "Size": 18,
            "StorageClass": "FSX_ONTAP"
        },
        {
            "Key": "documents/report.rtf",
            "LastModified": "2024-11-02T10:18:15.6621",
            "ETag": "\"ab12cd34ef56a89219zg6aa77-1\"",
            "Size": 1048576,
            "StorageClass": "FSX_ONTAP"
        },
    ]
}
```

您也可以使用 REST API 列出您的文件。有关更多信息，请参阅《Amazon Simple Storage Service API 参考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)。

# 使用 S3 接入点标记文件
<a name="add-tag-set-ap"></a>

以下`put-object-tagging`示例命令显示了如何使用通过接入点添加标签集。 AWS CLI 每个标签都是一个键-值对。有更多信息，请参阅《Amazon Simple Storage Service 用户指南》**中的[使用标签对存储进行分类](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html)。

该示例`my-image.jpg`使用接入点向现有文件添加标签集。*`my-ontap-ap`*

```
$ aws s3api put-object-tagging --bucket my-ontap-ap-hrzrlukc5m36ft7okagglf3gmwluquse1b-ext-s3alias --key my-image.jpg --tagging TagSet=[{Key="finance",Value="true"}] 
```

您还可以使用 REST API 通过接入点向对象添加标签集。有关更多信息，请参阅《Amazon Simple Storage Service API 参考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)。

# 使用 S3 接入点删除文件
<a name="delete-object-ap"></a>

以下`delete-object`示例命令显示了如何使用通过接入点删除文件。 AWS CLI 

```
$ aws s3api delete-object --bucket my-ontap-ap-hrzrlukc5m36ft7okagglf3gmwluquse1b-ext-s3alias --key my-image.jpg 
```

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

# 对 S3 接入点问题进行故障排除
<a name="troubleshooting-access-points-for-fsxn"></a>

本节介绍从 S3 接入点访问 FSx 数据时遇到问题的症状、原因和解决方案。

## 由于文件系统用户身份查询失败，S3 接入点创建失败
<a name="name-mapping"></a>

创建和连接 S3 接入点时，[https://docs.aws.amazon.com/fsx/latest/APIReference/API_OntapFileSystemIdentity.html#FSx-Type-OntapFileSystemIdentity-Type](https://docs.aws.amazon.com/fsx/latest/APIReference/API_OntapFileSystemIdentity.html#FSx-Type-OntapFileSystemIdentity-Type)必须提供。您负责在 ONTAP 中配置提供的 UNIX 或 Windows 用户。

如果提供[https://docs.aws.amazon.com/fsx/latest/APIReference/API_OntapUnixFileSystemUser.html](https://docs.aws.amazon.com/fsx/latest/APIReference/API_OntapUnixFileSystemUser.html)了，则 ONTAP 必须能够将 UnixUser 名称映射到 UNIX U GIDs ID/。ONTAP 使用[名称服务交换机配置](https://docs.netapp.com/us-en/ontap/nfs-admin/ontap-name-service-switch-config-concept.html)来确定如何执行此映射。

```
> vserver services name-service ns-switch show
```

```
Vserver         Database       Order
--------------- ------------   ---------
svm_1           hosts          files,
                               dns
svm_1           group          files,
                               ldap
svm_1           passwd         files,
                               ldap
svm_1           netgroup       nis,
                               files
```

 请确保您在 UnixUser `passwd`和`group`数据库中有使用有效来源（`files``ldap`、等）的条目。可以使用`vserver services name-service unix-user`和`vserver services name-service unix-group`命令配置`files`源。可以使用`vserver services name-service ldap`命令配置`ldap`源。

 如果提供[https://docs.aws.amazon.com/fsx/latest/APIReference/API_OntapWindowsFileSystemUser.html](https://docs.aws.amazon.com/fsx/latest/APIReference/API_OntapWindowsFileSystemUser.html)了，则 ONTAP 必须能够在加入的 Active Directory 域中找到该 WindowsUser 名称。

 要确认提供的 UnixUser 或映射 WindowsUser 是否正确，`fsxadmin`可以使用以下命令（替换为 f `-unix-user-name` o `-win-name` r WindowsUsers）：

```
> vserver services access-check authentication show-creds -node FsxId0fd48ff588b9d3eee-01 -vserver svm_name -unix-user-name root -show-partial-unix-creds true
```

成功输出示例：

```
 UNIX UID: root

 GID: daemon
 Supplementary GIDs:
  daemon
```

不成功的输出示例：

```
Error: Acquire UNIX credentials procedure failed
  [  2 ms] Entry for user-name: unmapped-user not found in the
           current source: FILES. Entry for user-name: unmapped-user
           not found in any of the available sources
**[     3] FAILURE: Unable to retrieve UID for UNIX user
**         unmapped-user

Error: command failed: Failed to resolve user name to a UNIX ID. Reason: "SecD Error: object not found".
```

 不正确的用户映射可能会导致 S3 `Access Denied` 出现错误。请参阅下面的失败原因示例。

**`Entry for user-name not found in the current source: LDAP`**

如果您配置`ns-switch`为使用`ldap`源，请确保 ONTAP 已配置为正确使用您的 LDAP 服务器。有关更多信息 [NetApp，请参阅配置 LDAP 的技术报告](https://www.netapp.com/pdf.html?item=/media/19423-tr-4835.pdf)。

**`RESULT_ERROR_DNS_CANT_REACH_SERVER` 或 `RESULT_ERROR_SECD_IN_DISCOVERY`**

此错误表示 ONTAP 中虚拟服务器的 DNS 配置存在问题。运行以下命令以确保您的虚拟服务器的 DNS 配置正确：

```
> dns check -vserver svm_name
```

**`NT_STATUS_PENDING`**

此错误表示与域控制器通信时出现问题。根本原因可能是由于缺乏中小型企业积分。有关更多信息，请参阅 [NetApp KB](https://kb.netapp.com/on-prem/ontap/da/NAS/NAS-KBs/How_ONTAP_implements_SMB_crediting)。

## 由于未装入卷，S3 接入点创建失败。
<a name="junction"></a>

只能 FSx 为已安装的 ONTAP 卷（具有接合路径）连接到 S3 接入点。这也适用于 DP（数据保护）卷类型。有关更多信息，请参阅 [ONTAP 卷装载文档](https://docs.netapp.com/us-en/ontap/nfs-admin/mount-unmount-existing-volumes-nas-namespace-task.html)。

## 由于 SVM 上已禁用 S3 协议，S3 接入点创建失败
<a name="s3-protocol-not-allowed"></a>

S3 接入点要求在存储虚拟机 (SVM) 上启用 S3 协议。要启用 S3 协议，请使用`fsxadmin`以下命令在 ONTAP CLI 中运行以下命令：

```
> vserver add-protocols -vserver svm_name -protocols s3
```

要验证协议是否已启用，请执行以下操作：

```
> vserver show -vserver svm_name -fields allowed-protocols,disallowed-protocols
```

## 文件系统无法处理 S3 请求
<a name="no-request-handling"></a>

如果特定工作负载的 S3 请求量超过文件系统处理流量的容量，则可能会遇到 S3 请求错误（例如`Internal Server Error``503 Slow Down`、和`Service Unavailable`）。您可以使用 Amazon CloudWatch 指标（例如和`CPU utilization`）主动监控文件系统的性能`Network throughput utilization`并发出警报。如果您发现性能下降，则可以通过增加文件系统的吞吐容量来解决此问题。

## 使用自动创建的服务角色的默认 S3 接入点权限拒绝访问
<a name="ap-arn-format"></a>

某些 S3 集成 AWS 服务将创建自定义服务角色并针对您的特定用例自定义附加权限。将您的 S3 接入点别名指定为 S3 资源时，这些附加的权限可能包括使用存储桶 ARN 格式（例如`arn:aws:s3:::my-fsx-ap-foo7detztxouyjpwtu8krroppxytruse1a-ext-s3alias`）而不是接入点 ARN 格式（例如）的接入点。`arn:aws:s3:us-east-1:1234567890:accesspoint/my-fsx-ap`要解决此问题，请修改策略以使用接入点的 ARN。