

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

# Amazon SageMaker Canvas 설정 및 권한 관리(IT 관리자용)
<a name="canvas-setting-up"></a>

이어지는 페이지에서는 IT 관리자가 Amazon SageMaker Canvas를 구성하고 조직 내 사용자에게 권한을 부여하는 방법을 설명합니다. 스토리지 구성을 설정하고, 데이터 암호화 및 VPCs 관리하고, 생성형 AI 파운데이션 모델과 같은 특정 기능에 대한 액세스를 제어하고, Amazon Redshift와 같은 다른 AWS 서비스와 통합하는 방법 등을 알아봅니다. 다음 단계를 진행하면 조직의 특정 요구 사항에 따라 사용자에 맞게 SageMaker Canvas를 조정할 수 있습니다.

를 사용하여 사용자를 위해 SageMaker Canvas를 설정할 수도 있습니다 AWS CloudFormation. 자세한 내용은 *AWS CloudFormation 사용 설명서*의 [AWS::SageMaker AI::App](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html)을 참조하세요.

**Topics**
+ [사용자에게 로컬 파일 업로드 권한 부여](canvas-set-up-local-upload.md)
+ [사용자를 위한 SageMaker Canvas 설정](setting-up-canvas-sso.md)
+ [Amazon S3 스토리지 구성](canvas-storage-configuration.md)
+ [계정 간 Amazon S3 스토리지에 대한 권한 부여](canvas-permissions-cross-account.md)
+ [ML 수명 주기 전체에서 대규모 데이터를 사용할 수 있는 권한을 사용자에게 부여](canvas-large-data-permissions.md)
+ [를 사용하여 SageMaker Canvas 데이터 암호화 AWS KMS](canvas-kms.md)
+ [SageMaker Canvas 애플리케이션 데이터를 자체 SageMaker AI 스페이스에 저장](canvas-spaces-setup.md)
+ [사용자에게 사용자 지정 이미지 및 텍스트 예측 모델을 구축할 수 있는 권한 부여](canvas-set-up-cv-nlp.md)
+ [Canvas에서 Amazon Bedrock 및 생성형 AI 기능을 사용할 수 있는 권한을 사용자에게 부여](canvas-fine-tuning-permissions.md)
+ [사용자를 위한 SageMaker Canvas 업데이트](canvas-update.md)
+ [할당량 증가 요청](canvas-requesting-quota-increases.md)
+ [사용자에게 Amazon Redshift 데이터를 가져올 수 있는 권한 부여](canvas-redshift-permissions.md)
+ [사용자에게 예측을 빠르게 전송할 수 있는 권한 부여](canvas-quicksight-permissions.md)
+ [애플리케이션 관리](canvas-manage-apps.md)
+ [인터넷 액세스 없이 VPC에서 Amazon SageMaker Canvas 구성](canvas-vpc.md)
+ [OAuth를 사용하여 데이터 원본에 대한 연결 설정](canvas-setting-up-oauth.md)

# 사용자에게 로컬 파일 업로드 권한 부여
<a name="canvas-set-up-local-upload"></a>

사용자가 로컬 컴퓨터에서 SageMaker Canvas로 파일을 업로드하는 경우 사용자가 사용 중인 Amazon S3 버킷에 Cross-Origin Resource Sharing(CORS) 구성을 연결해야 합니다. SageMaker AI 도메인 또는 사용자 프로필을 설정 또는 편집할 때 사용자 지정 Amazon S3 위치 또는 기본 위치를 지정할 수 있습니다. 이 위치는 SageMaker AI에서 만든 Amazon S3 버킷으로, 이름은 `s3://sagemaker-{Region}-{your-account-id}` 패턴을 사용합니다. SageMaker Canvas는 사용자가 파일을 업로드할 때마다 사용자의 데이터를 버킷에 추가합니다.

사용자에게 로컬 파일을 버킷에 업로드할 권한을 부여하려면 다음 절차 중 하나를 사용하여 CORS 구성을 버킷에 첨부할 수 있습니다. 도메인 설정을 편집하거나 첫 번째 방법을 사용할 수 있습니다. 여기서 SageMaker AI가 사용자를 위해 버킷에 CORS 구성을 연결하도록 선택합니다. 도메인 내에서 사용자 프로필을 편집하는 첫 번째 방법을 사용할 수도 있습니다. 두 번째 방법은 CORS 구성을 버킷에 직접 연결할 수 있는 수동 방법입니다.

## SageMaker AI 도메인 설정 방법
<a name="canvas-set-up-local-upload-domain"></a>

사용자에게 로컬 파일을 업로드할 수 있는 권한을 부여하려면 도메인 설정에서 Canvas 애플리케이션 구성을 편집할 수 있습니다. 이렇게 하면 Canvas 스토리지 구성의 Amazon S3 버킷에 Cross-Origin Resource Sharing(CORS) 구성을 연결하고 도메인의 모든 사용자에게 SageMaker Canvas에 로컬 파일을 업로드할 수 있는 권한을 부여합니다. 기본적으로 권한 옵션은 새 도메인을 설정할 때 켜지지만 필요에 따라 이 옵션을 켜거나 끌 수 있습니다.

**참고**  
스토리지 구성 Amazon S3 버킷에 기존 CORS 구성이 있는 경우 로컬 파일 업로드 옵션을 활성화하면 기존 구성을 새 구성으로 덮어씁니다.

다음 절차에서는 SageMaker AI 콘솔에서 도메인 설정을 편집하여 이 옵션을 켤 수 있는 방법을 보여줍니다.

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 SageMaker AI 콘솔로 이동합니다.

1. 왼쪽 탐색 창에서 **도메인**을 선택합니다.

1. 도메인 목록에서 사용자의 도메인을 선택합니다.

1. 도메인 세부 정보 페이지에서 **앱 구성** 탭을 선택합니다.

1. **Canvas** 섹션으로 이동하여 **편집**을 선택합니다.

1. **로컬 파일 업로드 활성화** 토글을 켭니다. 이렇게 하면 CORS 구성이 연결되고 로컬 파일 업로드 권한이 부여됩니다.

1. **제출**을 선택합니다.

이제 지정된 도메인의 사용자에게 로컬 파일 업로드 권한이 부여됩니다.

이전 절차에 따라 전체 도메인 설정 대신 사용자 프로필 설정으로 이동하여 도메인의 특정 사용자 프로필에 권한을 부여할 수도 있습니다.

## Amazon S3 버킷 메서드
<a name="canvas-set-up-local-upload-s3"></a>

SageMaker AI Amazon S3 버킷에 CORS 구성을 수동으로 연결하려면 다음 절차를 따르세요.

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에 로그인합니다.

1. 버킷을 선택합니다. 도메인에서 SageMaker AI에서 만들어진 기본 버킷을 사용하는 경우 버킷 이름은 `s3://sagemaker-{Region}-{your-account-id}` 패턴을 사용합니다.

1. **권한**을 선택합니다.

1. **교차 오리진 리소스 공유(CORS)**로 이동합니다.

1. **편집**을 선택합니다.

1. 다음 CORS 정책을 추가합니다.

   ```
   [
       {
           "AllowedHeaders": [
               "*"
           ],
           "AllowedMethods": [
               "POST"
           ],
           "AllowedOrigins": [
               "*"
           ],
           "ExposeHeaders": []
       }
   ]
   ```

1. **변경 사항 저장**을 선택합니다.

이전 절차에서 CORS 정책의 `AllowedMethods`아래에 `"POST"`이 나열되어 있어야 합니다.

절차를 완료한 후에는 다음을 갖추어야 합니다.
+ 각 사용자에게 할당된 IAM 역할.
+ 각 사용자에 대한 Amazon SageMaker Studio Classic 런타임 권한 SageMaker Canvas는 Studio Classic을 사용하여 사용자의 명령을 실행합니다.
+ 사용자가 로컬 시스템에서 파일을 업로드하는 경우, CORS 정책은 Amazon S3 버킷에 연결됩니다.

CORS 정책을 업데이트한 후에도 사용자가 여전히 로컬 파일을 업로드할 수 없는 경우 브라우저가 이전 업로드 시도에서 CORS 설정을 캐싱할 수 있습니다. 문제가 발생하는 경우 브라우저 캐시를 지우고 다시 시도하도록 지시합니다.

# 사용자를 위한 SageMaker Canvas 설정
<a name="setting-up-canvas-sso"></a>

Amazon SageMaker Canvas를 설정하려면 다음 작업을 수행합니다.
+ Amazon SageMaker AI 도메인을 생성합니다.
+ 도메인에 대한 사용자 프로필 만들기
+ 사용자를 위해 Okta 싱글 사인온(Okta SSO)을 설정합니다.
+ 모델의 링크 공유를 활성화하세요.

Okta 싱글 사인온(Okta SSO) 을 사용하여 사용자에게 Amazon SageMaker Canvas에 대한 액세스 권한을 부여하세요. SageMaker Canvas는 SAML 2.0 SSO 메서드를 지원합니다. 다음 섹션에서는 Okta SSO를 설정하는 절차를 안내합니다.

도메인을 설정하려면 [Amazon SageMaker AI에 사용자 지정 설정 사용](onboard-custom.md) 섹션을 참조하고 IAM 인증을 사용하여 도메인을 설정하는 지침을 따르세요. 다음 정보를 사용하여 섹션의 절차를 완료할 수 있습니다.
+ 프로젝트 생성 단계는 무시해도 됩니다.
+ 추가적인 Amazon S3 버킷에 대한 액세스 권한을 제공할 필요가 없습니다. 사용자는 역할을 생성할 때 제공되는 기본 버킷을 사용할 수 있습니다.
+ 사용자에게 데이터 과학자와 노트북을 공유할 수 있는 액세스 권한을 부여하려면 **노트북 공유 구성**을 활성화하세요.
+ Amazon SageMaker Studio Classic 버전 3.19.0 이상을 사용합니다. Amazon SageMaker Studio Classic 업데이트에 대한 자세한 내용은 [Amazon SageMaker Studio Classic 종료 및 업데이트](studio-tasks-update-studio.md) 섹션을 참조하세요.

다음 절차에 따라 Okta를 설정합니다. 다음 모든 절차에서 `IAM-role`에 대해 동일한 IAM 역할을 지정합니다.

## SageMaker Canvas 애플리케이션을 Okta에 추가
<a name="canvas-set-up-okta"></a>

Okta의 사인온 방법을 설정합니다.

1. Okta 관리자 대시보드에 로그인합니다.

1. **애플리케이션 추가**를 선택합니다. **AWS 계정 페더레이션을** 검색합니다.

1. **추가**를 선택합니다.

1. 선택 사항: 이름을 **Amazon SageMaker Canvas**로 변경합니다.

1. **다음**을 선택합니다.

1. **사인온** 방법에서 **SAML v2.0**을 선택합니다.

1. **ID 공급자 메타데이터**를 선택하여 메타데이터 XML 파일을 엽니다. 파일을 로컬에 저장합니다.

1. **완료**를 선택합니다.

## IAM에서 ID 페더레이션 설정
<a name="set-up-id-federation-IAM"></a>

AWS Identity and Access Management (IAM)는 계정에 AWS 액세스하는 데 사용하는 AWS 서비스입니다. IAM 계정을 AWS 통해에 액세스할 수 있습니다.

1.  AWS 콘솔에 로그인합니다.

1. **AWS Identity and Access Management (IAM)**을 선택합니다.

1. **ID 제공자**를 선택합니다.

1. **공급자 생성**을 선택합니다.

1. **공급자 구성**에서 다음을 지정합니다.
   + **공급자 유형** - 드롭다운 목록에서 **SAML**을 선택합니다.
   + **공급자 이름** - **Okta**를 지정합니다.
   + **메타데이터 문서** - [SageMaker Canvas 애플리케이션을 Okta에 추가](#canvas-set-up-okta)의 7단계에서 로컬로 저장한 XML 문서를 업로드합니다.

1. **ID 공급자**에서 ID 공급자를 찾으세요. 해당 **공급자 ARN** 값을 복사합니다.

1. **역할**에서 Okta SSO 액세스에 사용할 IAM 역할을 선택합니다.

1. IAM 역할에 대한 **신뢰 관계** 탭에서 **신뢰 관계 편집**을 선택합니다.

1. 복사한 **공급자 ARN** 값을 지정하여 IAM 신뢰 관계 정책을 수정하고 다음 정책을 추가합니다.

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

****  

   ```
     {
     "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws:iam::111122223333:saml-provider/Okta"
           },
           "Action": [
             "sts:AssumeRoleWithSAML",
             "sts:TagSession"
           ],
           "Condition": {
             "StringEquals": {
               "SAML:aud": "https://signin.aws.amazon.com/saml"
             }
           }
         },
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws:iam::111122223333:saml-provider/Okta"
           },
           "Action": [
             "sts:SetSourceIdentity"
           ]
         }
       ]
     }
   ```

------

1. **권한**에 대해 다음 정책을 추가합니다.

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "AmazonSageMakerPresignedUrlPolicy",
              "Effect": "Allow",
              "Action": [
                   "sagemaker:CreatePresignedDomainUrl"
              ],
              "Resource": "*"
         }
     ]
   }
   ```

------

## Okta에서 SageMaker Canvas 설정
<a name="canvas-configure-okta"></a>

다음 절차를 사용하여 Okta에서 Amazon SageMaker Canvas를 구성합니다.

Okta를 사용하도록 Amazon SageMaker Canvas를 구성하려면 이 섹션의 단계를 따르세요. 각 **SageMakerStudioProfileName** 필드에 고유한 사용자 이름을 지정해야 합니다. 예를 들어 `user.login`을 값으로 사용할 수 있습니다. 사용자 이름이 SageMaker Canvas 프로필 이름과 다른 경우 고유하게 식별되는 다른 속성을 선택하세요. 예를 들어, 프로필 이름으로 직원의 ID 번호를 사용할 수 있습니다.

**속성**에 설정할 수 있는 값의 예는 절차 다음의 코드를 참조하세요.

1. **디렉터리**에서 **그룹**을 선택합니다.

1. 다음 `sagemaker#canvas#IAM-role#AWS-account-id`패턴으로 그룹을 추가합니다.

1. Okta에서 **AWS 계정 페더레이션** 애플리케이션 통합 구성을 엽니다.

1.  AWS 계정 연동 애플리케이션의 **로그인**을 선택합니다.

1. **편집**을 선택하고 다음을 지정합니다.
   + SAML 2.0
   + **기본 릴레이 상태** – https://*Region*.console.aws.amazon.com/sagemaker/home?region=*Region*\$1/studio/canvas/open/*StudioId*. Studio Classic ID는 콘솔([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/))에서 찾을 수 있습니다.

1. **속성**을 선택합니다.

1. **SageMakerStudioProfileName** 필드에 각 사용자 이름의 고유한 값을 지정합니다. 사용자 이름은 AWS 콘솔에서 생성한 사용자 이름과 일치해야 합니다.

   ```
   Attribute 1:
   Name: https://aws.amazon.com/SAML/Attributes/PrincipalTag:SageMakerStudioUserProfileName 
   Value: ${user.login}
   
   Attribute 2:
   Name: https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys
   Value: {"SageMakerStudioUserProfileName"}
   ```

1. **환경 유형**을 선택합니다. **일반 AWS**을 선택합니다.
   + 환경 유형이 목록에 없는 경우 **ACS URL**에서 ACS URL을 설정할 수 있습니다. 환경 유형이 나열된 경우 ACS URL을 입력할 필요가 없습니다.

1. **ID 제공자 ARN**의 경우 이전 절차의 6단계에서 사용한 ARN을 지정합니다.

1. **세션 기간**을 지정합니다.

1. **모든 역할 참여**를 선택합니다.

1. 다음 필드를 지정하여 **그룹 매핑 사용**을 활성화합니다.
   + **앱 필터** – `okta`
   + **그룹 필터** – `^aws\#\S+\#(?IAM-role[\w\-]+)\#(?accountid\d+)$`
   + **역할 값 패턴** – `arn:aws:iam::$accountid:saml-provider/Okta,arn:aws:iam::$accountid:role/IAM-role`

