隔离域资源 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

隔离域资源

重要

允许 Amazon SageMaker Studio 或 Amazon SageMaker Studio Classic 创建亚马逊 SageMaker资源的自定义IAM策略还必须授予向这些资源添加标签的权限。需要向资源添加标签的权限,因为 Studio 和 Studio Classic 会自动标记他们创建的任何资源。如果IAM策略允许 Studio 和 Studio Classic 创建资源但不允许标记,则在尝试创建资源时可能会出现 AccessDenied “” 错误。有关更多信息,请参阅 提供标记 SageMaker资源的权限

Amazon Amazon 托管政策 SageMaker授予创建 SageMaker 资源的权限已经包括在创建这些资源时添加标签的权限。

您可以 Amazon Web Services 区域 使用 Amazon Identity and Access Management (IAM) 策略在账户中的每个域之间隔离资源。将无法再从其他域访问隔离的资源。在本主题中,我们将讨论IAM政策所需的条件以及如何应用这些条件。

此策略可以隔离的资源是条件键包含aws:ResourceTag/${TagKey}或的资源类型sagemaker:ResourceTag/${TagKey}。有关 SageMaker 资源和关联条件键的参考,请参阅 Amazon 的操作、资源和条件键 SageMaker

警告

包含上述条件键的资源类型(以及使用这些资源类型的操作不受此资源隔离策略的影响。例如,管道执行资源类型包含上述条件键,因此不受此策略的影响。因此,以下是资源隔离支持管道执行资源类型的一些操作:

  • DescribePipelineExecution

  • StopPipelineExecution

  • UpdatePipelineExecution

  • RetryPipelineExecution

  • DescribePipelineDefinitionForExecution

  • ListPipelineExecutionSteps

  • SendPipelineExecutionStepSuccess

  • SendPipelineExecutionStepFailure

以下主题说明如何创建新IAM策略,将对域中资源的访问权限限制为带有域标签的用户配置文件,以及如何将此策略附加到域的IAM执行角色。您必须对账户中的每个域名重复此过程。有关域名标签和回填这些标签的更多信息,请参阅 多个域名概述

控制台

以下部分介绍如何创建新IAM策略,将对域中资源的访问权限限制为带有域标签的用户个人资料,以及如何从 Amazon SageMaker 控制台将此策略附加到域的IAM执行角色。

注意

此政策仅适用于使用 Amazon SageMaker Studio Classic 作为默认体验的域名。

  1. 完成创建IAM策略(控制台)中的步骤,创建以以下JSONIAM策略文档命名的StudioDomainResourceIsolationPolicy-domain-id策略。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAPIs", "Effect": "Allow", "Action": "sagemaker:Create*", "NotResource": [ "arn:aws:sagemaker:*:*:domain/*", "arn:aws:sagemaker:*:*:user-profile/*", "arn:aws:sagemaker:*:*:space/*" ] }, { "Sid": "ResourceAccessRequireDomainTag", "Effect": "Allow", "Action": [ "sagemaker:Update*", "sagemaker:Delete*", "sagemaker:Describe*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sagemaker:domain-arn": "domain-arn" } } }, { "Sid": "AllowActionsThatDontSupportTagging", "Effect": "Allow", "Action": [ "sagemaker:DescribeImageVersion", "sagemaker:UpdateImageVersion", "sagemaker:DeleteImageVersion", "sagemaker:DescribeModelCardExportJob", "sagemaker:DescribeAction" ], "Resource": "*" }, { "Sid": "DeleteDefaultApp", "Effect": "Allow", "Action": "sagemaker:DeleteApp", "Resource": "arn:aws:sagemaker:*:*:app/domain-id/*/jupyterserver/default" } ] }
  2. 完成修改角色(控制台)中的步骤,将StudioDomainResourceIsolationPolicy-domain-id策略附加到域的执行角色

Amazon CLI

下一节说明如何创建新IAM策略,将对域中资源的访问权限限制为带有域标签的用户配置文件,以及如何将此策略附加到域的执行角色 Amazon CLI。

注意

此政策仅适用于使用 Amazon SageMaker Studio Classic 作为默认体验的域名。

  1. 在本地计算机上创建一个名为 StudioDomainResourceIsolationPolicy-domain-id 的文件,该文件包含以下内容。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAPIs", "Effect": "Allow", "Action": "sagemaker:Create*", "NotResource": [ "arn:aws:sagemaker:*:*:domain/*", "arn:aws:sagemaker:*:*:user-profile/*", "arn:aws:sagemaker:*:*:space/*" ] }, { "Sid": "ResourceAccessRequireDomainTag", "Effect": "Allow", "Action": [ "sagemaker:Update*", "sagemaker:Delete*", "sagemaker:Describe*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sagemaker:domain-arn": "domain-arn" } } }, { "Sid": "AllowActionsThatDontSupportTagging", "Effect": "Allow", "Action": [ "sagemaker:DescribeImageVersion", "sagemaker:UpdateImageVersion", "sagemaker:DeleteImageVersion", "sagemaker:DescribeModelCardExportJob", "sagemaker:DescribeAction" ], "Resource": "*" }, { "Sid": "DeleteDefaultApp", "Effect": "Allow", "Action": "sagemaker:DeleteApp", "Resource": "arn:aws:sagemaker:*:*:app/domain-id/*/jupyterserver/default" } ] }
  2. 使用该StudioDomainResourceIsolationPolicy-domain-id文件创建新IAM策略。

    aws iam create-policy --policy-name StudioDomainResourceIsolationPolicy-domain-id --policy-document file://StudioDomainResourceIsolationPolicy-domain-id
  3. 将新创建的策略附加到用作域执行角色的新角色或现有角色。

    aws iam attach-role-policy --policy-arn arn:aws:iam:account-id:policy/StudioDomainResourceIsolationPolicy-domain-id --role-name domain-execution-role