

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

# 配置 Amazon S3 存储
<a name="canvas-storage-configuration"></a>

设置 SageMaker Canvas 应用程序时，模型项目、数据集和其他应用程序数据的默认存储位置是 Canvas 创建的 Amazon S3 存储桶。这个默认的 Amazon S3 存储桶遵循命名模式 `s3://sagemaker-{Region}-{your-account-id}`，并且与 Canvas 应用程序存在于同一个区域中。不过，您可以自定义存储位置，指定自己的 Amazon S3 存储桶来存储 Canvas 应用程序数据。出于以下任何原因，您可能希望使用自己的 Amazon S3 存储桶来存储应用程序数据：
+ 您的组织有 Amazon S3 存储桶的内部命名约定。
+ 您希望启用对模型构件或其他 Canvas 数据的跨账户存取。
+ 您希望遵守内部安全准则，例如限制用户使用特定的 Amazon S3 存储桶或模型构件。
+ 您希望独立于 Amazon 控制台或 SageMaker Studio Classic，增强对 Canvas 生成的日志的可见性和访问权限。

通过指定您自己的 Amazon S3 存储桶，您可以加强对自己存储的控制并遵守组织的要求。

首先，您可以创建新的 SageMaker AI 域或用户配置文件，也可以更新现有的域或用户配置文件。请注意，用户配置文件设置优先于域级设置。例如，您可以使用域级别的默认存储桶配置，但也可以为单个用户指定自定义 Amazon S3 存储桶。为域或用户配置文件指定您自己的 Amazon S3 存储桶后，Canvas 会在输入的 Amazon S3 URI 下创建一个名为 `Canvas/<UserProfileName>` 的子文件夹，并将 Canvas 应用程序中生成的所有构件保存在该子文件夹下。

**重要**  
如果您更新了现有的域或用户配置文件，您将无法再访问以前位置的 Canvas 构件。您的文件仍位于原来的 Amazon S3 位置，但您无法再从 Canvas 中查看它们。新配置将在您下次登录应用程序时生效。

