

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 도메인 리소스 분리
<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))은 이 리소스 분리 정책의 영향을 받지 *않습니다*. 예를 들어 [파이프라인 실행](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-pipeline-execution) 리소스 유형에는 위의 조건 키가 포함되어 있지 *않으며* 이 정책의 영향을 받지 *않습니다*. 따라서 다음은 파이프라인 실행 리소스 유형과 함께 리소스 분리에 지원되지 *않는* 몇 가지 작업입니다.  
DescribePipelineExecution
StopPipelineExecution
UpdatePipelineExecution
RetryPipelineExecution
DescribePipelineDefinitionForExecution
ListPipelineExecutionSteps
SendPipelineExecutionStepSuccess
SendPipelineExecutionStepFailure

다음 주제에서는 도메인 태그가 있는 사용자 프로필만 도메인의 리소스에 액세스할 수 있도록 제한하는 새 IAM 정책을 만드는 방법과 이 정책을 도메인의 IAM 실행 역할에 연결하는 방법을 보여줍니다. 계정의 각 도메인에 대해 이 절차를 반복해야 합니다. 도메인 태그 및 이러한 태그 채우기에 대한 자세한 내용은 [다중 도메인 개요](domain-multiple.md) 섹션을 참조하세요.

## 콘솔
<a name="domain-resource-isolation-console"></a>

아래 섹션에서는 도메인 태그가 있는 사용자 프로필만 도메인의 리소스에 액세스할 수 있도록 제한하는 새 IAM 정책을 만드는 방법과 Amazon SageMaker AI 콘솔에서 이 정책을 도메인의 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>

아래 섹션에서는 도메인 태그가 있는 사용자 프로필만 도메인의 리소스에 액세스할 수 있도록 제한하는 새 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
   ```