1. **저장/다음**을 선택합니다.

1. **할당** 아래에서, 생성한 그룹에 애플리케이션을 할당합니다.

## IAM의 액세스 제어에 대한 선택적 정책 추가
<a name="canvas-optional-access"></a>

IAM에서는 사용자 프로필을 생성하는 관리자 사용자에게 다음 정책을 적용할 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateSageMakerStudioUserProfilePolicy",
            "Effect": "Allow",
            "Action": "sagemaker:CreateUserProfile",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:TagKeys": [
                        "studiouserid"
                    ]
                }
            }
        }
    ]
}
```

------

이전 정책을 관리자 사용자에게 추가하기로 선택한 경우 [IAM에서 ID 페더레이션 설정](#set-up-id-federation-IAM)에서 다음 권한을 사용해야 합니다.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Sid": "AmazonSageMakerPresignedUrlPolicy",
           "Effect": "Allow",
           "Action": [
               "sagemaker:CreatePresignedDomainUrl"
           ],
           "Resource": "*",
           "Condition": {
                  "StringEquals": {
                      "sagemaker:ResourceTag/studiouserid": "${aws:PrincipalTag/SageMakerStudioUserProfileName}"
                 }
            }
      }
  ]
}
```

------

# Amazon S3 스토리지 구성
<a name="canvas-storage-configuration"></a>

SageMaker Canvas 애플리케이션을 설정할 때 모델 아티팩트, 데이터 집합 및 기타 애플리케이션 데이터의 기본 스토리지 위치는 Canvas에서 생성하는 Amazon S3 버킷입니다. 이 기본 Amazon S3 버킷은 이름 지정 패턴 `s3://sagemaker-{Region}-{your-account-id}`을 따르며 Canvas 애플리케이션과 동일한 리전에 존재합니다. 그러나 스토리지 위치를 사용자 정의하고 Canvas 애플리케이션 데이터를 저장하기 위한 자체 Amazon S3 버킷을 지정할 수 있습니다. 다음과 같은 이유로 애플리케이션 데이터를 저장하기 위해 자체 Amazon S3 버킷을 사용할 수 있습니다.
+ 조직에는 Amazon S3 버킷에 대한 내부 이름 지정 규칙이 있습니다.
+ 모델 아티팩트 또는 기타 Canvas 데이터에 대한 계정 간 액세스를 활성화하려고 합니다.
+ 사용자를 특정 Amazon S3 버킷 또는 모델 아티팩트로 제한하는 등 내부 보안 지침을 준수하려고 합니다.
+  AWS 콘솔 또는 SageMaker Studio Classic과 관계없이 Canvas에서 생성된 로그에 대한 가시성과 액세스 권한을 높이고 싶습니다.

자체 Amazon S3 버킷을 지정하면 자체 스토리지에 대한 통제력을 높이고 조직의 규정을 준수할 수 있습니다.

시작하려면 새 SageMaker AI 도메인 또는 사용자 프로필을 만들거나 기존 도메인 또는 사용자 프로필을 업데이트할 수 있습니다. 사용자 프로필 설정은 도메인 수준 설정보다 우선 적용됩니다. 예를 들어 도메인 수준에서 기본 버킷 구성을 사용할 수 있지만 개별 사용자에 대한 사용자 지정 Amazon S3 버킷을 지정할 수 있습니다. 도메인 또는 사용자 프로필에 사용할 자체 Amazon S3 버킷을 지정한 후 Canvas는 입력 Amazon S3 URI 아래에 `Canvas/<UserProfileName>`라는 하위 폴더를 만들고 Canvas 애플리케이션에서 생성된 모든 아티팩트를 이 하위 폴더 아래에 저장합니다.

**중요**  
기존 도메인 또는 사용자 프로필을 업데이트하면 이전 위치에서 더 이상 Canvas 아티팩트에 액세스할 수 없습니다. 파일은 여전히 이전 Amazon S3 위치에 있지만 더 이상 Canvas에서 파일을 볼 수 없습니다. 새 구성은 다음에 애플리케이션에 로그인할 때 적용됩니다.

Amazon S3 버킷에 대한 계정 간 액세스 권한을 부여하는 방법에 대한 자세한 내용은 *Amazon S3 사용 설명서*의 [계정 간 객체 권한 부여](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example4.html#access-policies-walkthrough-example4-overview)를 참조하세요.

다음 섹션에서는 Canvas 스토리지 구성을 위한 사용자 지정 Amazon S3 버킷을 지정하는 방법을 설명합니다. 새 SageMaker AI 도메인(또는 도메인의 새 사용자)을 설정하는 경우 [새 도메인 설정 방법](#canvas-storage-configuration-new-domain) 또는 [새 사용자 프로필 설정 방법](#canvas-storage-configuration-new-user)을 사용하세요. 기존 Canvas 사용자 프로필이 있고 프로필의 스토리지 구성을 업데이트하려면 [기존 사용자 방법](#canvas-storage-configuration-existing-user)를 사용하세요.

## 시작하기 전 준비 사항
<a name="canvas-storage-configuration-prereqs"></a>

다른 AWS 계정에서 Amazon S3 URI를 지정하거나 로 암호화된 버킷을 사용하는 경우 진행하기 전에 권한을 구성 AWS KMS해야 합니다. Canvas가 버킷에서 객체를 다운로드하고 업로드할 수 있도록 AWS IAM 권한을 부여해야 합니다. 필요한 권한을 부여하는 방법에 대한 자세한 내용은 [계정 간 Amazon S3 스토리지에 대한 권한 부여](canvas-permissions-cross-account.md)을 참조하세요.

또한 Canvas 스토리지 위치에 있는 훈련 폴더의 최종 Amazon S3 URI는 128자 이하여야 합니다. 최종 Amazon S3 URI는 버킷 경로 `s3://<your-bucket-name>/<folder-name>/`와 Canvas가 버킷에 추가하는 경로 `Canvas/<user-profile-name>/Training`로 구성됩니다. 예를 들어 128자 미만의 허용 가능한 경로는 `s3://<amzn-s3-demo-bucket>/<machine-learning>/Canvas/<user-1>/Training`입니다.

## 새 도메인 설정 방법
<a name="canvas-storage-configuration-new-domain"></a>

새 도메인 및 Canvas 애플리케이션을 설정하는 경우 이 섹션을 사용하여 도메인 수준에서 스토리지 위치를 구성하세요. 이 구성은 개별 사용자 프로필에 대해 다른 저장 위치를 지정하지 않는 한 도메인에서 만드는 모든 새 사용자에게 적용됩니다.

도메인에 대한 **표준 설정**을 수행할 때 **3단계: 애플리케이션 구성 - 선택 사항** 페이지에서 **Canvas** 섹션에 대해 다음 절차를 사용하세요.

1. **Canvas 스토리지 구성**의 경우 다음을 수행하세요.

   1. `s3://sagemaker-{Region}-{your-account-id}` 패턴을 따르는 기본 SageMaker AI 버킷으로 위치를 설정하려면 **시스템 관리형**을 선택합니다.

   1. **사용자 지정 S3**을 선택하여 자체 Amazon S3 버킷을 스토리지 위치로 지정합니다. 그런 다음 Amazon S3 URI를 입력합니다.

   1. (선택 사항) **암호화 키**의 경우 지정된 위치에 저장된 Canvas 아티팩트를 암호화하기 위한 KMS 키를 지정합니다.

1. 도메인 설정을 마치고 **제출**을 선택합니다.

이제 도메인이 SageMaker Canvas 애플리케이션 스토리지용으로 지정한 Amazon S3 위치를 사용하도록 구성되었습니다.

## 새 사용자 프로필 설정 방법
<a name="canvas-storage-configuration-new-user"></a>

도메인에 새 사용자 프로필을 설정하는 경우 이 섹션을 사용하여 사용자의 스토리지 위치를 구성하세요. 이 구성은 도메인 수준 구성보다 우선합니다.

도메인에 사용자 프로필을 추가할 때는 **2단계: 애플리케이션 구성**에서 **Canvas** 설정 섹션에 대해 다음 절차를 따르세요.

1. **Canvas 스토리지 구성**의 경우 다음을 수행하세요.

   1. `s3://sagemaker-{Region}-{your-account-id}` 패턴을 따르는 SageMaker AI가 만든 기본 버킷으로 위치를 설정하려면 **시스템 관리형**을 선택합니다.

   1. **사용자 지정 S3**을 선택하여 자체 Amazon S3 버킷을 스토리지 위치로 지정합니다. 그런 다음 Amazon S3 URI를 입력합니다.

   1. (선택 사항) **암호화 키**의 경우 지정된 위치에 저장된 Canvas 아티팩트를 암호화하기 위한 KMS 키를 지정합니다.

1. 사용자 프로필 설정을 완료하고 **제출**을 선택합니다.

이제 사용자 프로필이 SageMaker Canvas 애플리케이션 스토리지용으로 지정한 Amazon S3 위치를 사용하도록 구성되었습니다.

## 기존 사용자 방법
<a name="canvas-storage-configuration-existing-user"></a>

기존 Canvas 사용자 프로필이 있고 Amazon S3 스토리지 위치를 업데이트하려는 경우 SageMaker AI 도메인 또는 사용자 프로필 설정을 편집할 수 있습니다. 변경 사항은 다음에 Canvas 애플리케이션에 로그인할 때 적용됩니다.

**참고**  
기존 Canvas 애플리케이션의 스토리지 위치를 변경하면 이전 스토리지 위치의 Canvas 아티팩트에 액세스할 수 없게 됩니다. 아티팩트는 여전히 이전 Amazon S3 위치에 저장되어 있지만 더 이상 Canvas에서 해당 아티팩트를 볼 수 없습니다.

사용자 프로필 설정은 일반 도메인 설정보다 우선하므로 모든 사용자에 대해 변경하지 않고도 특정 사용자 프로필의 Amazon S3 스토리지 위치를 업데이트할 수 있습니다. 다음 절차를 사용하여 기존 도메인 또는 사용자의 스토리지 구성을 업데이트할 수 있습니다.

------
#### [ Update an existing domain ]

도메인의 스토리지 구성을 업데이트하려면 다음 절차를 사용하세요.

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 SageMaker AI 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **관리자 구성**을 선택합니다.

1. **관리자 구성**에서 **도메인**을 선택합니다.

1. 도메인 목록에서 사용자의 도메인을 선택합니다.

1. **도메인 세부 정보** 페이지에서 **앱 구성** 탭을 선택합니다.

1. **Canvas** 섹션으로 스크롤을 내린 다음 **편집**을 선택합니다.

1. **Canvas 설정 편집** 페이지가 열립니다. **Canvas 스토리지 구성** 섹션에서 다음을 수행하세요.

   1. `s3://sagemaker-{Region}-{your-account-id}` 패턴을 따르는 SageMaker AI가 만든 기본 버킷으로 위치를 설정하려면 **시스템 관리형**을 선택합니다.

   1. **사용자 지정 S3**을 선택하여 자체 Amazon S3 버킷을 스토리지 위치로 지정합니다. 그런 다음 Amazon S3 URI를 입력합니다.

   1. (선택 사항) **암호화 키**의 경우 지정된 위치에 저장된 Canvas 아티팩트를 암호화하기 위한 KMS 키를 지정합니다.

1. 도메인에 적용할 기타 수정 작업을 모두 완료한 다음 **제출**을 선택하여 변경 내용을 저장합니다.

------
#### [ Update an existing user profile ]

사용자 프로파일의 스토리지 구성을 업데이트하려면 다음 절차를 사용합니다.

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 SageMaker AI 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **관리자 구성**을 선택합니다.

1. **관리자 구성**에서 **도메인**을 선택합니다.

1. **도메인** 목록에서 사용자의 도메인을 선택합니다.

1. 도메인의 사용자 목록에서 구성을 편집하려는 사용자를 선택합니다.

1. **사용자 세부 정보** 페이지에서 **편집**을 선택합니다.

1. 탐색 창에서 **Canvas 설정**을 선택합니다.

1. **Canvas 스토리지 구성**의 경우 다음을 수행하세요.

   1. `s3://sagemaker-{Region}-{your-account-id}` 패턴을 따르는 기본 SageMaker AI 버킷으로 위치를 설정하려면 **시스템 관리형**을 선택합니다.

   1. **사용자 지정 S3**을 선택하여 자체 Amazon S3 버킷을 스토리지 위치로 지정합니다. 그런 다음 Amazon S3 URI를 입력합니다.

   1. (선택 사항) **암호화 키**의 경우 지정된 위치에 저장된 Canvas 아티팩트를 암호화하기 위한 KMS 키를 지정합니다.

1. 사용자 프로필에 적용할 기타 수정 작업을 모두 완료한 다음 **제출**을 선택하여 변경 내용을 저장합니다.

------

이제 Canvas 사용자 프로필의 스토리지 위치가 업데이트될 것입니다. 다음에 Canvas 애플리케이션에 로그인하면 스토리지 위치가 업데이트되었다는 알림을 받게 됩니다. Canvas에서 만든 이전 아티팩트에 액세스할 수 없게 됩니다. Amazon S3에서는 여전히 파일에 액세스할 수 있지만 Canvas에서는 더 이상 파일을 볼 수 없습니다.

# 계정 간 Amazon S3 스토리지에 대한 권한 부여
<a name="canvas-permissions-cross-account"></a>

사용자가 SageMaker Canvas에 액세스할 수 있도록 SageMaker AI 도메인 또는 사용자 프로필을 설정할 때 Canvas 아티팩트에 대한 Amazon S3 스토리지 위치를 지정합니다. 이러한 아티팩트에는 입력 데이터 집합, 모델 아티팩트, 예측 및 기타 애플리케이션 데이터의 저장된 사본이 포함됩니다. SageMaker AI에서 생성한 기본 Amazon S3 버킷을 사용하거나 스토리지 위치를 사용자 지정하고 Canvas 애플리케이션 데이터를 저장하기 위한 자체 버킷을 지정할 수 있습니다.

Canvas 데이터를 저장하기 위해 다른 AWS 계정에서 Amazon S3 버킷을 지정할 수 있지만 먼저 Canvas가 버킷에 액세스할 수 있도록 교차 계정 권한을 부여해야 합니다.

다음 섹션에서는 다른 계정의 Amazon S3 버킷으로 객체를 업로드 및 다운로드할 수 있는 권한을 Canvas에 부여하는 방법을 설명합니다. 버킷을 암호화할 때에 대한 추가 권한이 있습니다 AWS KMS.

## 요구 사항
<a name="canvas-permissions-cross-account-prereqs"></a>

시작하기 전에 다음 요구 사항을 확인하세요.
+ 교차 계정 Amazon S3 버킷(및 연결된 AWS KMS 키)은 Canvas 사용자 도메인 또는 사용자 프로필과 동일한 AWS 리전에 있어야 합니다.
+ Canvas 스토리지 위치에 있는 훈련 폴더의 최종 Amazon S3 URI는 128자 이하여야 합니다. 최종 S3 URI는 버킷 경로 `s3://<your-bucket-name>/<folder-name>/`와 Canvas가 버킷에 추가하는 경로 `Canvas/<user-profile-name>/Training`로 구성됩니다. 예를 들어 128자 미만의 허용 가능한 경로는 `s3://<amzn-s3-demo-bucket>/<machine-learning>/Canvas/<user-1>/Training`입니다.

## 계정 간 Amazon S3 버킷에 대한 사용 권한
<a name="canvas-permissions-cross-account-s3"></a>

다음 섹션에서는 Canvas가 다른 계정의 Amazon S3 버킷에 액세스할 수 있도록 필요한 권한을 부여하는 기본 단계를 설명합니다. 자세한 지침은 *Amazon S3 사용 설명서*의 [예제 2: 계정 간 버킷 권한을 부여하는 버킷 소유자](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html)를 참조하세요.

1. 계정 A에 Amazon S3 버킷 `bucketA`을 생성합니다.

1. Canvas 사용자는 계정 B라는 다른 계정에 존재합니다. 다음 단계에서는 다음 단계에서는 Canvas 사용자의 IAM 역할을 계정 B의 `roleB`로 언급합니다.

   IAM 정책을 연결하여 계정 B의 IAM 역할 `roleB`에 계정 A의 `bucketA`객체를 다운로드(`GetObject`) 하고 업로드(`PutObject`) 할 수 있는 권한을 부여합니다.

   특정 버킷 폴더에 대한 액세스를 제한하려면 리소스 요소에 폴더 이름(예: `arn:aws:s3:::<bucketA>/FolderName/*`)을 정의합니다. 자세한 내용은 [IAM 정책을 사용하여 특정 폴더에 대한 사용자별 액세스 권한을 부여하려면 어떻게 해야 합니까?](https://aws.amazon.com/premiumsupport/knowledge-center/iam-s3-user-specific-folder/)를 참조하세요.
**참고**  
`GetBucketCors` 및 `GetBucketLocation`와 같은 버킷 수준 작업은 폴더가 아닌 버킷 수준 리소스에 추가해야 합니다.

   다음 예제 IAM 정책은 `roleB`가 `bucketA`의 개체에 액세스하는 데 필요한 권한을 부여합니다.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:DeleteObject"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA/FolderName/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket",
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA"
               ]
           }
       ]
   }
   ```

------

1. 계정 A의 `bucketA`에 대한 버킷 정책을 구성하여 계정 B의 IAM 역할 `roleB`에 대한 사용 권한을 부여합니다.
**참고**  
또한 관리자는 버킷 **권한** 섹션에서 **모든 퍼블릭 액세스 차단**을 해제해야 합니다.

   다음은 `roleB`에게 필요한 권한을 부여하기 위한 `bucketA`의 버킷 정책의 예시입니다.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::bucketA/FolderName/*"
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:ListBucket",
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": "arn:aws:s3:::bucketA"
           }
       ]
   }
   ```

