

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

# 授予用户上传本地文件的权限
<a name="canvas-set-up-local-upload"></a>

如果您的用户要将文件从本地计算机上传到 C SageMaker anvas，则必须将 CORS（跨源资源共享）配置附加到他们正在使用的 Amazon S3 存储桶。设置或编辑 SageMaker AI 域或用户个人资料时，您可以指定自定义 Amazon S3 位置或默认位置，默认位置是 SageMaker AI 创建的 Amazon S3 存储桶，其名称使用以下模式：`s3://sagemaker-{Region}-{your-account-id}`。 SageMaker 每当用户上传文件时，Canvas 都会将他们的数据添加到存储桶中。

要授予用户将本地文件上传到存储桶的权限，您可以使用以下任一过程将 CORS 配置附加到该存储桶。在编辑域的设置时，您可以使用第一种方法，即选择允许 SageMaker AI 为您将 CORS 配置附加到存储桶。您也可以使用第一种方法编辑域内的用户配置文件。第二种方法是手动方法，您可以自己将 CORS 配置附加到存储桶。

## SageMaker AI 域名设置方法
<a name="canvas-set-up-local-upload-domain"></a>

要授予用户上传本地文件的权限，您可以编辑域设置中的 Canvas 应用程序配置。这会将跨源资源共享 (CORS) 配置附加到 Canvas 存储配置的 Amazon S3 存储桶，并向该域中的所有用户授予将 SageMaker 本地文件上传到 Canvas 的权限。默认情况下，设置新域时会打开权限选项，但您也可以根据需要打开或关闭此选项。

**注意**  
如果您在存储配置 Amazon S3 存储桶上已有 CORS 配置，打开本地文件上传选项后，新配置会覆盖现有配置。

以下过程说明如何通过在 SageMaker AI 控制台中编辑域设置来启用此选项。

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

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

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

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

1. 前往 **Canvas** 部分并选择**编辑**。

1. 打开**启用本地文件上传**开关。这将附加 CORS 配置并授予本地文件上传权限。

1. 选择**提交**。

指定域中的用户现在应该拥有本地文件上传权限。

您也可以按照前面的步骤，进入用户配置文件设置而不是整个域设置，为域中的特定用户配置文件授予权限。

## Amazon S3 存储桶方法
<a name="canvas-set-up-local-upload-s3"></a>

如果您想手动将 CORS 配置附加到 SageMaker AI Amazon S3 存储桶，请使用以下步骤。

1. 登录到 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 选择存储桶。如果您的域使用由 SageMaker 人工智能创建的默认存储桶，则存储桶的名称将使用以下模式：`s3://sagemaker-{Region}-{your-account-id}`。

1. 选择**权限**。

1. 导航到**跨源资源共享 (CORS)**。

1. 选择**编辑**。

1. 添加以下 CORS 策略：

   ```
   [
       {
           "AllowedHeaders": [
               "*"
           ],
           "AllowedMethods": [
               "POST"
           ],
           "AllowedOrigins": [
               "*"
           ],
           "ExposeHeaders": []
       }
   ]
   ```

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

在上述过程中，CORS 策略必须在 `AllowedMethods` 下列出 `"POST"`。

完成该过程之后，您应该具有：
+ 分配给每个用户的 IAM 角色。
+ 您的每个用户都有亚马逊 SageMaker Studio Classic 运行时权限。 SageMaker Canvas 使用 Studio Classic 来运行用户的命令。
+ 如果用户正在从本地计算机上传文件，则其 Amazon S3 存储桶会附加 CORS 策略。

如果在更新 CORS 策略后，用户仍然无法上传本地文件，则浏览器可能缓存了上次上传尝试的 CORS 设置。如果用户遇到问题，请指示用户清除浏览器缓存，然后重试。