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

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

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

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

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

SageMaker 域名设置方法

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

注意

如果您在存储CORS配置 Amazon S3 存储桶上有现有配置,则打开本地文件上传选项会使用新配置覆盖现有配置。

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

  1. 转到 SageMaker 控制台,网址为https://console.aws.amazon.com/sagemaker/

  2. 在左侧导航窗格中,选择

  3. 从域名列表中选择您的域名。

  4. 在域名详细信息页面上,选择应用程序配置选项卡。

  5. 前往 “画布” 部分并选择 “编辑”

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

  7. 选择提交

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

您还可以按照上述步骤向域中的特定用户配置文件授予权限,进入用户配置文件设置而不是整体域设置。

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. 选择 Save changes(保存更改)

在前面的步骤中,CORS策略必须已"POST"列在AllowedMethods

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

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

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

  • 如果用户从本地计算机上传文件,则会将CORS策略附加到他们的 Amazon S3 存储桶。

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