------

이전 권한을 구성한 후 계정 B의 Canvas 사용자 프로필은 이제 계정 A의 Amazon S3 버킷을 Canvas 아티팩트의 스토리지 위치로 사용할 수 있습니다.

## 로 암호화된 교차 계정 Amazon S3 버킷에 대한 권한 AWS KMS
<a name="canvas-permissions-cross-account-s3-kms"></a>

다음 절차에서는 Canvas가 암호화된 다른 계정의 Amazon S3 버킷에 액세스할 수 있도록 필요한 권한을 부여하는 방법을 보여줍니다 AWS KMS. 단계는 위의 절차와 비슷하지만 추가 권한이 있습니다. 계정 간 KMS 키 액세스 권한 부여에 대한 자세한 내용은 *AWS KMS 개발자 안내서*의 [다른 계정의 사용자가 KMS를 사용하도록 허용](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)을 참조하세요.

1. 계정 A에 Amazon S3 버킷 `bucketA`와 Amazon S3 KMS 키 `s3KmsInAccountA`를 만듭니다.

1. Canvas 사용자는 계정 B라는 다른 계정에 존재니다.다음 단계에서는 다음 단계에서는 Canvas 사용자의 IAM 역할을 계정 B의 `roleB`로 언급합니다.

   계정 B의 IAM 역할 `roleB`에 다음 작업을 수행할 수 있는 권한을 부여합니다.
   + 계정 A의 `bucketA`에서 개체를 다운로드(`GetObject`)하고 업로드(`PutObject`)합니다.
   + 계정 A의 AWS KMS 키`s3KmsInAccountA`에 액세스합니다.

   다음 예제 IAM 정책은 `roleB`이 `bucketA`의 객체에 액세스하고 KMS 키 `s3KmsInAccountA`를 사용하는 데 필요한 권한을 부여합니다.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:DeleteObject"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA/FolderName/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA"
               ]
           },
           {
               "Action": [
                   "kms:DescribeKey",
                   "kms:CreateGrant",
                   "kms:RetireGrant",
                   "kms:GenerateDataKey",
                   "kms:GenerateDataKeyWithoutPlainText",
                   "kms:Decrypt"
               ],
               "Effect": "Allow",
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/s3KmsInAccountA"
           }
       ]
   }
   ```

------

1. 계정 A에서 `bucketA`에 대한 버킷 정책과 `s3KmsInAccountA`에 대한 키 정책을 구성하여 계정 B의 IAM 역할 `roleB`에 대한 권한을 부여합니다.

   다음은 `roleB`에게 필요한 권한을 부여하기 위한 `bucketA`의 버킷 정책의 예시입니다.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::bucketA/FolderName/*"
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": "arn:aws:s3:::bucketA"
           }
       ]
   }
   ```

------

   다음 예는 계정 A의 KMS 키 `s3KmsInAccountA`에 연결하여 `roleB`액세스 권한을 부여하는 키 정책입니다. 키 정책 설명을 만들고 연결하는 방법에 대한 자세한 내용은 *AWS KMS 개발자 안내서*의 [키 정책 생성](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html)을 참조하세요.

   ```
   {
     "Sid": "Allow use of the key",
     "Effect": "Allow",
     "Principal": {
       "AWS": [
         "arn:aws:iam::accountB:role/roleB"
       ]
     },
     "Action": [
           "kms:DescribeKey",
           "kms:CreateGrant",
           "kms:RetireGrant",
           "kms:GenerateDataKey",
           "kms:GenerateDataKeyWithoutPlainText",
           "kms:Decrypt"
     ],
     "Resource": "*"
   }
   ```

이전 권한을 구성한 후 계정 B의 Canvas 사용자 프로필은 이제 계정 A의 암호화된 Amazon S3 버킷을 Canvas 아티팩트의 스토리지 위치로 사용할 수 있습니다.

# ML 수명 주기 전체에서 대규모 데이터를 사용할 수 있는 권한을 사용자에게 부여
<a name="canvas-large-data-permissions"></a>

CSV 형식의 10GB보다 크거나 Parquet 형식의 2.5GB보다 큰 데이터세트를 사용하는 Amazon SageMaker Canvas 사용자는 대규모 데이터 처리에 대한 특정 권한이 필요합니다. 이러한 권한은 기계 학습 수명 주기 전반에서 대규모 데이터를 관리하는 데 필수적입니다. 데이터세트가 명시된 임곗값 또는 애플리케이션의 로컬 메모리 용량을 초과하면 SageMaker Canvas는 효율적인 처리를 위해 Amazon EMR Serverless를 사용합니다. 이는 다음에 적용됩니다.
+ 데이터 가져오기: 무작위 또는 계층화된 샘플링으로 대규모 데이터세트 가져오기
+ 데이터 준비: Canvas의 Data Wrangler에서 Amazon S3, 새 Canvas 데이터세트 또는 Canvas 모델로 처리된 데이터 내보내기
+ 모델 빌드: 대규모 데이터세트에서 모델 훈련
+ 추론: 대규모 데이터세트에 대해 예측 수행

기본적으로 SageMaker Canvas는 EMR Serverless를 사용하여 다음 앱 설정으로 이러한 원격 작업을 실행합니다.
+ 사전 초기화된 용량: 구성되지 않음
+ 애플리케이션 제한: 최대 용량 400vCPU, 계정당 최대 동시 vCPU 16개, 3,000GB 메모리, 20,000GB 디스크
+ 메타스토어 구성: AWS Glue Data Catalog
+ 애플리케이션 로그: AWS 관리형 스토리지(활성화), AWS 소유 암호화 키 사용
+ 애플리케이션 동작: 작업 제출 시 자동 시작 및 애플리케이션의 유휴 상태가 15분간 지속되면 자동 중지

이러한 대규모 데이터 처리 기능을 활성화하려면 사용자에게 Amazon SageMaker AI 도메인 설정을 통해 부여할 수 있는 필수 권한이 필요합니다. 이러한 권한을 부여하는 방법은 Amazon SageMaker AI 도메인이 처음에 설정된 방식에 따라 달라집니다. 세 가지 주요 시나리오를 살펴보겠습니다.
+ 빠른 도메인 설정
+ 사용자 지정 도메인 설정(퍼블릭 인터넷 액세스 사용함/VPC 사용 안 함)
+ 사용자 지정 도메인 설정(VPC 사용함/퍼블릭 인터넷 액세스 사용 안 함)

각 시나리오에는 사용자가 SageMaker Canvas의 전체 기계 학습 수명 주기에서 대규모 데이터 처리를 위해 EMR Serverless를 활용하는 데 필요한 권한이 있는지 확인하는 특정 단계가 필요합니다.

## 시나리오 1: 빠른 도메인 설정
<a name="canvas-large-data-quick-setup"></a>

SageMaker AI 도메인을 만들 때 **빠른 설정** 옵션을 사용한 경우 다음 단계를 따르세요.

1. Amazon SageMaker AI 도메인 설정으로 이동:

   1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 Amazon SageMaker AI 콘솔을 엽니다.

   1. 왼쪽 탐색 창에서 **도메인**을 선택합니다.

   1. 도메인을 선택합니다.

   1. **앱 구성** 탭을 선택합니다.

   1. **Canvas** 섹션으로 스크롤하여 **편집**을 선택합니다.

1. 대규모 데이터 처리 활성화:

   1. **대규모 데이터 처리 구성** 섹션에서 **대규모 데이터 처리를 위해 EMR Serverless 활성화**를 켭니다.

   1. EMR Serverless 역할 만들기 또는 선택:

      1. **새 실행 역할 만들기 및 사용**을 선택하여 EMR Serverless 및 연결된 [AWS 관리형 정책: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy](security-iam-awsmanpol-canvas.md#security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy) 정책과 신뢰 관계가 있는 새 IAM 역할을 만듭니다. 이 IAM 역할은 EMR Serverless 작업을 만들기 위해 Canvas에서 수임합니다.

      1. 또는 EMR Serverless에 대해 신뢰 관계가 있는 실행 역할이 이미 있는 경우 **기존 실행 역할 사용**을 선택하고 드롭다운에서 역할을 선택합니다.
         + 기존 역할에는 접두사 `AmazonSageMakerCanvasEMRSExecutionAccess-`로 시작하는 이름이 있어야 합니다.
         + 선택한 역할에도 [AWS 관리형 정책: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy](security-iam-awsmanpol-canvas.md#security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy) 정책에 설명된 권한이 있어야 합니다.
         + 역할에는 다음과 같은 EMR Serverless 신뢰 정책이 있어야 합니다.

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

****  

           ```
           {
               "Version":"2012-10-17",		 	 	 
               "Statement": [
                   {
                       "Sid": "EMRServerlessTrustPolicy",
                       "Effect": "Allow",
                       "Principal": {
                           "Service": "emr-serverless.amazonaws.com"
                       },
                       "Action": "sts:AssumeRole",
                       "Condition": {
                           "StringEquals": {
                               "aws:SourceAccount": "111122223333"
                           }
                       }
                   }
               ]
           }
           ```

------

1. (선택 사항) 사용자 지정 Amazon S3 버킷에 대한 Amazon S3 권한 추가:

   1. Canvas 관리형 정책은 이름에 `sagemaker` 또는 `SageMaker AI`가 있는 Amazon S3 버킷에 대한 읽기 및 쓰기 권한을 자동으로 부여합니다. 또한 태그가 `"SageMaker": "true"`인 사용자 지정 Amazon S3 버킷의 객체에 대한 읽기 권한도 부여합니다.

   1. 필수 태그가 없는 사용자 지정 Amazon S3 버킷의 경우 EMR Serverless 역할에 다음 정책을 추가합니다.

   1. 

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "s3:GetObject",
                      "s3:PutObject",
                      "s3:DeleteObject"
                  ],
                  "Resource": [
                      "arn:aws:s3:::*"
                  ]
              }
          ]
      }
      ```

------

   1. Canvas에서 액세스하도록 하려는 특정 Amazon S3 버킷에 대한 권한으로 범위를 축소하는 것을 권장합니다.

1. 변경 사항을 저장하고 SageMaker Canvas 애플리케이션을 다시 시작합니다.

## 시나리오 2: 사용자 지정 도메인 설정(퍼블릭 인터넷 액세스 사용함/VPC 사용 안 함)
<a name="canvas-large-data-custom-no-vpc"></a>

사용자 지정 도메인을 만들었거나 사용하는 경우 시나리오 1의 1\$13단계를 수행한 후, 다음 추가 단계를 수행합니다.

1. Canvas는 데이터 준비 및 모델 훈련을 위해 퍼블릭 Amazon ECR Docker 이미지를 활용하므로 Amazon SageMaker AI 실행 역할에 Amazon ECR `DescribeImages` 작업에 대한 권한을 추가합니다.

   1.  AWS 콘솔에 로그인하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.

   1. **역할**을 선택합니다.

   1. 검색 창에서 이름으로 SageMaker AI 실행 역할을 검색하고 선택합니다.

   1. SageMaker AI 실행 역할에 다음 정책을 추가합니다. 이 작업은 새 인라인 정책으로 추가하거나 기존 정책에 정책 문을 추가하여 수행할 수 있습니다. IAM 역할에는 최대 10개을 정책이 연결할 수 있습니다.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [{
              "Sid": "ECRDescribeImagesOperation",
              "Effect": "Allow",
              "Action": "ecr:DescribeImages",
              "Resource": [
                  "arn:aws:ecr:*:*:repository/sagemaker-data-wrangler-emr-container",
                  "arn:aws:ecr:*:*:repository/ap-dataprep-emr"
              ]
          }]
      }
      ```

------

1. 변경 사항을 저장하고 SageMaker Canvas 애플리케이션을 다시 시작합니다.

## 시나리오 3: 사용자 지정 도메인 설정(VPC 사용함/퍼블릭 인터넷 액세스 사용 안 함)
<a name="canvas-large-data-custom-vpc"></a>

사용자 지정 도메인을 만들었거나 사용하는 경우 시나리오 2의 모든 단계를 수행한 후, 다음 추가 단계를 수행합니다.

1. VPC 서브넷이 프라이빗인지 확인:

   1. 서브넷의 라우팅 테이블에 인터넷 게이트웨이에 대한 항목 매핑 `0.0.0.0/0`이 없는지 확인합니다.

