

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ドメインリソースを分離する
<a name="domain-resource-isolation"></a>

**重要**  
Amazon SageMaker Studio または Amazon SageMaker Studio Classic に Amazon SageMaker リソースの作成を許可するカスタム IAM ポリシーでは、これらのリソースにタグを追加するアクセス許可も付与する必要があります。Studio と Studio Classic は、作成したリソースに自動的にタグ付けするため、リソースにタグを追加するアクセス許可が必要になります。IAM ポリシーで Studio と Studio Classic によるリソースの作成が許可されていても、タグ付けが許可されていない場合は、リソースを作成しようとしたときに「AccessDenied」エラーが発生する可能性があります。詳細については、「[SageMaker AI リソースにタグ付けのアクセス許可を付与する](security_iam_id-based-policy-examples.md#grant-tagging-permissions)」を参照してください。  
SageMaker リソースを作成するためのアクセス許可を付与する [AWS Amazon SageMaker AI の マネージドポリシー](security-iam-awsmanpol.md) には、それらのリソースの作成中にタグを追加するためのアクセス許可もあらかじめ含まれています。

( AWS Identity and Access Management IAM) ポリシーを使用して、アカウント AWS リージョン 内の各ドメイン間でリソースを分離できます。分離したリソースは、その他のドメインからアクセスできなくなります。このトピックでは、IAM ポリシーに必要な条件とポリシーの適用方法について説明します。

このポリシーで分離できるリソースは、`aws:ResourceTag/${TagKey}` または `sagemaker:ResourceTag/${TagKey}` を含む条件キーを持つリソースタイプです。SageMaker AI リソースおよび関連する条件キーのリファレンスについては、「[Actions, resources, and condition keys for Amazon SageMaker AI](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>

以下のセクションでは、Amazon SageMaker AI コンソールから、ドメイン内のリソースへのアクセスをドメインタグを持つユーザープロファイルに制限する新しい IAM ポリシーを作成する方法と、このポリシーをドメインの IAM 実行ロールにアタッチする方法について説明します。

**注記**  
このポリシーは、Amazon SageMaker Studio Classic をデフォルトのエクスペリエンスとして使用するドメインでのみ機能します。

1. 「[IAM ポリシーの作成 (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)」のステップを実行して、次の JSON ポリシードキュメントを使用して `StudioDomainResourceIsolationPolicy-{{domain-id}}` という名前の IAM ポリシーを作成します。

------
#### [ 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>

以下のセクションでは、 AWS CLIから、ドメイン内のリソースへのアクセスをドメインタグを持つユーザープロファイルに制限する新しい IAM ポリシーを作成する方法と、このポリシーをドメインの IAM 実行ロールにアタッチする方法について説明します。

**注記**  
このポリシーは、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}}
   ```