

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

# 隔离域资源
<a name="domain-resource-isolation"></a>

**重要**  
允许 Amazon SageMaker Studio 或 Amazon SageMaker Studio Classic 创建亚马逊 SageMaker资源的自定义 IAM 策略还必须授予向这些资源添加标签的权限。之所以需要为资源添加标签的权限，是因为 Studio 和 Studio Classic 会自动为创建的任何资源添加标签。如果 IAM 策略允许 Studio 和 Studio Classic 创建资源但不允许标记，则在尝试创建资源时可能会出现 AccessDenied “” 错误。有关更多信息，请参阅 [提供标记 A SageMaker I 资源的权限](security_iam_id-based-policy-examples.md#grant-tagging-permissions)。  
[AWS 亚马逊 A SageMaker I 的托管策略](security-iam-awsmanpol.md)授予创建 SageMaker 资源的权限已经包括在创建这些资源时添加标签的权限。

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

该策略可隔离的资源是条件键包含 `aws:ResourceTag/${TagKey}` 或 `sagemaker:ResourceTag/${TagKey}` 的资源类型。有关 SageMaker AI 资源和关联条件键的参考，请参阅 A [mazon A SageMaker I 的操作、资源和条件键](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html)。

**警告**  
*不*包含上述条件键的资源类型（以及使用这些资源类型的[操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-actions-as-permissions)）*不*受此资源隔离策略的影响。例如，[pipeline-execution](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-pipeline-execution) 资源类型*不*包含上述条件键，且*不*受此策略影响。因此，以下几个具有 pipeline-execution 资源类型的操作*不*支持资源隔离：  
DescribePipelineExecution
StopPipelineExecution
UpdatePipelineExecution
RetryPipelineExecution
DescribePipelineDefinitionForExecution
ListPipelineExecutionSteps
SendPipelineExecutionStepSuccess
SendPipelineExecutionStepFailure

下面的主题将介绍如何创建一个新的 IAM 策略，限制带有域标记的用户配置文件访问域中的资源，以及如何将此策略附加到域的 IAM 执行角色。您必须对账户中的每个域重复此过程。有关域标记和回填这些标记的更多信息，请参阅 [多域概览](domain-multiple.md)

## 控制台
<a name="domain-resource-isolation-console"></a>

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

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

1. 通过完成[创建 IAM 策略（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)中的步骤来创建名为 `StudioDomainResourceIsolationPolicy-domain-id` 的 IAM 策略，该策略包含以下 JSON 策略文档。

------
#### [ JSON ]

****  

   ```
   {
       "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"
           }
       ]
   }
   ```

------

1. 完成[修改角色（管理控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-modify_permissions-policy)中的步骤，将 `StudioDomainResourceIsolationPolicy-domain-id` 策略附加到域的执行角色。

## AWS CLI
<a name="domain-resource-isolation-cli"></a>

下面将介绍如何创建新的 IAM 策略，限制带有域标记的用户配置文件访问域中的资源，以及如何将此策略附加到 AWS CLI中的域执行角色。

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

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

------
#### [ JSON ]

****  

   ```
   {
       "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"
           }
       ]
   }
   ```

------

1. 使用 `StudioDomainResourceIsolationPolicy-domain-id` 文件创建新的 IAM 策略。

   ```
   aws iam create-policy --policy-name StudioDomainResourceIsolationPolicy-domain-id --policy-document file://StudioDomainResourceIsolationPolicy-domain-id
   ```

1. 将新创建的策略附加到用作域执行角色的新角色或现有角色上。

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