1. 네트워크 인터페이스를 만들 수 있는 권한 추가:

   1. 대규모 데이터 처리를 위해 SageMaker Canvas를 EMR Serverless와 함께 사용하는 경우 EMR Serverless는 Amazon EC2 ENI를 만들어 EMR Serverless 애플리케이션과 VPC 리소스 간의 네트워크 통신을 가능하게 하는 기능이 필요합니다.

   1. Amazon SageMaker AI 실행 역할에 다음 정책을 추가합니다. 이 작업은 새 인라인 정책으로 추가하거나 기존 정책에 정책 문을 추가하여 수행할 수 있습니다. IAM 역할에는 최대 10개을 정책이 연결할 수 있습니다.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "AllowEC2ENICreation",
                  "Effect": "Allow",
                  "Action": [
                      "ec2:CreateNetworkInterface"
                  ],
                  "Resource": [
                      "arn:aws:ec2:*:*:network-interface/*"
                  ],
                  "Condition": {
                      "StringEquals": {
                          "aws:CalledViaLast": "ops.emr-serverless.amazonaws.com"
                      }
                  }
              }
          ]
      }
      ```

------

1. (선택 사항) ENI 만들기를 특정 서브넷으로 제한:

   1. VPC 내의 특정 서브넷으로 ENI 만들기를 제한하여 설정을 더욱 안전하게 보호하려면 각 서브넷에 특정 조건으로 태그를 지정할 수 있습니다.

   1. 다음 IAM 정책을 사용하여 EMR Serverless 애플리케이션이 허용된 서브넷 및 보안 그룹 내에서만 Amazon EC2 ENI를 만들 수 있도록 합니다.

      ```
      {
          "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags",
          "Effect": "Allow", 
          "Action": [
              "ec2:CreateNetworkInterface"
          ],
          "Resource": [
              "arn:aws:ec2:*:*:subnet/*",
              "arn:aws:ec2:*:*:security-group/*"
          ],
          "Condition": {
              "StringEquals": {
                  "aws:ResourceTag/KEY": "VALUE"
              }
          }
      }
      ```

1. 페이지의 단계에 따라 EMR Serverless 및 SageMaker Canvas에서 사용하는 기타 서비스에 필요한 Amazon S3용 VPC 엔드포인트를 [인터넷 액세스 없이 VPC에서 Amazon SageMaker Canvas 구성](canvas-vpc.md) 설정합니다. AWS SageMaker 

1. 변경 사항을 저장하고 SageMaker Canvas 애플리케이션을 다시 시작합니다.

다음 단계에 따라 사용자 지정 VPC 구성을 포함한 다양한 도메인 설정에 대해 SageMaker Canvas에서 대규모 데이터 처리를 활성화할 수 있습니다. 새 권한을 적용하려면 이러한 변경 후 SageMaker Canvas 애플리케이션을 다시 시작해야 합니다.

# 를 사용하여 SageMaker Canvas 데이터 암호화 AWS KMS
<a name="canvas-kms"></a>

Amazon SageMaker Canvas를 사용하는 중 개인 회사 정보나 고객 데이터와 같이 암호화하려는 데이터가 있을 수 있습니다. SageMaker Canvas는 AWS Key Management Service 를 사용하여 데이터를 보호합니다. AWS KMS 는 데이터 암호화를 위한 암호화 키를 생성하고 관리하는 데 사용할 수 있는 서비스입니다. 에 대한 자세한 내용은 *AWS KMS 개발자 안내서*[AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)의 섹션을 AWS KMS참조하세요.

Amazon SageMaker Canvas는 데이터를 암호화하기 위한 여러 옵션을 제공합니다. SageMaker Canvas는 모델 구축 및 통찰력 생성과 같은 작업을 위해 애플리케이션 내에서 기본 암호화를 제공합니다. Amazon S3에 저장된 데이터를 암호화하여 저장 데이터를 보호할 수도 있습니다. SageMaker Canvas는 암호화된 데이터 집합 가져오기를 지원하므로 암호화된 워크플로를 설정할 수 있습니다. 다음 섹션에서는 SageMaker Canvas로 모델을 구축하는 동안 AWS KMS 암호화를 사용하여 데이터를 보호하는 방법을 설명합니다.

## SageMaker Canvas에서 데이터 암호화
<a name="canvas-kms-app-data"></a>

SageMaker Canvas를 사용하면 표준 도메인 설정을 사용하여 도메인을 설정할 때 지정할 수 있는 두 가지 AWS KMS 암호화 키를 사용하여 SageMaker Canvas에서 데이터를 암호화할 수 있습니다. [https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html) 이러한 키는 다음 도메인 설정 단계에서 지정됩니다.
+ **3단계: 애플리케이션 구성 - (선택 사항)** – **Canvas 스토리지 구성** 섹션을 구성할 때 **암호화 키**를 지정할 수 있습니다. 이는 SageMaker Canvas가 모델 객체 및 데이터세트의 장기 저장에 사용하는 KMS 키로, 도메인에 제공된 Amazon S3 버킷에 저장됩니다. [CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html) API로 Canvas 애플리케이션을 만드는 경우 `S3KMSKeyId` 필드를 사용하여 이 키를 지정합니다.
+ **6단계: 스토리지 구성** - SageMaker Canvas는 임시 애플리케이션 스토리지, 시각화 및 컴퓨팅 작업(예: 모델 빌드)을 포함하여 Canvas 애플리케이션을 위해 만들어진 Amazon SageMaker Studio 프라이빗 공간을 암호화하는 데 하나의 키를 사용합니다. 기본 AWS 관리형 키를 사용하거나 직접 지정할 수 있습니다. AWS KMS 키를 지정하면 `/home/sagemaker-user` 디렉터리에 저장된 데이터가 키로 암호화됩니다. AWS KMS 키를 지정하지 않으면 내부의 데이터가 AWS 관리형 키로 암호화`/home/sagemaker-user`됩니다. AWS KMS 키 지정 여부에 관계없이 작업 디렉터리 외부의 모든 데이터는 AWS 관리형 키로 암호화됩니다. Studio 공간 및 Canvas 애플리케이션 스토리지에 대한 자세한 내용은 [SageMaker Canvas 애플리케이션 데이터를 자체 SageMaker AI 스페이스에 저장](canvas-spaces-setup.md) 섹션을 참조하세요. [CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html) API로 Canvas 애플리케이션을 만드는 경우 `KmsKeyID` 필드를 사용하여 이 키를 지정합니다.

이전 키는 동일하거나 다른 KMS 키일 수 있습니다.

### 사전 조건
<a name="canvas-kms-app-data-prereqs"></a>

앞서 설명한 목적 중 하나로 자체 KMS 키를 사용하려면 먼저 사용자의 IAM 역할에 키 사용 권한을 부여해야 합니다. 그런 다음 도메인을 설정할 때 KMS 키를 지정할 수 있습니다.

키 사용에 대한 역할 권한을 부여하는 가장 간단한 방법은 키 정책을 수정하는 것입니다. 역할에 필요한 권한을 부여하려면 다음 절차를 사용합니다.

1. [AWS KMS 콘솔](https://console.aws.amazon.com/kms/)을 엽니다.

1. **키 정책** 섹션에서 **정책 보기로 전환**을 선택합니다.

1. 키 정책을 수정하여 IAM 역할에 `kms:GenerateDataKey`및 `kms:Decrypt`작업에 대한 권한을 부여하세요. 또한 Studio 공간에서 Canvas 애플리케이션 스토리지를 암호화하는 키 정책을 수정하는 경우 `kms:CreateGrant` 작업을 부여합니다. 다음과 유사한 문을 추가할 수 있습니다.

   ```
   {
     "Sid": "ExampleStmt",
     "Action": [
       "kms:CreateGrant", #this permission is only required for the key that encrypts your SageMaker Canvas application storage
       "kms:Decrypt",
       "kms:GenerateDataKey"
     ],
     "Effect": "Allow",
     "Principal": {
       "AWS": "<arn:aws:iam::111122223333:role/Jane>"
     },
     "Resource": "*"
   }
   ```

1. **변경 사항 저장**을 선택합니다.

덜 선호되는 방법은 사용자의 IAM 역할을 수정하여 사용자에게 KMS 키를 사용하거나 관리할 수 있는 권한을 부여하는 것입니다. 이 방법을 사용하는 경우 KMS 키 정책에서 IAM을 통한 액세스 관리도 허용해야 합니다. 사용자의 IAM 역할을 통해 KMS 키에 권한을 부여하는 방법을 알아보려면 *AWS KMS 개발자 안내서*의 [IAM 정책 설명에 KMS 키 지정](https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html)을 참조하세요.

### SageMaker Canvas 애플리케이션에서 데이터 암호화
<a name="canvas-kms-app-data-app"></a>

SageMaker Canvas에서 사용할 수 있는 첫 번째 KMS 키는 Amazon Elastic Block Store(Amazon EBS) 볼륨과 SageMaker AI가 도메인에서 작성하는 Amazon Elastic File System에 저장된 애플리케이션 데이터를 암호화하는 데 사용됩니다. SageMaker Canvas는 모델을 구축하고 통찰력을 생성하기 위해 컴퓨팅 인스턴스를 사용할 때 생성되는 기본 애플리케이션 및 임시 스토리지 시스템에서 이 키로 데이터를 암호화합니다. SageMaker Canvas는 SageMaker Canvas가 데이터를 처리하기 위해 작업을 시작할 때마다 Autopilot과 같은 다른 AWS 서비스에 키를 전달합니다.

`CreateDomain` API 직접 호출에서 `KmsKeyID`를 설정하거나 콘솔에서 표준 도메인 설정을 수행하는 동안 이 키를 지정할 수 있습니다. 자체 KMS 키를 지정하지 않으면 SageMaker AI는 기본 AWS 관리형 KMS 키를 사용하여 SageMaker Canvas 애플리케이션에서 데이터를 암호화합니다.

콘솔을 통해 SageMaker Canvas 애플리케이션에서 사용할 자체 KMS 키를 지정하려면 먼저 **표준 설정**을 사용하여 Amazon SageMaker AI 도메인을 설정하세요. 다음 절차를 사용하여 해당 도메인의 **네트워크 및 스토리지 섹션**을 완성합니다.

1. 원하는 Amazon VPC 설정을 입력합니다.

1. **암호화 키**에서 **KMS 키 입력 ARN**을 선택합니다.

1. **KMS ARN**의 경우 KMS 키의 ARN을 입력합니다.그 형식은 `arn:aws:kms:example-region-1:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`와 유사해야 합니다.

### Amazon S3에 저장된 SageMaker Canvas 데이터 암호화
<a name="canvas-kms-app-data-s3"></a>

지정할 수 있는 두 번째 KMS 키는 SageMaker Canvas가 Amazon S3에 저장하는 데이터에 사용됩니다. 이 KMS 키는 `CreateDomain` API 직접 호출의 `S3KMSKeyId` 필드에서 지정되거나 SageMaker AI 콘솔에서 표준 도메인 설정을 수행하는 동안 지정됩니다. SageMaker Canvas는 입력 데이터세트, 애플리케이션 및 모델 데이터, 출력 데이터의 복제본을 계정에 대한 리전의 기본 SageMaker AI S3 버킷에 저장합니다. 이 버킷의 이름 지정 패턴은 `s3://sagemaker-{Region}-{your-account-id}`이며, SageMaker Canvas는 데이터를 `Canvas/`폴더에 저장합니다.





1. **노트북 리소스 공유 활성화**를 설정하세요.

1. **공유 가능한 노트북 리소스의 S3 위치**의 경우 기본 Amazon S3 경로를 그대로 두세요. 참고로 SageMaker Canvas는 이 Amazon S3 경로를 사용하지 않습니다.이 Amazon S3 경로는 Studio Classic 노트북에 사용됩니다.

1. **암호화 키**에서 **KMS 키 ARN 입력**을 선택합니다.

1. **KMS ARN**의 경우 KMS 키의 ARN을 입력합니다.그 형식은 `arn:aws:kms:us-east-1:111122223333:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`와 유사해야 합니다.

## Amazon S3에서 암호화된 데이터 집합 가져오기
<a name="canvas-kms-datasets"></a>

사용자에게는 KMS 키로 암호화된 데이터 집합이 있을 수 있습니다. 이전 섹션에서는 SageMaker Canvas의 데이터와 Amazon S3에 저장된 데이터를 암호화하는 방법을 보여주지만 이미 암호화된 Amazon S3에서 데이터를 가져오려면 사용자의 IAM 역할에 추가 권한을 부여해야 합니다 AWS KMS.

Amazon S3에서 SageMaker Canvas로 암호화된 데이터 집합을 가져올 수 있는 권한을 사용자에게 부여하려면 사용자 프로필에 사용한 IAM 실행 역할에 다음 권한을 추가하세요.

```
      "kms:Decrypt",
      "kms:GenerateDataKey"
```

역할에 대한 IAM 권한을 편집하는 방법은 *IAM 사용 설명서*의 [IAM 자격 증명 권한 추가 및 제거](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)를 참조하세요. KMS 키에 대한 자세한 내용은 *AWS KMS 개발자 안내서*의 [AWS Key Management Service의 키 정책](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html)을 참조하세요.

## FAQ
<a name="canvas-kms-faqs"></a>

SageMaker Canvas AWS KMS 지원에 대해 자주 묻는 질문에 대한 답변은 다음 FAQ 항목을 참조하세요.

### Q: SageMaker Canvas는 제 KMS 키를 유지하나요?
<a name="canvas-kms-faqs-1"></a>

A: 아니요. SageMaker Canvas는 일시적으로 키를 캐시하거나 다른 AWS 서비스(예: Autopilot)에 전달할 수 있지만 SageMaker Canvas는 KMS 키를 유지하지 않습니다.

### Q: 도메인을 설정할 때 KMS 키를 지정했습니다. SageMaker Canvas에서 데이터 집합을 가져오지 못한 이유는 무엇인가요?
<a name="canvas-kms-faqs-2"></a>

