授予用户上传本地文件的权限 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

授予用户上传本地文件的权限

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

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

域名设置方法

要授予用户上传本地文件的权限,你可以在设置域名时选择 “启用 Canvas 权限”。这会将跨源资源共享 (CORS) 配置附加到 Canvas 存储配置的 Amazon S3 存储桶,并向该域中的所有用户授予将 SageMaker 本地文件上传到 Canvas 的权限。默认情况下,当您设置域时,权限选项处于启用状态,但是如果您不想向用户授予上传文件的权限,则可以关闭此选项。

注意

如果存储配置 Amazon S3 存储桶上已有 CORS 配置,则打开启用 Canvas 权限后,新配置将覆盖现有配置。

以下过程说明在控制台中快速设置域名时如何打开此选项。

  1. 用户配置文件部分,输入用户的名称

  2. 为用户选择执行角色

  3. 打开 “启用 SageMaker 画布权限”。(默认情况下,该选项处于打开状态)。

  4. 完成域名设置。

如果您要为域名进行标准设置,请按照以下步骤在 “画布设置” 部分开启本地文件上传。

  1. 启用和配置 Canvas 权限中,选择本地文件上传。(默认情况下已选中此选项。)

  2. 选择下一步

  3. 完成域名设置。

您的用户现在可以将本地文件上传到他们的 SageMaker Canvas 应用程序中。

您还可以使用以下步骤为现有域名开启或关闭本地上传权限。

  1. 前往 Amazon SageMaker 控制台

  2. 在左侧导航窗格中,选择管理员配置

  3. 管理员配置下,选择

  4. 名列表中选择您的域名。

  5. 域设置页面上,选择域设置选项卡。

  6. 选择编辑

  7. 在导航窗格中,选择 Canvas 设置

  8. 选择或取消选择启用本地文件上传

  9. 完成您要对域名进行的任何其他修改,然后选择提交以提交您的更改。

Amazon S3 存储桶方法

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

  1. https://console.aws.amazon.com/s3/ 上登录。

  2. 选择存储桶。如果您的域名使用默认 SageMaker 创建的存储桶,则存储桶的名称将使用以下模式:s3://sagemaker-{Region}-{your-account-id}

  3. 选择权限

  4. 导航到跨源资源共享 (CORS)

  5. 选择编辑

  6. 添加以下 CORS 策略:

    [ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "POST" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [] } ]
  7. 选择保存更改

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

完成该过程之后,您应该具有:

  • 分配给每个用户的 IAM 角色。

  • 您的每个用户都有亚马逊 SageMaker Studio Classic 运行时权限。 SageMaker Canvas 使用 Studio Classic 来运行用户的命令。

  • 如果用户正在从本地计算机上传文件,则其 Amazon S3 存储桶会附加 CORS 策略。

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