有关授予对 Amazon S3 存储桶的跨账户存取权限的更多信息，请参阅《Amazon S3 用户指南》**中的[授予跨账户对象权限](https://docs.amazonaws.cn/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example4.html#access-policies-walkthrough-example4-overview)。

以下几节将介绍如何为 Canvas 存储配置指定自定义 Amazon S3 存储桶。如果您要设置新的 SageMaker AI 域（或网域中的新用户），请使用[新的域设置方法](#canvas-storage-configuration-new-domain)或[新的用户配置文件设置方法](#canvas-storage-configuration-new-user)。如果您有一个现有的 Canvas 用户配置文件，并希望更新该配置文件的存储配置，请使用 [现有用户方法](#canvas-storage-configuration-existing-user)。

## 开始之前
<a name="canvas-storage-configuration-prereqs"></a>

如果您要指定来自其他 Amazon 账户的 Amazon S3 URI，或者您使用的是使用加密的存储桶 Amazon KMS，则必须先配置权限，然后才能继续操作。您必须授予 Amazon IAM 权限，以确保 Canvas 可以从您的存储桶下载和上传对象。有关如何授予所需权限的详细信息，请参阅 [授予跨账户 Amazon S3 存储的权限](canvas-permissions-cross-account.md)。

此外，Canvas 存储位置中训练文件夹的最终 Amazon S3 URI 不得超过 128 个字符。最终的 Amazon S3 URI 由存储桶路径 `s3://<your-bucket-name>/<folder-name>/` 和 Canvas 添加到存储桶的路径组成：`Canvas/<user-profile-name>/Training`。例如，少于 128 个字符的可接受路径是 `s3://<amzn-s3-demo-bucket>/<machine-learning>/Canvas/<user-1>/Training`。

## 新的域设置方法
<a name="canvas-storage-configuration-new-domain"></a>

如果要设置新的域和 Canvas 应用程序，请使用本节配置域级别的存储位置。此配置适用于您在域中创建的所有新用户，除非您为单个用户配置文件指定不同的存储位置。

为您的域进行**标准设置**时，请在**步骤 3：配置应用程序 - 可选**页面的 **Canvas** 部分按照以下步骤操作：

1. 对于 **Canvas 存储配置**，执行以下操作：

   1. 如果您要将位置设置为遵循该模式的默认 SageMaker AI 存储桶，请选择 “**系统管理**” `s3://sagemaker-{Region}-{your-account-id}`。

   1. 选择**自定义 S3**，将您自己的 Amazon S3 存储桶指定为存储位置。然后，输入 Amazon S3 URI。

   1. （可选）对于**加密密钥**，指定用于加密存储在指定位置的 Canvas 构件的 KMS 密钥。

1. 完成域的设置并选择**提交**。

现在，您的域已配置为使用您为 C SageMaker anvas 应用程序存储指定的 Amazon S3 位置。

## 新的用户配置文件设置方法
<a name="canvas-storage-configuration-new-user"></a>

如果要在域中设置新的用户配置文件，请使用本节配置用户的存储位置。此配置优先于域级配置。

在域中添加用户配置文件时，在**步骤 2：配置应用程序**中，在 **Canvas** 部分按照以下步骤操作：

1. 对于 **Canvas 存储配置**，执行以下操作：

   1. 如果您要将位置设置为遵循该模式的 AI 创建的默认 SageMaker AI 创建的存储桶，请选择 “**系统管理**” `s3://sagemaker-{Region}-{your-account-id}`。

   1. 选择**自定义 S3**，将您自己的 Amazon S3 存储桶指定为存储位置。然后，输入 Amazon S3 URI。

   1. （可选）对于**加密密钥**，指定用于加密存储在指定位置的 Canvas 构件的 KMS 密钥。

1. 完成用户配置文件的设置并选择**提交**。

现在，您的用户配置文件已配置为使用您为 C SageMaker anvas 应用程序存储指定的 Amazon S3 位置。

## 现有用户方法
<a name="canvas-storage-configuration-existing-user"></a>

如果您已有 Canvas 用户个人资料并且想要更新 Amazon S3 的存储位置，则可以编辑 SageMaker AI 域或用户配置文件设置。所做更改将在您下次登录 Canvas 应用程序时生效。

**注意**  
当您更改现有 Canvas 应用程序的存储位置时，您将无法从以前的存储位置访问 Canvas 构件。这些构件仍存储在原来的 Amazon S3 位置，但您无法再从 Canvas 中查看它们。

请记住，用户配置文件设置优先于常规域设置，因此您可以更新特定用户配置文件的 Amazon S3 存储位置，而无需更改所有用户的设置。您可以使用以下过程更新现有域或用户的存储配置。

------
#### [ Update an existing domain ]

使用以下过程更新域的存储配置。

1. 打开 SageMaker AI 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.amazonaws.cn/sagemaker/)。

1. 在左侧导航窗格中，选择**管理员配置**。

1. 在**管理员配置**下，选择**域**。

1. 从域列表中选择您的域。

1. 在**域详细信息**页面上，选择**应用程序配置**选项卡。

1. 向下滚动到 **Canvas** 部分，然后选择 **编辑**。

1. 此时将打开**编辑 Canvas 设置**页面。在 **Canvas 存储配置**部分中，执行以下操作：

   1. 如果您要将位置设置为遵循该模式的 AI 创建的默认 SageMaker AI 创建的存储桶，请选择 “**系统管理**” `s3://sagemaker-{Region}-{your-account-id}`。

   1. 选择**自定义 S3**，将您自己的 Amazon S3 存储桶指定为存储位置。然后，输入 Amazon S3 URI。

   1. （可选）对于**加密密钥**，指定用于加密存储在指定位置的 Canvas 构件的 KMS 密钥。

1. 完成要对域进行的任何其他修改，然后选择**提交**以保存更改。

------
#### [ Update an existing user profile ]

使用以下过程更新用户配置文件的存储配置。

1. 打开 SageMaker AI 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.amazonaws.cn/sagemaker/)。

1. 在左侧导航窗格中，选择**管理员配置**。

1. 在**管理员配置**下，选择**域**。

1. 从**域**列表中选择您的域。

1. 从域中的用户列表中，选择要编辑其配置的用户。

1. 在**用户详细信息**页面上，选择**编辑**。

1. 在导航窗格中，选择 **Canvas 设置**。

1. 对于 **Canvas 存储配置**，执行以下操作：

   1. 如果您要将位置设置为遵循该模式的默认 SageMaker AI 存储桶，请选择 “**系统管理**” `s3://sagemaker-{Region}-{your-account-id}`。

   1. 选择**自定义 S3**，将您自己的 Amazon S3 存储桶指定为存储位置。然后，输入 Amazon S3 URI。

   1. （可选）对于**加密密钥**，指定用于加密存储在指定位置的 Canvas 构件的 KMS 密钥。

1. 完成要对用户配置文件进行的任何其他修改，然后选择**提交**以保存更改。

------

Canvas 用户配置文件的存储位置现在应该已经更新。您下次登录 Canvas 应用程序时，就会收到存储位置已更新的通知。您将无法访问之前在 Canvas 中创建的任何构件。您仍然可以访问 Amazon S3 中的文件，但不能再在 Canvas 中查看它们。