A: 사용자의 IAM 역할에 해당 KMS 키를 사용할 권한이 없을 수 있습니다. 사용자에게 권한을 부여하려면 [사전 조건](#canvas-kms-app-data-prereqs)를 참조하세요. 또 다른 가능한 오류는 Amazon S3 버킷에 도메인에서 지정한 KMS 키와 일치하지 않는 특정 KMS 키를 사용하도록 요구하는 버킷 정책이 있다는 것입니다. Amazon S3 버킷과 도메인에 동일한 KMS 키를 지정해야 합니다.

### Q: 내 계정에 대한 리전의 기본 SageMaker AI Amazon S3 버킷을 찾으려면 어떻게 해야 하나요?
<a name="canvas-kms-faqs-3"></a>

A: 기본 Amazon S3 버킷은 이름 지정 패턴 `s3://sagemaker-{Region}-{your-account-id}`을 따릅니다. 이 버킷의 `Canvas/`폴더에는 SageMaker Canvas 애플리케이션 데이터가 저장됩니다.

### Q: SageMaker Canvas 데이터를 저장하는 데 사용되는 기본 SageMaker AI Amazon S3 버킷을 변경할 수 있나요?
<a name="canvas-kms-faqs-4"></a>

A: 아니요, SageMaker AI가 이 버킷을 생성합니다.

### Q: SageMaker Canvas는 기본 SageMaker AI Amazon S3 버킷에 무엇을 저장하나요?
<a name="canvas-kms-faqs-5"></a>

A: SageMaker Canvas는 기본 SageMaker AI Amazon S3 버킷을 사용하여 입력 데이터세트, 모델 아티팩트 및 모델 출력의 복제본을 저장합니다.

### Q: SageMaker Canvas에서 KMS 키를 사용하는 경우 어떤 사용 사례가 지원됩니까?
<a name="canvas-kms-faqs-6"></a>

A: SageMaker Canvas를 사용하면와 함께 자체 암호화 키를 사용하여 회귀, 바이너리 및 멀티클래스 분류, 시계열 예측 모델을 AWS KMS 구축하고 모델을 사용한 배치 추론을 수행할 수 있습니다.

# SageMaker Canvas 애플리케이션 데이터를 자체 SageMaker AI 스페이스에 저장
<a name="canvas-spaces-setup"></a>

가져오는 데이터세트 및 모델 아티팩트와 같은 Amazon SageMaker Canvas 애플리케이션 데이터는 *Amazon SageMaker Studio 프라이빗 공간*에 저장됩니다. 이 공간은 애플리케이션 데이터의 스토리지 볼륨(사용자 프로필당 100GB의 스토리지), 공간 유형(이 경우 Canvas 애플리케이션), 애플리케이션 컨테이너의 이미지로 구성됩니다. Canvas를 설정하고 애플리케이션을 처음 시작하면 SageMaker AI는 사용자 프로필에 할당된 기본 프라이빗 스페이스를 만들고 Canvas 데이터를 저장합니다. SageMaker AI가 사용자를 대신하여 자동으로 스페이스를 만들기 때문에 스페이스를 설정하기 위해 추가 구성을 수행할 필요가 없습니다. 그러나 기본 공간을 사용하지 않으려면 직접 만든 공간을 지정하는 옵션이 있습니다. 이는 데이터를 격리하려는 경우에 유용할 수 있습니다. 다음 페이지에서는 Canvas 애플리케이션 데이터를 저장하기 위한 자체 Studio 공간을 만들고 구성하는 방법을 보여줍니다.

**참고**  
새 Canvas 애플리케이션에 대해서만 사용자 지정 Studio 공간을 구성할 수 있습니다. 기존 Canvas 애플리케이션의 공간 구성은 수정할 수 없습니다.

## 시작하기 전 준비 사항
<a name="canvas-spaces-setup-prereqs"></a>

SageMaker Canvas 애플리케이션을 만들고 사용하려면 Amazon SageMaker AI 도메인 또는 사용자 프로필에 100GB 이상의 스토리지가 있어야 합니다.

SageMaker AI 콘솔을 통해 도메인을 만든 경우 기본적으로 충분한 스토리지가 프로비저닝되므로 추가 작업을 수행할 필요가 없습니다. [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) 또는 [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) API를 사용하여 도메인 또는 사용자 프로필을 만든 경우 `MaximumEbsVolumeSizeInGb` 값을 100GB 이상으로 설정해야 합니다. 더 큰 스토리지 값을 설정하려면 새 도메인 또는 사용자 프로필을 만들었거나 [UpdateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html) 또는 [UpdateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateUserProfile.html) API를 사용하여 기존 도메인 또는 사용자 프로필을 업데이트할 수 있습니다.

## 새 공간 만들기
<a name="canvas-spaces-setup-new-space"></a>

먼저 Canvas 애플리케이션 데이터를 저장하도록 구성된 새 Studio 공간을 만듭니다. 이 공간은 다음 단계에서 새 Canvas 애플리케이션을 만들 때 지정하는 공간입니다.

스페이스를 생성하려면 AWS SDK for Python (Boto3) 또는를 사용할 수 있습니다 AWS CLI.

------
#### [ SDK for Python (Boto3) ]

다음 예제에서는 메서드를 AWS SDK for Python (Boto3) `create_space` 사용하여 Canvas 애플리케이션에 사용할 수 있는 공간을 생성하는 방법을 보여줍니다. 다음 파라미터를 지정해야 합니다.
+ `DomainId`: SageMaker AI 도메인의 ID를 지정합니다. ID를 찾으려면 SageMaker AI 콘솔([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/))로 이동하여 **도메인** 섹션에서 도메인을 찾으면 됩니다.
+ `SpaceName`: 새 공간의 이름을 지정합니다.
+ `EbsVolumeSizeinGb`: 공간의 스토리지 볼륨 크기를 지정합니다(GB 단위). 최솟값은 `5`이고 최댓값은 `16384`입니다.
+ `SharingType`: 이 필드를 `Private`으로 지정합니다. 자세한 내용은 [Amazon SageMaker Studio 스페이스](studio-updated-spaces.md) 섹션을 참조하세요.
+ `OwnerUserProfileName`: 사용자 프로필 이름을 지정합니다. 도메인과 연결된 사용자 프로필 이름을 찾으려면 SageMaker AI 콘솔([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/))로 이동하여 **도메인** 섹션에서 도메인을 찾으면 됩니다. 도메인 설정에서 사용자 프로필을 볼 수 있습니다.
+ `AppType`: 이 필드를 `Canvas`로 지정합니다.

```
response = client.create_space(
    DomainId='<your-domain-id>', 
    SpaceName='<your-new-space-name>',
    SpaceSettings={
        'AppType': 'Canvas',
        'SpaceStorageSettings': {
            'EbsStorageSettings': {
                'EbsVolumeSizeInGb': <storage-volume-size>
            }
        },
    },
    OwnershipSettings={
        'OwnerUserProfileName': '<your-user-profile>'
    },
    SpaceSharingSettings={
        'SharingType': 'Private'
    }  
)
```

------
#### [ AWS CLI ]

다음 예제에서는 메서드를 AWS CLI `create-space` 사용하여 Canvas 애플리케이션에 사용할 수 있는 공간을 생성하는 방법을 보여줍니다. 다음 파라미터를 지정해야 합니다.
+ `domain-id`: 도메인의 ID를 지정합니다. ID를 찾으려면 SageMaker AI 콘솔([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/))로 이동하여 **도메인** 섹션에서 도메인을 찾으면 됩니다.
+ `space-name`: 새 공간의 이름을 지정합니다.
+ `EbsVolumeSizeinGb`: 공간의 스토리지 볼륨 크기를 지정합니다(GB 단위). 최솟값은 `5`이고 최댓값은 `16384`입니다.
+ `SharingType`: 이 필드를 `Private`으로 지정합니다. 자세한 내용은 [Amazon SageMaker Studio 스페이스](studio-updated-spaces.md) 섹션을 참조하세요.
+ `OwnerUserProfileName`: 사용자 프로필 이름을 지정합니다. 도메인과 연결된 사용자 프로필 이름을 찾으려면 SageMaker AI 콘솔([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/))로 이동하여 **도메인** 섹션에서 도메인을 찾으면 됩니다. 도메인 설정에서 사용자 프로필을 볼 수 있습니다.
+ `AppType`: 이 필드를 `Canvas`로 지정합니다.

```
  
create-space
--domain-id <your-domain-id>
--space-name <your-new-space-name>  
--space-settings '{
        "AppType": "Canvas", 
        "SpaceStorageSettings": {
            "EbsStorageSettings": {"EbsVolumeSizeInGb": <storage-volume-size>}
        },
     }'
--ownership-settings '{"OwnerUserProfileName": "<your-user-profile>"}'
--space-sharing-settings '{"SharingType": "Private"}'
```

------

이제 공간이 있을 것입니다. 다음 단계를 위해 공간 이름을 추적합니다.

## 새로운 Canvas 애플리케이션 만들기
<a name="canvas-spaces-setup-new-app"></a>

공간을 만든 후 공간을 스토리지 위치로 지정하는 새 Canvas 애플리케이션을 만듭니다.

새 Canvas 애플리케이션을 생성하려면 AWS SDK for Python (Boto3) 또는를 사용할 수 있습니다 AWS CLI.

**중요**  
Canvas 애플리케이션을 생성 AWS CLI 하려면 AWS SDK for Python (Boto3) 또는를 사용해야 합니다. SageMaker AI 콘솔을 통해 Canvas 애플리케이션을 만들 때 사용자 지정 스페이스를 지정하는 것은 지원되지 않습니다.

------
#### [ SDK for Python (Boto3) ]

다음 예제에서는 메서드를 AWS SDK for Python (Boto3) `create_app` 사용하여 새 Canvas 애플리케이션을 생성하는 방법을 보여줍니다. 다음 파라미터를 지정해야 합니다.
+ `DomainId`: SageMaker AI 도메인의 ID를 지정합니다.
+ `SpaceName`: 이전 단계에서 만든 공간의 이름을 지정합니다.
+ `AppType`: 이 필드를 `Canvas`로 지정합니다.
+ `AppName`: `default`를 앱 이름으로 지정합니다.

```
response = client.create_app(  
    DomainId='<your-domain-id>',
    SpaceName='<your-space-name>',
    AppType='Canvas', 
    AppName='default'  
)
```

------
#### [ AWS CLI ]

다음 예제에서는 `create-app` 메서드를 AWS CLI 사용하여 새 Canvas 애플리케이션을 생성하는 방법을 보여줍니다. 다음 파라미터를 지정해야 합니다.
+ `DomainId`: SageMaker AI 도메인의 ID를 지정합니다.
+ `SpaceName`: 이전 단계에서 만든 공간의 이름을 지정합니다.
+ `AppType`: 이 필드를 `Canvas`로 지정합니다.
+ `AppName`: `default`를 앱 이름으로 지정합니다.

```
create-app
--domain-id <your-domain-id>
--space-name <your-space-name>
--app-type Canvas
--app-name default
```

------

이제 사용자 지정 Studio 공간을 애플리케이션 데이터의 스토리지 위치로 사용하는 새 Canvas 애플리케이션이 생겼습니다.

**중요**  
Canvas 애플리케이션을 삭제(또는 로그아웃)하고 애플리케이션을 다시 만들어야 할 때는 항상 `SpaceName` 필드에 공간을 제공하여 Canvas가 공간을 사용하도록 해야 합니다.

공간은 공간 구성에서 지정한 사용자 프로필에 연결됩니다. 공간을 삭제하지 않고 Canvas 애플리케이션을 삭제할 수 있으며, 공간에 저장된 데이터는 그대로 유지됩니다. 사용자 프로필을 삭제하거나 공간을 직접 삭제하는 경우에만 공간에 저장된 데이터가 삭제됩니다.

# 사용자에게 사용자 지정 이미지 및 텍스트 예측 모델을 구축할 수 있는 권한 부여
<a name="canvas-set-up-cv-nlp"></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)에는 해당 리소스를 만드는 동안 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

Amazon SageMaker Canvas에서는 특정 비즈니스 요구 사항을 충족하는 [사용자 지정 모델](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html)을 구축할 수 있습니다. 이러한 사용자 지정 모델 유형 중 두 가지는 단일 레이블 이미지 예측과 다중 카테고리 텍스트 예측입니다. 이러한 모델 유형을 구축할 수 있는 권한은 [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess)라는 AWS Identity and Access Management (IAM) 정책에 포함되어 있습니다. 이 정책은 [Canvas 기본 권한 활성화](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites) 상태로 두면 SageMaker AI가 기본적으로 사용자의 IAM 실행 역할에 연결합니다. 사용자 지정 IAM 구성을 사용하는 경우 사용자가 사용자 지정 이미지 및 텍스트 예측 모델 유형을 빌드할 수 있도록 사용자의 IAM 실행 역할에 권한을 명시적으로 추가해야 합니다. 이미지 및 텍스트 예측 모델을 구축하는 데 필요한 권한을 부여하려면 다음 섹션을 참조하여 역할에 최소 권한 정책을 추가하는 방법을 알아보세요.

사용자의 IAM 역할에 권한을 추가하려면 다음을 수행합니다.

1. [IAM 콘솔](https://console.aws.amazon.com/iamv2)로 이동합니다.

1. **역할**을 선택합니다.

1. 검색 상자에서 이름을 기준으로 사용자의 IAM 역할을 검색하고 선택합니다.

1. 사용자 역할 페이지의 **권한**에서 **권한 추가**를 선택합니다.

1. **인라인 정책 생성**을 선택합니다.

1. JSON 탭에서 다음과 같은 최소 권한 정책을 편집기에 붙여 넣습니다.

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

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:CreateAutoMLJobV2",
                   "sagemaker:DescribeAutoMLJobV2"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. **정책 검토**를 선택합니다.

1. 정책의 **이름**을 입력합니다.

1. **정책 생성**을 선택합니다.

 AWS 관리형 정책에 대한 자세한 내용은 *IAM 사용 설명서*의 [관리형 정책 및 인라인 정책을](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) 참조하세요.

# Canvas에서 Amazon Bedrock 및 생성형 AI 기능을 사용할 수 있는 권한을 사용자에게 부여
<a name="canvas-fine-tuning-permissions"></a>

Amazon SageMaker Canvas의 생성형 AI 기능은 인간과 유사한 수준의 텍스트를 이해하고 생성할 수 있는 대규모규모 언어 모델(LLM)인 Amazon Bedrock 파운데이션 모델로 구동됩니다. 이 페이지에서는 SageMaker Canvas의 다음 기능에 필요한 권한을 부여하는 방법을 설명합니다.
+ [Amazon Bedrock 모델과의 채팅 및 모델 비교:](canvas-fm-chat.md) SageMaker Canvas를 통해 Amazon Bedrock 모델과의 대화형 채팅에 액세스하고 채팅을 시작합니다.
+ [Data Wrangler의 데이터 준비를 위한 채팅 기능 사용:](canvas-chat-for-data-prep.md) 자연어를 사용하여 데이터를 탐색, 시각화 및 변환합니다. 이 기능은 Anthropic Claude 2로 구동됩니다.
+ [Amazon Bedrock 파운데이션 모델 미세 조정](canvas-fm-chat-fine-tune.md): 사용자 지정 응답을 받기 위해 자체 데이터에서 Amazon Bedrock 파운데이션 모델을 미세 조정합니다.

이러한 기능을 사용하려면 먼저 사용하려는 특정 Amazon Bedrock 모델에 대한 액세스를 요청해야 합니다. 그런 다음 필요한 AWS IAM 권한과 Amazon Bedrock과의 신뢰 관계를 사용자의 실행 역할에 추가합니다. 역할에 권한을 부여하기 위해 다음 방법 중 하나를 선택할 수 있습니다.
+ 새 Amazon SageMaker AI 도메인 또는 사용자 프로필을 만들고 Amazon Bedrock 권한을 켭니다. 자세한 내용은 [Amazon SageMaker Canvas 사용 시작하기](canvas-getting-started.md) 단원을 참조하십시오.
+ 기존 Amazon SageMaker AI 도메인 또는 사용자 프로필에 대한 설정을 편집합니다.
+ 도메인 또는 사용자의 IAM 역할에 권한 및 신뢰 관계를 수동으로 추가합니다.

## 1단계: Amazon Bedrock 모델 액세스 추가
<a name="canvas-bedrock-access"></a>

Amazon Bedrock 모델에 대한 액세스는 기본적으로 부여되지 않으므로 Amazon Bedrock 콘솔로 이동하여 AWS 계정의 모델에 대한 액세스를 요청해야 합니다.

특정 Amazon Bedrock 모델에 대한 액세스를 요청하는 방법을 알아보려면 *Amazon Bedrock 사용 설명서*의 [Manage access to Amazon Bedrock foundation models](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html) 페이지에서 **모델 액세스 추가** 절차를 따르세요.

## 2단계: 사용자의 IAM 역할에 권한 부여
<a name="canvas-bedrock-iam-permissions"></a>

Amazon SageMaker AI 도메인 또는 사용자 프로필을 설정할 때 사용자가 SageMaker Canvas에서 Amazon Bedrock 모델에 액세스할 수 있도록 사용자의 IAM 실행 역할에 [AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) 정책이 연결되어야 하고 Amazon Bedrock과의 신뢰 관계가 있어야 합니다.

도메인 설정을 수정하고 새 실행 역할(SageMaker AI가 여기에 필요한 권한을 연결함)을 만들거나 기존 역할을 지정할 수 있습니다.

또는 IAM 콘솔을 통해 기존 IAM 역할에 대한 권한을 수동으로 수정할 수 있습니다.

두 방법 모두 다음 섹션에서 설명합니다.

### 도메인 설정을 통해 권한 부여
<a name="canvas-fine-tuning-permissions-console"></a>

도메인 또는 사용자 프로필 설정을 편집하여 **Canvas 즉시 사용 가능 모델 구성** 설정을 켜고 Amazon Bedrock 역할을 지정할 수 있습니다.

도메인 설정을 편집하고 도메인의 Canvas 사용자를 위해 Amazon Bedrock 모델에 대한 액세스 권한을 부여하려면 다음 작업을 수행하세요.

1. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)에서 SageMaker AI 콘솔로 이동합니다.

1. 왼쪽 탐색 창에서 **도메인**을 선택합니다.

1. 도메인 목록에서 사용자의 도메인을 선택합니다.

1. **앱 구성** 탭을 선택합니다.

1. **Canvas** 섹션에서 **편집**을 선택합니다.

1. **Canvas 설정 편집** 페이지가 열립니다. **Canvas 즉시 사용 가능 모델 구성** 섹션에서 다음을 수행하세요.

   1. **Canvas 즉시 사용 가능 모델 활성화 옵션**을 켭니다.

   1. **Amazon Bedrock 역할**에서 **새 실행 역할 만들기 및 사용**을 선택하여 [AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) 정책이 연결되고 Amazon Bedrock과의 신뢰 관계가 있는 새 IAM 실행 역할을 만듭니다. 이 IAM 역할은 Amazon Bedrock 모델에 액세스하거나 데이터 준비를 위한 채팅 기능을 사용하거나 Canvas에서 Amazon Bedrock 모델을 미세 조정할 때 Amazon Bedrock에서 수임합니다. 신뢰 관계가 있는 실행 역할이 이미 있는 경우 **기존 실행 역할 사용**을 선택하고 드롭다운에서 역할을 선택합니다.

1. **제출**을 선택하여 변경 사항을 저장합니다.

이제 사용자는 Amazon Bedrock 모델에 액세스하고, 데이터 준비를 위한 채팅 기능을 사용하고, Canvas에서 Amazon Bedrock 모델을 미세 조정하는 데 필요한 권한을 갖게 됩니다.

위와 같은 절차를 사용하여 개별 사용자의 설정을 편집할 수 있습니다. 단, 도메인 페이지에서 개별 사용자의 프로필로 이동하여 사용자 설정을 편집하면 됩니다. 개별 사용자에게 부여된 권한은 도메인의 다른 사용자에게 적용되지 않는 반면, 도메인 설정을 통해 부여된 권한은 도메인의 모든 사용자 프로필에 적용됩니다.

도메인 설정을 편집하는 방법에 대한 자세한 내용은 [View and Edit domains](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-view-edit.html)을 참조하세요.

### IAM을 통해 수동으로 권한 부여
<a name="canvas-fine-tuning-permissions-manual"></a>

도메인 또는 사용자 프로필에 지정된 IAM 역할에 권한을 추가하여 Canvas에서 Amazon Bedrock 모델에 액세스하고 미세 조정할 수 있는 권한을 사용자에게 수동으로 부여할 수 있습니다. IAM 역할에는 [AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) 정책이 연결되고 Amazon Bedrock과의 신뢰 관계가 있어야 합니다.

다음 섹션에서는 IAM 역할에 정책을 연결하고 Amazon Bedrock과의 신뢰 관계를 만드는 방법을 보여줍니다.

먼저 도메인 또는 사용자 프로필의 IAM 역할을 기록해 둡니다. 참고로, 개별 사용자에게 부여된 권한은 도메인의 다른 사용자에게 적용되지 않는 반면, 도메인을 통해 부여된 권한은 도메인의 모든 사용자 프로필에 적용됩니다.

IAM 역할을 구성하고 Canvas에서 파운데이션 모델을 미세 조정할 수 있는 권한을 부여하려면 다음을 수행하세요.

1. IAM 콘솔([https://console.aws.amazon.com/iam](https://console.aws.amazon.com/iam/))로 이동합니다.

1. 왼쪽 탐색 창에서 **역할**을 선택합니다.

1. 역할 목록에서 이름으로 사용자의 IAM 역할을 검색하고 선택합니다.

1. **권한** 탭에서 **권한 추가**을 선택합니다. 드롭다운 목록에서 **정책 연결**을 선택합니다.

1. `AmazonSageMakerCanvasBedrockAccess` 정책을 검색하여 선택합니다.

1. **권한 추가**를 선택합니다.

1. IAM 역할의 페이지에서 **신뢰 관계** 탭을 선택합니다.

1. **신뢰 정책 편집**을 선택합니다.

1. 정책 편집기의 오른쪽 패널에서 **위탁자 추가 옵션**을 찾아 **추가**를 선택합니다.

1. 대화 상자의 **위탁자 유형**에서 **AWS 서비스**를 선택합니다.

1. **ARN**에 **bedrock.amazonaws.com**을 입력합니다.

1. **보안 주체 추가**를 선택합니다.

1. **정책 업데이트**를 선택합니다.

이제 [AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) 정책이 연결되고 Amazon Bedrock과 신뢰 관계가 있는 IAM 역할이 생겼습니다. AWS 관리형 정책에 대한 자세한 내용은 *IAM 사용 설명서*의 [관리형 정책 및 인라인 정책을](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) 참조하세요.

# 사용자를 위한 SageMaker Canvas 업데이트
<a name="canvas-update"></a>

사용자 또는 IT 관리자로 Amazon SageMaker Canvas를 최신 버전으로 업데이트할 수 있습니다. 한 번에 한 명의 사용자를 위해 Amazon SageMaker Canvas를 업데이트할 수 있습니다.

Amazon SageMaker Canvas 애플리케이션을 업데이트하려면 이전 버전을 삭제해야 합니다.

**중요**  
Amazon SageMaker Canvas의 이전 버전을 삭제해도 사용자가 생성한 데이터나 모델은 삭제되지 않습니다.

다음 절차에 따라에 로그인하고 AWS, Amazon SageMaker AI 도메인을 열고, Amazon SageMaker Canvas를 업데이트합니다. 사용자는 다시 로그인하면 SageMaker Canvas 애플리케이션 사용을 시작할 수 있습니다.

1. [Amazon SageMaker Runtime](https://console.aws.amazon.com/sagemaker/)에서 Amazon SageMaker AI 콘솔에 로그인합니다.

1. 왼쪽 탐색 창에서 **관리자 구성**을 선택합니다.

1. **관리자 구성**에서 **도메인**을 선택합니다.

1. **도메인** 페이지에서 사용자의 도메인을 선택합니다.

1. **사용자 프로필** 목록에서 사용자 프로필을 선택합니다.

1. **앱** 목록에서 Canvas 애플리케이션(**앱 유형**은 **Canvas**로 표시됨)을 찾아 **앱 삭제**를 선택합니다.

1. 대화 상자를 완료하고 **작업 확인**을 선택합니다.

다음 이미지는 사용자 프로필 페이지를 보여 주며 이전 절차의 **앱 삭제** 작업을 강조 표시합니다.

![\[앱 삭제 작업이 강조 표시된 사용자 프로필 페이지의 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/images/studio/canvas/canvas-update-app-1.png)


# 할당량 증가 요청
<a name="canvas-requesting-quota-increases"></a>

사용자는 할당량에 지정된 양을 초과하는 양의 AWS 리소스를 사용할 수 있습니다. 사용자의 리소스가 제한되고 SageMaker Canvas에서 오류가 발생한다면 할당량 증가를 요청할 수 있습니다.

SageMaker AI 할당량과 할당량 증가를 요청하는 방법에 대한 자세한 내용은 [Quotas](https://docs.aws.amazon.com/sagemaker/latest/dg/regions-quotas.html#regions-quotas-quotas)를 참조하세요.

Amazon SageMaker Canvas는 다음 서비스를 사용하여 사용자의 요청을 처리합니다.
+ Amazon SageMaker Autoper
+ Amazon SageMaker Studio Classic 도메인

SageMaker Canvas 작업의 사용 가능한 할당량 목록은 [Amazon SageMaker 엔드포인트 및 할당량](https://docs.aws.amazon.com//general/latest/gr/sagemaker.html)을 참조하세요.

## 사용자 지정 모델 구축을 위한 인스턴스 증가 요청
<a name="canvas-requesting-quota-increases-instances"></a>

사용자 정의 모델을 구축할 때 구축 후 분석 중에 `ml.m5.2xlarge`인스턴스에 대한 할당량을 늘리라는 오류가 발생하는 경우 다음 정보를 사용하여 문제를 해결하세요.

`ml.m5.2xlarge` 인스턴스 유형에 대한 SageMaker AI 호스팅 엔드포인트 할당량을 AWS 계정에서 0이 아닌 값으로 늘려야 합니다. 모델을 구축한 후 SageMaker Canvas는 SageMaker AI 호스팅 엔드포인트에서 모델을 호스팅하고 해당 엔드포인트를 사용하여 구축 후 분석을 생성합니다. `ml.m5.2xlarge` 인스턴스의 기본 계정 할당량인 0을 늘리지 않으면 SageMaker Canvas는 이 단계를 완료할 수 없으며 구축 후 분석 중에 오류가 발생합니다.

할당량 증가를 요청하는 절차는 *Service Quotas 사용 설명서*의 [Requesting a quota increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)를 참조하세요.

# 사용자에게 Amazon Redshift 데이터를 가져올 수 있는 권한 부여
<a name="canvas-redshift-permissions"></a>

사용자가 데이터 집합을 Amazon Redshift에 저장했을 수 있습니다. 사용자가 Amazon Redshift에서 SageMaker Canvas로 데이터를 가져오려면 먼저 사용자 프로필에 사용한 IAM 실행 역할에 `AmazonRedshiftFullAccess`관리형 정책을 추가하고 Amazon Redshift를 역할의 신뢰 정책에 서비스 보안 주체로 추가해야 합니다. 또한 IAM 실행 역할을 Amazon Redshift 클러스터와 연결해야 합니다. 다음 섹션의 절차를 완료하여 사용자에게 Amazon Redshift 데이터를 가져오는 데 필요한 권한을 부여하세요.

## Amazon Redshift 권한을 IAM 역할에 추가
<a name="canvas-redshift-permissions-iam-role"></a>

Amazon Redshift 권한을 사용자 프로필에 지정된 IAM 역할에 부여해야 합니다.

`AmazonRedshiftFullAccess` 정책을 사용자의 IAM 역할에 추가하려면 다음과 같이 하세요.

1. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔에 로그인합니다.

1. **역할**을 선택합니다.

1. 검색 상자에서 이름을 기준으로 사용자의 IAM 역할을 검색하고 선택합니다.

1. 사용자 역할 페이지의 **권한**에서 **권한 추가**를 선택합니다.

1. **정책 연결**을 선택합니다.

1. `AmazonRedshiftFullAccess` 관리형 정책을 검색하여 선택합니다.

1. 정책을 역할에 연결하려면 **정책 연결**을 선택합니다.

정책을 연결했으면 이제 역할의 **권한** 섹션에 `AmazonRedshiftFullAccess`이 포함되어야 합니다.

Amazon Redshift를 IAM 역할에 서비스 보안 주체로 추가하려면 다음과 같이 하세요.

1. IAM 역할에 대한 동일 페이지의 **신뢰 관계**에서 **신뢰 정책 편집**을 선택합니다.

1. **신뢰 정책 편집** 편집기에서 Amazon Redshift를 서비스 보안 주체로 추가하도록 신뢰 정책을 업데이트합니다. Amazon Redshift가 귀하를 대신하여 다른 AWS 서비스에 액세스 할 수 있게 해주는 새로운 IAM 역할은 다음과 같이 신뢰 관계를 갖습니다.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "redshift.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. 신뢰 정책을 편집한 후 **정책 업데이트**를 선택합니다.

이제 정책 `AmazonRedshiftFullAccess`이 연결된 IAM 역할과 Amazon Redshift와 신뢰 관계를 구축하여 사용자에게 Amazon Redshift 데이터를 SageMaker Canvas로 가져올 수 있는 권한을 부여해야 합니다. AWS 관리형 정책에 대한 자세한 내용은 *IAM 사용 설명서*의 [관리형 정책 및 인라인 정책을](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) 참조하세요.

## Amazon Redshift 클러스터에 IAM 역할 연결
<a name="canvas-redshift-permissions-cluster"></a>

Amazon Redshift 클러스터 설정에서 이전 섹션에서 권한을 부여한 IAM 역할을 연결해야 합니다.

IAM 역할을 클러스터와 연결하려면 다음을 수행합니다.

1. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/) Amazon Redshift 콘솔에 로그인합니다.

1. 탐색 메뉴에서 **클러스터**를 선택한 후 업데이트할 클러스터의 이름을 선택합니다.

1. **작업** 드롭다운 메뉴에서 **IAM 역할 관리**를 선택합니다. **클러스터 권한** 페이지가 나타납니다.

1. **사용 가능한 IAM 역할**에 ARN 또는 IAM 역할 이름을 입력하거나 목록에서 IAM 역할을 선택합니다.

1. 그런 다음 **IAM 역할 연결**을 선택하여 이를 **연결된 IAM 역할** 목록에 추가합니다.

1. **변경 내용 저장**을 선택하여 IAM 역할을 클러스터에 연결합니다.

Amazon Redshift는 클러스터를 수정하여 변경을 완료하며, 이전에 Amazon Redshift 권한을 부여한 IAM 역할은 이제 Amazon Redshift 클러스터와 연결됩니다. 이제 사용자는 Amazon Redshift 데이터를 SageMaker Canvas로 가져오는 데 필요한 권한을 갖게 되었습니다.

# 사용자에게 예측을 빠르게 전송할 수 있는 권한 부여
<a name="canvas-quicksight-permissions"></a>

SageMaker Canvas 사용자에게 배치 예측을 Quick으로 전송할 수 있는 권한을 부여해야 합니다. Quick에서 사용자는 데이터 세트로 분석 및 보고서를 생성하고 대시보드를 준비하여 결과를 공유할 수 있습니다. 분석을 위해 QuickSight로 예측을 전송하는 방법에 대한 자세한 내용은 [예측을 빠른 로 전송](canvas-send-predictions.md)을 참조하세요.

QuickSight에서 사용자와 배치 예측을 공유하는 데 필요한 권한을 부여하려면 사용자 프로필에 사용한 AWS Identity and Access Management (IAM) 실행 역할에 권한 정책을 추가해야 합니다. 다음 섹션에서는 역할에 최소 권한 정책을 연결하는 방법을 보여줍니다.

**IAM 역할에 권한 정책 추가**

**권한 정책을 추가하려면 다음 절차를 사용합니다.**

1. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔에 로그인합니다.

1. **역할**을 선택합니다.

1. 검색 상자에서 이름을 기준으로 사용자의 IAM 역할을 검색하고 선택합니다.

1. 사용자 역할 페이지의 **권한**에서 **권한 추가**를 선택합니다.

1. **인라인 정책 생성**을 선택합니다.

1. JSON 탭에서 다음과 같은 최소 권한 정책을 편집기에 붙여 넣습니다. 자리표시자 `<your-account-number>`를 자체 AWS 계정 번호로 바꾸세요.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "quicksight:CreateDataSet",
                   "quicksight:ListUsers",
                   "quicksight:ListNamespaces",
                   "quicksight:CreateDataSource",
                   "quicksight:PassDataSet",
                   "quicksight:PassDataSource"
               ],
               "Resource": [
                   "arn:aws:quicksight:*:111122223333:datasource/*",
                   "arn:aws:quicksight:*:111122223333:user/*",
                   "arn:aws:quicksight:*:111122223333:namespace/*",
                   "arn:aws:quicksight:*:111122223333:dataset/*"
               ]
           }
       ]
   }
   ```

------

1. **정책 검토**를 선택합니다.

1. 정책의 **이름**을 입력합니다.

1. **정책 생성**을 선택합니다.

이제 Canvas 사용자에게 QuickSight에서 사용자에게 배치 예측을 전송하는 데 필요한 권한을 부여하는 고객 관리형 IAM 정책이 실행 역할에 첨부되어야 합니다.

# 애플리케이션 관리
<a name="canvas-manage-apps"></a>

다음 섹션에서는 SageMaker Canvas 애플리케이션을 관리하는 방법을 설명합니다. SageMaker AI 콘솔의 **도메인** 섹션에서 애플리케이션을 보거나 삭제하거나 다시 시작할 수 있습니다.

**Topics**
+ [활성 애플리케이션 확인](canvas-manage-apps-active.md)
+ [애플리케이션 삭제](canvas-manage-apps-delete.md)
+ [애플리케이션 다시 시작](canvas-manage-apps-relaunch.md)

# 활성 애플리케이션 확인
<a name="canvas-manage-apps-active"></a>

현재 실행 중인 SageMaker Canvas 애플리케이션이 있는지 확인하려면 다음 절차를 따릅니다.

1. [SageMaker AI 콘솔](https://console.aws.amazon.com/sagemaker/)을 엽니다.

1. 왼쪽 탐색 창에서 **대시보드**를 선택합니다.

1. **LCNC** 섹션에는 실행 중인 활성 앱 수를 알려주는 Canvas 행이 있습니다. 번호를 선택하여 앱 목록을 봅니다.

**상태** 열에는 **준비**, **보류** 또는 **삭제됨**과 같은 애플리케이션 상태가 표시됩니다. 애플리케이션이 **준비**되면 SageMaker Canvas 워크스페이스 인스턴스가 활성화된 것입니다. 콘솔에서 애플리케이션을 삭제하거나 Canvas를 다시 열고 로그아웃할 수 있습니다.

# 애플리케이션 삭제
<a name="canvas-manage-apps-delete"></a>

SageMaker Canvas 작업 영역 인스턴스를 종료하려면 SageMaker Canvas 애플리케이션에서 로그아웃하거나 SageMaker AI 콘솔에서 애플리케이션을 삭제할 수 있습니다. *워크스페이스 인스턴스*는 SageMaker Canvas를 사용하기 시작한 시점부터 사용을 중지할 때까지 사용자 전용입니다. 애플리케이션을 삭제하면 워크스페이스 인스턴스만 종료되고 워크스페이스 인스턴스 요금 부과가 중지됩니다. 모델과 데이터세트는 영향을 받지 않지만 빠른 빌드 작업은 애플리케이션을 다시 시작하면 자동으로 다시 시작됩니다.

 AWS 콘솔을 통해 Canvas 애플리케이션을 삭제하려면 먼저 Canvas 애플리케이션이 열린 브라우저 탭을 닫습니다. 그런 다음, 다음 절차를 사용하여 SageMaker Canvas 애플리케이션을 삭제합니다.

1. [SageMaker AI 콘솔](https://console.aws.amazon.com/sagemaker/)을 엽니다.

1. 왼쪽 탐색 창에서 **관리자 구성**을 선택합니다.

1. **관리자 구성**에서 **도메인**을 선택합니다.

1. **도메인** 페이지에서 사용자의 도메인을 선택합니다.

1. **도메인 세부 정보** 페이지에서 **리소스를** 선택합니다.

1. **애플리케이션** 아래의 **앱 유형** 열에서 **Canvas**라고 표시된 애플리케이션을 찾습니다.

1. Canvas 애플리케이션 옆의 확인란을 선택하고 **중지**를 선택합니다.

이제 애플리케이션을 성공적으로 중지하고 워크스페이스 인스턴스를 종료했습니다.

SageMaker Canvas 애플리케이션 내에서 [로그아웃](canvas-log-out.md)하여 워크스페이스 인스턴스를 종료할 수도 있습니다.

# 애플리케이션 다시 시작
<a name="canvas-manage-apps-relaunch"></a>

SageMaker Canvas 애플리케이션을 삭제하거나 로그아웃한 후 애플리케이션을 다시 실행하려면 다음 절차를 사용하세요.

1. [SageMaker AI 콘솔](https://console.aws.amazon.com/sagemaker/)로 이동합니다.

1. 탐색 창에서 **Canvas**를 선택합니다.

1. SageMaker Canvas 랜딩 페이지의 **시작하기** 상자에 있는 드롭다운에서 사용자 프로필을 선택합니다.

1. **Canvas 열기**를 선택하여 애플리케이션을 엽니다.

SageMaker Canvas가 애플리케이션 실행을 시작합니다.

이전 절차에서 문제가 발생하는 경우 다음 보조 절차를 사용할 수도 있습니다.

1. [SageMaker AI 콘솔](https://console.aws.amazon.com/sagemaker/)을 엽니다.

1. 왼쪽 탐색 창에서 **관리자 구성**을 선택합니다.

1. **관리자 구성**에서 **도메인**을 선택합니다.

1. **도메인** 페이지에서 사용자의 도메인을 선택합니다.

1. **도메인 세부 정보** 페이지의 **사용자 프로필**에서 보려고 하는 SageMaker Canvas 애플리케이션의 사용자 프로필 이름을 선택합니다.

1. **실행을** 선택하고 드롭다운 목록에서 **Canvas**를 선택합니다.

SageMaker Canvas가 애플리케이션 실행을 시작합니다.

# 인터넷 액세스 없이 VPC에서 Amazon SageMaker Canvas 구성
<a name="canvas-vpc"></a>

Amazon SageMaker Canvas 애플리케이션은 AWS 관리형 Amazon Virtual Private Cloud(VPC)의 컨테이너에서 실행됩니다. 리소스에 대한 액세스를 추가로 제어하거나 퍼블릭 인터넷 액세스 없이 SageMaker Canvas를 실행하려는 경우 Amazon SageMaker AI 도메인 및 VPC 설정을 구성할 수 있습니다. 자체 VPC 내에서 보안 그룹(Amazon EC2 인스턴스의 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽) 및 서브넷(VPC의 IP 주소 범위)과 같은 설정을 구성할 수 있습니다. VPC에 대해 자세히 알아보려면 [Amazon VPC의 작동 방식](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html)을 참조하세요.

SageMaker Canvas 애플리케이션이 AWS 관리형 VPC에서 실행 중인 경우 인터넷 연결을 사용하거나 고객 관리형 VPC(퍼블릭 인터넷 액세스 없음)에서 생성된 VPC 엔드포인트를 통해 다른 AWS 서비스와 상호 작용할 수 있습니다. SageMaker Canvas 애플리케이션은 고객 관리형 VPC에 대한 연결을 제공하는 Studio Classic에서 만든 네트워크 인터페이스를 통해 이러한 VPC 엔드포인트에 액세스할 수 있습니다. SageMaker Canvas 애플리케이션의 기본 동작은 인터넷에 액세스하는 것입니다. 인터넷 연결을 사용할 때 이전 작업의 컨테이너는 훈련 데이터 및 모델 아티팩트를 저장하는 Amazon S3 버킷과 같은 AWS 리소스에 인터넷을 통해 액세스합니다.

하지만 데이터 및 작업 컨테이너에 대한 액세스를 제어하기 위한 보안 요구 사항이 있는 경우 SageMaker Canvas 및 VPC를 구성하여 인터넷을 통해 데이터 및 컨테이너에 액세스할 수 없도록 하는 것이 좋습니다. SageMaker AI는 SageMaker Canvas용 도메인을 설정할 때 지정한 VPC 구성 설정을 사용합니다.

인터넷 액세스 없이 SageMaker Canvas 애플리케이션을 구성하려면 [Amazon SageMaker AI 도메인](gs-studio-onboard.md)에 온보딩할 때 VPC 설정을 구성하고, VPC 엔드포인트를 설정하고, 필요한 AWS Identity and Access Management 권한을 부여해야 합니다. Amazon SageMaker AI에서 VPC를 구성하는 방법에 대한 자세한 내용은 [Amazon VPC 선택](onboard-vpc.md) 섹션을 참조하세요. 다음 섹션에서는 퍼블릭 인터넷 액세스 없이 VPC에서 SageMaker Canvas를 실행하는 방법을 설명합니다.

## 인터넷 액세스 없이 VPC에서 Amazon SageMaker Canvas 구성
<a name="canvas-vpc-configure"></a>

자체 VPC를 통해 SageMaker Canvas에서 다른 AWS 서비스로 트래픽을 전송할 수 있습니다. 자체 VPC에 퍼블릭 인터넷 액세스가 없고 도메인을 **VPC 전용** 모드로 설정한 경우 SageMaker Canvas에는 퍼블릭 인터넷 액세스 권한도 없습니다. 여기에는 Amazon S3의 데이터 집합에 액세스하거나 표준 빌드를 위한 훈련 작업과 같은 모든 요청이 포함되며, 요청은 퍼블릭 인터넷 대신 VPC의 VPC 엔드포인트를 통과합니다. 도메인 및 [Amazon VPC 선택](onboard-vpc.md)에 온보딩할 때 원하는 보안 그룹 및 서브넷 설정과 함께 자체 VPC를 도메인의 기본 VPC로 지정할 수 있습니다. 그런 다음 SageMaker AI는 SageMaker Canvas가 VPC의 VPC 엔드포인트에 액세스하는 데 사용하는 네트워크 인터페이스를 VPC에 생성합니다.

[보안 그룹 내에서 TCP 트래픽](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-other-instances)을 허용하는 인바운드 및 아웃바운드 규칙을 사용하여 VPC에 하나 이상의 보안 그룹을 설정해야 합니다. 이는 Jupyter Server 애플리케이션과 Kernel Gateway 애플리케이션 간의 연결에 필요합니다. `8192-65535` 범위 내 최소 포트에 대한 액세스를 허용해야 합니다. 또한 각 사용자 프로필에 대해 고유한 보안 그룹을 만들고 동일한 보안 그룹의 인바운드 액세스를 추가하세요. 사용자 프로필에 도메인 수준 보안 그룹을 재사용하지 않는 것이 좋습니다. 도메인 수준 보안 그룹이 자체로의 인바운드 액세스를 허용하면 도메인의 모든 애플리케이션이 도메인의 다른 모든 애플리케이션에 액세스할 수 있게 됩니다. 참고로 보안 그룹과 서브넷 설정은 도메인 온보딩을 완료한 후에 설정됩니다.

도메인에 온보딩할 때 네트워크 액세스 유형으로 **퍼블릭 인터넷 전용**을 선택하면 VPC는 SageMaker AI에서 관리되며 인터넷 액세스를 허용합니다.

지정된 VPC에서 SageMaker AI가 생성한 네트워크 인터페이스로 SageMaker AI가 모든 트래픽을 보내도록 하려면 **VPC 전용**을 선택하여 이 동작을 변경할 수 있습니다. 이 옵션을 선택하는 경우 SageMaker API 및 SageMaker AI Runtime과 통신하는 데 필요한 서브넷, 보안 그룹 및 VPC 엔드포인트와 SageMaker Canvas에서 사용하는 Amazon S3 및 Amazon CloudWatch와 같은 다양한 AWS 서비스를 제공해야 합니다. VPC와 동일한 지역에 위치한 Amazon S3 버킷에서만 데이터를 가져올 수 있다는 점에 유의하세요.

다음 절차는 인터넷 없이 SageMaker Canvas를 사용하도록 이러한 설정을 구성하는 방법을 보여줍니다.

### 1단계: Amazon SageMaker AI 도메인에 온보딩
<a name="canvas-vpc-configure-onboard"></a>

SageMaker Canvas 트래픽을 인터넷이 아닌 자체 VPC의 네트워크 인터페이스로 보내려면 [Amazon SageMaker AI 도메인](gs-studio-onboard.md)으로 온보딩할 때 사용할 VPC를 지정합니다. 또한 SageMaker AI에서 사용할 수 있는 서브넷을 VPC에 두 개 이상 지정해야 합니다. **표준 설정**을 선택하고 도메인의 **네트워크 및 스토리지 섹션**을 구성할 때 다음 절차를 수행하세요.

1. 원하는 **VPC**를 선택합니다.

1. 두 개 이상의 **서브넷**을 선택합니다. 서브넷을 지정하지 않는 경우 SageMaker AI는 VPC의 모든 서브넷을 사용합니다.

1. 하나 이상의 **보안 그룹**을 선택합니다.

1. SageMaker Canvas가 호스팅되는 AWS 관리형 **VPC에서 직접 인터넷 액세스를 끄려면 VPC 전용**을 선택합니다.

인터넷 액세스를 비활성화한 후 온보딩 프로세스를 완료하여 도메인을 설정합니다. Amazon SageMaker AI 도메인의 VPC 설정에 대한 자세한 내용은 [Amazon VPC 선택](onboard-vpc.md) 섹션을 참조하세요.

### 2단계: VPC 엔드포인트 및 액세스 구성
<a name="canvas-vpc-configure-endpoints"></a>

**참고**  
자체 VPC에서 Canvas를 구성하려면 VPC 엔드포인트의 프라이빗 DNS 호스트 이름을 활성화해야 합니다. 자세한 내용은 [VPC 인터페이스 엔드포인트를 통해 SageMaker AI에 연결](https://docs.aws.amazon.com/sagemaker/latest/dg/interface-vpc-endpoint.html)을 참조하세요.

SageMaker Canvas는 다른 AWS 서비스에만 액세스하여 기능을 위한 데이터를 관리하고 저장합니다. 예를 들어, 사용자가 Amazon Redshift 데이터베이스에 액세스하는 경우 Amazon Redshift에 연결됩니다. 인터넷 연결 또는 VPC 엔드포인트를 사용하여 Amazon Redshift와 같은 AWS 서비스에 연결할 수 있습니다. 퍼블릭 인터넷을 사용하지 않는 AWS 서비스에 대한 VPC 연결을 설정하려면 VPC 엔드포인트를 사용합니다.

VPC 엔드포인트는 퍼블릭 인터넷에서 격리된 네트워킹 경로를 사용하는 AWS 서비스에 대한 프라이빗 연결을 생성합니다. 예를 들어 자체 VPC의 VPC 엔드포인트를 사용하여 Amazon S3에 대한 액세스를 설정하는 경우, SageMaker Canvas 애플리케이션은 VPC의 네트워크 인터페이스를 거쳐 Amazon S3에 연결되는 VPC 엔드포인트를 통해 Amazon S3에 액세스할 수 있습니다. SageMaker Canvas와 Amazon S3 간의 통신은 비공개입니다.

VPC 엔드포인트 구성에 대한 자세한 내용은 [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html)를 참조하세요. VPC를 사용하여 Canvas에서 Amazon Bedrock 모델을 사용하는 경우 데이터 액세스 제어에 대한 자세한 내용은 *Amazon Bedrock 사용자 안내서*의 [VPC를 사용하여 작업 보호](https://docs.aws.amazon.com/bedrock/latest/userguide/usingVPC.html#configureVPC)를 참조하세요.

다음은 SageMaker Canvas와 함께 사용할 수 있는 각 서비스의 VPC 엔드포인트입니다.


| 서비스 | 엔드포인트 | 엔드포인트 유형 | 
| --- | --- | --- | 
|  AWS Application Auto Scaling  |  com.amazonaws.*Region*.application-autoscaling  | 인터페이스 | 
|  Amazon Athena  |  com.amazonaws.*Region*.athena  | 인터페이스 | 
|  Amazon SageMaker AI  |  com.amazonaws.*Region*.sagemaker.api com.amazonaws.*Region*.sagemaker.runtime com.amazonaws.*Region*.notebook  | 인터페이스 | 
|  Amazon SageMaker AI Data Science Assistant  |  com.amazonaws.*Region*.sagemaker-data-science-assistant  | 인터페이스 | 
|  AWS Security Token Service  |  com.amazonaws.*Region*.sts  | 인터페이스 | 
|  Amazon Elastic Container Registry (Amazon ECR)  |  com.amazonaws.*Region*.ecr.api com.amazonaws.*Region*.ecr.dkr  | 인터페이스 | 
|  Amazon Elastic Compute Cloud(Amazon EC2)  |  com.amazonaws.*Region*.ec2  | 인터페이스 | 
|  Amazon Simple Storage Service(Amazon S3)  |  com.amazonaws.*Region*.s3  | Gateway | 
|  Amazon Redshift  |  com.amazonaws.*Region*.redshift-data  | 인터페이스 | 
|  AWS Secrets Manager  |  com.amazonaws.*Region*.secretsmanager  | 인터페이스 | 
|  AWS Systems Manager  |  com.amazonaws.*Region*.ssm  | 인터페이스 | 
|  Amazon CloudWatch  |  com.amazonaws.*region*.monitoring  | 인터페이스 | 
|  Amazon CloudWatch Logs  |  com.amazonaws.*Region*.logs  | 인터페이스 | 
|  Amazon Forecast  |  com.amazonaws.*Region*.forecast com.amazonaws.*Region*.forecastquery  | 인터페이스 | 
|  Amazon Textract  |  com.amazonaws.*Region*.textract  | 인터페이스 | 
|  Amazon Comprehend  |  com.amazonaws.*Region*.comprehend  | 인터페이스 | 
|  Amazon Rekognition  |  com.amazonaws.*Region*.rekognition  | 인터페이스 | 
|  AWS Glue  |  com.amazonaws.*Region*.glue  | 인터페이스 | 
|  AWS Application Auto Scaling  |  com.amazonaws.*Region*.application-autoscaling  | 인터페이스 | 
|  Amazon Relational Database Service(Amazon RDS)  |  com.amazonaws.*Region*.rds  | 인터페이스 | 
|  Amazon Bedrock(표 아래의 참고 사항 참조)  |  com.amazonaws.*Region*.bedrock-runtime  | 인터페이스 | 
|  Amazon Kendra  |  com.amazonaws.*Region*.kendra  | 인터페이스 | 
|  Amazon EMR Serverless  |  com.amazonaws.*Region*.emr-serverless  | 인터페이스 | 
|  Amazon Q Developer(표 아래의 참고 사항 참조)  |  com.amazonaws.*Region*.q  | 인터페이스 | 

**참고**  
Amazon Q Developer VPC 엔드포인트는 현재 미국 동부(버지니아 북부) 리전에서만 사용할 수 있습니다. 다른 리전에서 연결하려면 보안 및 인프라 기본 설정에 따라 다음 옵션 중 하나를 선택할 수 있습니다.  
**NAT 게이트웨이를 설정합니다.** VPC의 프라이빗 서브넷에서 NAT 게이트웨이를 구성하여 Q Developer 엔드포인트에 대한 인터넷 연결을 활성화합니다. 자세한 내용은 [Setting up a NAT Gateway in a VPC Private Subnet](https://repost.aws/knowledge-center/nat-gateway-vpc-private-subnet)을 참조하세요.
**리전 간 VPC 엔드포인트 액세스를 활성화합니다.** Q Developer에 대한 리전 간 VPC 엔드포인트 액세스를 설정합니다. 인터넷 액세스 없이 안전하게 연결하려면 이 옵션을 사용합니다. 자세한 내용은 [Configuring Cross-Region VPC Endpoint Access](https://repost.aws/knowledge-center/vpc-endpoints-cross-region-aws-services)를 참조하세요.

**참고**  
Amazon Bedrock의 경우 인터페이스 엔드포인트 서비스 이름 `com.amazonaws.Region.bedrock`은 더 이상 사용되지 않습니다. 위 표에 나열된 서비스 이름을 사용하여 새 VPC 엔드포인트를 생성합니다.  
또한 인터넷 액세스 없이 Canvas VPC의 파운데이션 모델을 미세 조정할 수 없습니다. 이는 Amazon Bedrock이 모델 사용자 지정 API에 대한 VPC 엔드포인트를 지원하지 않기 때문입니다. Canvas의 파운데이션 모델을 미세 조정하는 방법에 대한 자세한 내용은 [파운데이션 모델 미세 조정](canvas-fm-chat-fine-tune.md) 섹션을 참조하세요.

또한 VPC 엔드포인트에 대한 보안 AWS 주체 액세스를 제어하려면 Amazon S3에 대한 엔드포인트 정책을 추가해야 합니다. VPC 엔드포인트 정책을 업데이트하는 방법에 대한 자세한 내용은 [엔드포인트 정책을 사용하여 VPC 엔드포인트에 대한 액세스 제어](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)를 참조하세요.

다음은 사용할 수 있는 두 가지 VPC 엔드포인트 정책입니다. 데이터 가져오기 및 모델 만들기와 같은 Canvas의 기본 기능에 대한 액세스 권한만 부여하려면 첫 번째 정책을 사용합니다. Canvas의 추가 [생성형 AI 기능](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat.html)에 대한 액세스 권한을 부여하려면 두 번째 정책을 사용합니다.

------
#### [ Basic VPC endpoint policy ]

다음 정책은 Canvas의 기본 작업에 필요한 VPC 엔드포인트에 대한 액세스 권한을 부여합니다.

```
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:CreateBucket",
                "s3:GetBucketCors",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        }
```

------
#### [ Generative AI VPC endpoint policy ]

다음 정책은 Canvas의 기본 작업뿐만 아니라 생성형 AI 파운데이션 모델 사용에 필요한 VPC 엔드포인트에 대한 액세스 권한을 부여합니다.

```
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:CreateBucket",
                "s3:GetBucketCors",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*",
                "arn:aws:s3:::*fmeval/datasets*",
                "arn:aws:s3:::*jumpstart-cache-prod*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        }
```

------

### 3단계: IAM 권한 부여
<a name="canvas-vpc-configure-permissions"></a>

SageMaker Canvas 사용자는 VPC 엔드포인트에 대한 연결을 허용하는 데 필요한 AWS Identity and Access Management 권한이 있어야 합니다. 권한을 부여하는 IAM 역할은 Amazon SageMaker AI 도메인에 온보딩할 때 사용한 것과 동일해야 합니다. SageMaker AI 관리형 `AmazonSageMakerFullAccess` 정책을 사용자의 IAM 역할에 연결하여 사용자에게 필요한 권한을 부여할 수 있습니다. 보다 제한적인 IAM 권한이 필요하고 대신 사용자 지정 정책을 사용하는 경우 사용자 역할에 `ec2:DescribeVpcEndpointServices`권한을 부여하세요. SageMaker Canvas에는 표준 빌드 작업에 필요한 VPC 엔드포인트가 있는지 확인하기 위해 이러한 권한이 필요합니다. 이러한 VPC 엔드포인트를 탐지하면 VPC에서 표준 빌드 작업이 기본적으로 실행됩니다. 그렇지 않으면 기본 AWS 관리형 VPC에서 실행됩니다.

`AmazonSageMakerFullAccess` IAM 정책을 사용자의 IAM 역할에 연결하는 방법에 대한 지침은 [IAM ID 권한 추가 및 제거](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)를 참조하세요.

사용자의 IAM 역할에 세분화된 `ec2:DescribeVpcEndpointServices`권한을 부여하려면 다음 절차를 사용하세요.

1. 에 로그인 AWS Management Console 하고 [IAM 콘솔](https://console.aws.amazon.com/iam/)을 엽니다.

1. 탐색 창에서 **역할**을 선택합니다.

1. 목록에서 권한을 부여하려는 역할의 이름을 선택합니다.

1. **권한** 탭을 선택합니다.

1. **권한 추가**를 선택하고 **인라인 정책 생성**을 선택합니다.

1. **JSON** 탭을 선택하고 `ec2:DescribeVpcEndpointServices`권한을 부여하는 다음 정책을 입력합니다.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": "ec2:DescribeVpcEndpointServices",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. **정책 검토**를 선택하고 정책 **이름**(예: `VPCEndpointPermissions`)을 입력합니다.

1. **정책 생성**을 선택합니다.

이제 사용자의 IAM 역할에는 VPC에 구성된 VPC 엔드포인트에 액세스할 수 있는 권한이 있어야 합니다.

### (선택 사항) 4단계: 특정 사용자에 대한 보안 그룹 설정 재정의
<a name="canvas-vpc-configure-override"></a>

관리자인 경우 사용자마다 다른 VPC 설정 또는 사용자별 VPC 설정을 사용하고자 할 수 있습니다. 특정 사용자에 대한 기본 VPC의 보안 그룹 설정을 재정의하면 이러한 설정이 해당 사용자의 SageMaker Canvas 애플리케이션으로 전달됩니다.

Studio Classic에서 새 사용자 프로필을 설정할 때 VPC에서 특정 사용자가 액세스할 수 있는 보안 그룹을 재정의할 수 있습니다. [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) SageMaker API 직접 호출(또는 [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)과 함께 [create\$1user\$1profile](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_user_profile))을 사용한 다음 `UserSettings`에서 사용자의 `SecurityGroups`를 지정할 수 있습니다.

# OAuth를 사용하여 데이터 원본에 대한 연결 설정
<a name="canvas-setting-up-oauth"></a>

다음 섹션에서는 SageMaker Canvas에서 데이터 원본에 대한 OAuth 연결을 설정하기 위해 취해야 하는 단계를 설명합니다. [OAuth](https://oauth.net/2/)는 비밀번호를 공유하지 않고도 리소스에 대한 액세스 권한을 부여하는 일반적인 인증 플랫폼입니다. OAuth를 사용하면 Canvas의 데이터에 빠르게 연결하고 이를 가져와서 모델을 구축할 수 있습니다. Canvas는 현재 Snowflake 및 Salesforce Data Cloud에 대한 OAuth를 지원합니다.

**참고**  
각 데이터 원본에 대해 하나의 OAuth 연결만 설정할 수 있습니다.

## Salesforce Data Cloud용 OAuth 설정
<a name="canvas-setting-up-oauth-salesforce"></a>

Salesforce Data Cloud용 OAuth를 설정하려면 다음 일반 단계를 따르세요.

1. Salesforce Data Cloud에 로그인합니다.

1. Salesforce Data Cloud에서 새 앱 연결을 만들고 다음을 수행하세요.

   1. OAuth 설정을 활성화합니다.

   1. 콜백 URL(또는 데이터에 액세스하는 리소스의 URL)을 입력하라는 메시지가 표시되면 Canvas 애플리케이션의 URL을 지정하세요. Canvas 애플리케이션 URL은 다음 `https://<domain-id>.studio.<region>.sagemaker.aws/canvas/default`형식을 따릅니다.

   1. 소비자 키와 암호를 복사합니다.

   1. 인증 URL과 토큰 URL을 복사합니다.

Salesforce Data Cloud에서 이전 작업을 수행하는 방법에 대한 자세한 지침은 Salesforce Data Cloud에서 데이터 가져오기에 대한 Data Wrangler 설명서의 [Salesforce 데이터 클라우드에서 데이터를 가져옵니다.](data-wrangler-import.md#data-wrangler-import-salesforce-data-cloud)를 참조하세요.

Salesforce Data Cloud에서 액세스를 활성화하고 연결 정보를 가져온 후에는 정보를 저장할 [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 보안 암호를 만들고 이를 Amazon SageMaker AI 도메인 또는 사용자 프로필에 추가해야 합니다. 도메인과 사용자 프로필 모두에 암호를 추가할 수 있지만 Canvas는 먼저 사용자 프로필에서 암호를 찾습니다.

도메인 또는 사용자 프로필에 암호를 추가하려면 다음을 수행합니다.

1. [Amazon SageMaker AI 콘솔](https://console.aws.amazon.com/sagemaker)로 이동합니다.

1. 탐색 창에서 **도메인**을 선택합니다.

1. **도메인** 목록에서 사용자의 도메인을 선택합니다.

   1. 도메인에 암호를 추가하는 경우 다음을 수행합니다.

      1. 도메인을 선택합니다.

      1. **도메인 설정** 페이지에서 **도메인 설정** 탭을 선택합니다.

      1. **편집**을 선택합니다.

   1. 사용자 프로필에 암호를 추가하는 경우 다음을 수행합니다.

      1. 사용자 도메인을 선택합니다.

      1. **도메인 설정** 페이지에서 사용자 프로필을 선택합니다.

      1. **사용자 세부 정보** 페이지에서 **편집**을 선택합니다.

1. 탐색 창에서 **Canvas 설정**을 선택합니다.

1. **OAuth 설정**의 경우 **OAuth 구성 추가**를 선택합니다.

1. **데이터 원본**에서 **Salesforce Data Cloud**를 선택합니다.

1. **암호 설정**의 경우 **새 암호 생성**을 선택합니다. 또는 자격 증명으로 AWS Secrets Manager 보안 암호를 이미 생성한 경우 보안 암호의 ARN을 입력합니다. 새 암호를 생성하려면 다음을 수행합니다.

   1. **ID 공급자**로 **SALESFORCE**를 선택합니다.

   1. **클라이언트 ID**, **클라이언트 암호**, **인증 URL** 및 **토큰 URL**에는 이전 절차에서 Salesforce Data Cloud에서 수집한 모든 정보를 입력합니다.

1. 도메인 또는 사용자 프로필 설정을 저장합니다.

이제 Canvas에서 Salesforce Data Cloud의 데이터에 대한 연결을 생성할 수 있습니다.

## Snowflake용 OAuth 설정
<a name="canvas-setting-up-oauth-snowflake"></a>

Snowflake에 대한 인증을 설정하기 위해 Canvas는 사용자가 Canvas에 보안 인증 정보를 직접 입력하는 대신 사용할 수 있는 ID 공급자를 지원합니다.

다음은 Canvas가 지원하는 ID 공급자를 위한 Snowflake 설명서에 대한 링크입니다.
+ [Azure AD](https://docs.snowflake.com/en/user-guide/oauth-azure.html)
+ [Okta](https://docs.snowflake.com/en/user-guide/oauth-okta.html)
+ [Ping Federate](https://docs.snowflake.com/en/user-guide/oauth-pingfed.html)

다음 단계에서는 수행해야 하는 일반적인 단계를 설명합니다. 이러한 단계를 수행하는 방법에 대한 자세한 지침은 Snowflake에서 데이터 가져오기에 대한 Data Wrangler 설명서의 [Snowflake OAuth 액세스 설정하기](data-wrangler-import.md#data-wrangler-snowflake-oauth-setup)섹션을 참조할 수 있습니다.

Snowflake용 OAuth를 설정하려면 다음을 수행합니다.

1. ID 공급자에 Canvas를 애플리케이션으로 등록하세요. 이를 위해서는 Canvas로의 리디렉션 URL을 지정해야 하며, 이 URL은 다음 `https://<domain-id>.studio.<region>.sagemaker.aws/canvas/default`형식을 따라야 합니다.

1. ID 공급자 내에서 Canvas가 Snowflake에 액세스할 수 있도록 OAuth 토큰을 Canvas에 보내는 서버 또는 API를 만드세요. 서버를 설정할 때 인증 코드 및 새로 고침 토큰 부여 유형을 사용하고, 액세스 토큰 수명을 지정하고, 새로 고침 토큰 정책을 설정합니다. 또한 Snowflake용 외부 OAuth 보안 통합 내에서 `external_oauth_any_role_mode`을 활성화합니다.

1. ID 공급자로부터 토큰 URL, 인증 URL, 클라이언트 ID, 클라이언트 암호 등의 정보를 가져옵니다. Azure AD의 경우 OAuth 범위 보안 인증 정보도 검색합니다.

1. 이전 단계에서 검색한 정보를 AWS Secrets Manager 보안 암호에 저장합니다.

   1. Okta와 Ping Federate의 경우 암호는 다음과 같은 형식이어야 합니다.

      ```
      {"token_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/token",
      "client_id":"example-client-id", "client_secret":"example-client-secret", "identity_provider":"OKTA"|"PING_FEDERATE",
      "authorization_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/authorize"}
      ```

   1. Azure AD의 경우 암호에는 OAuth 범위 보안 인증 정보도 `datasource_oauth_scope`필드로 포함되어야 합니다.

ID 제공업체와 암호를 구성한 후에는 [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 보안 암호를 만들어 정보를 저장하고 이를 Amazon SageMaker AI 도메인 또는 사용자 프로필에 추가해야 합니다. 도메인과 사용자 프로필 모두에 암호를 추가할 수 있지만 Canvas는 먼저 사용자 프로필에서 암호를 찾습니다.

도메인 또는 사용자 프로필에 암호를 추가하려면 다음을 수행합니다.

1. [Amazon SageMaker AI 콘솔](https://console.aws.amazon.com/sagemaker)로 이동합니다.

1. 탐색 창에서 **도메인**을 선택합니다.

1. **도메인** 목록에서 사용자의 도메인을 선택합니다.

   1. 도메인에 암호를 추가하는 경우 다음을 수행합니다.

      1. 도메인을 선택합니다.

      1. **도메인 설정** 페이지에서 **도메인 설정** 탭을 선택합니다.

      1. **편집**을 선택합니다.

   1. 사용자 프로필에 암호를 추가하는 경우 다음을 수행합니다.

      1. 사용자 도메인을 선택합니다.

      1. **도메인 설정** 페이지에서 사용자 프로필을 선택합니다.

      1. **사용자 세부 정보** 페이지에서 **편집**을 선택합니다.

1. 탐색 창에서 **Canvas 설정**을 선택합니다.

1. **OAuth 설정**의 경우 **OAuth 구성 추가**를 선택합니다.

1. **데이터 원본**에서 **Snowflake**를 선택합니다.

1. **암호 설정**의 경우 **새 암호 생성**을 선택합니다. 또는 자격 증명으로 AWS Secrets Manager 보안 암호를 이미 생성한 경우 보안 암호의 ARN을 입력합니다. 새 암호를 생성하려면 다음을 수행합니다.

   1. **ID 공급자**에서 **SNOWFLAKE**를 선택합니다.

   1. **클라이언트 ID**, **클라이언트 암호**, **인증 URL** 및 **토큰 URL**에는 이전 절차에서 ID 공급자에서 수집한 모든 정보를 입력합니다.

1. 도메인 또는 사용자 프로필 설정을 저장합니다.

이제 Canvas에서 Snowflake의 데이터에 대한 연결을 생성할 수 있습니다.