

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

# AWS Identity and Access Management Amazon SageMaker AI용
<a name="security-iam"></a>

AWS Identity and Access Management (IAM)는 관리자가 AWS 리소스에 대한 액세스를 안전하게 제어하는 데 도움이 AWS 서비스 되는 입니다. IAM 관리자는 누가 SageMaker AI 리소스를 사용하도록 *인증되고*(로그인됨) *권한이 부여되는지*(권한 있음)를 제어합니다. IAM은 추가 비용 없이 사용할 수 AWS 서비스 있는 입니다.

**Topics**
+ [대상](#security_iam_audience)
+ [ID를 통한 인증](#security_iam_authentication)
+ [정책을 사용하여 액세스 관리](#security_iam_access-manage)
+ [Amazon SageMaker AI에서 IAM을 사용하는 방법](security_iam_service-with-iam.md)
+ [Amazon SageMaker AI ID 기반 정책 예시](security_iam_id-based-policy-examples.md)
+ [교차 서비스 혼동된 대리자 방지](security-confused-deputy-prevention.md)
+ [SageMaker AI 실행 역할을 사용하는 방법](sagemaker-roles.md)
+ [SageMaker 역할 관리자](role-manager.md)
+ [노트북에 대한 액세스 제어](security-access-control.md)
+ [Amazon SageMaker AI API 권한: 작업, 권한 및 리소스 참조](api-permissions-reference.md)
+ [AWS Amazon SageMaker AI에 대한 관리형 정책](security-iam-awsmanpol.md)
+ [Amazon SageMaker AI ID 및 액세스 문제 해결](security_iam_troubleshoot.md)

## 대상
<a name="security_iam_audience"></a>

 AWS Identity and Access Management (IAM)를 사용하는 방법은 역할에 따라 다릅니다.
+ **서비스 사용자** - 기능에 액세스할 수 없는 경우 관리자에게 권한 요청(참조[Amazon SageMaker AI ID 및 액세스 문제 해결](security_iam_troubleshoot.md))
+ **서비스 관리자** - 사용자 액세스 결정 및 권한 요청 제출([Amazon SageMaker AI에서 IAM을 사용하는 방법](security_iam_service-with-iam.md) 참조)
+ **IAM 관리자** - 액세스를 관리하기 위한 정책 작성([Amazon SageMaker AI ID 기반 정책 예시](security_iam_id-based-policy-examples.md) 참조)

## ID를 통한 인증
<a name="security_iam_authentication"></a>

인증은 자격 증명 자격 증명을 AWS 사용하여에 로그인하는 방법입니다. AWS 계정 루트 사용자, IAM 사용자 또는 IAM 역할을 수임하여 인증되어야 합니다.

 AWS IAM Identity Center (IAM Identity Center), Single Sign-On 인증 또는 Google/Facebook 자격 증명과 같은 자격 증명 소스의 자격 증명을 사용하여 페더레이션 자격 증명으로 로그인할 수 있습니다. 로그인하는 방법에 대한 자세한 내용은 *AWS Sign-In 사용 설명서*의 [AWS 계정에 로그인하는 방법](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) 섹션을 참조하세요.

프로그래밍 방식 액세스를 위해는 요청에 암호화 방식으로 서명할 수 있는 SDK 및 CLI를 AWS 제공합니다. 자세한 내용은 *IAM 사용 설명서*의 [API 요청용AWS Signature Version 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) 섹션을 참조하세요.

### AWS 계정 루트 사용자
<a name="security_iam_authentication-rootuser"></a>

 를 생성할 때 모든 AWS 서비스 및 리소스에 대한 완전한 액세스 권한이 있는 AWS 계정 *theroot 사용자*라는 하나의 로그인 자격 증명으로 AWS 계정시작합니다. 일상적인 태스크에 루트 사용자를 사용하지 않을 것을 강력히 권장합니다. 루트 사용자 자격 증명이 필요한 작업은 *IAM 사용 설명서*의 [루트 사용자 자격 증명이 필요한 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) 섹션을 참조하세요.

### 페더레이션 ID
<a name="security_iam_authentication-federated"></a>

가장 좋은 방법은 인간 사용자에게 자격 증명 공급자와의 페더레이션을 사용하여 임시 자격 증명을 AWS 서비스 사용하여에 액세스하도록 요구하는 것입니다.

*페더레이션 자격 증명*은 엔터프라이즈 디렉터리, 웹 자격 증명 공급자 또는 자격 증명 소스의 자격 증명을 AWS 서비스 사용하여 Directory Service 에 액세스하는 사용자입니다. 페더레이션 ID는 임시 자격 증명을 제공하는 역할을 수임합니다.

중앙 집중식 액세스 관리를 위해 AWS IAM Identity Center를 추천합니다. 자세한 정보는 *AWS IAM Identity Center 사용 설명서*의 [What is IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)를 참조하세요.

### IAM 사용자 및 그룹
<a name="security_iam_authentication-iamuser"></a>

*[IAM 사용자](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)*는 단일 개인 또는 애플리케이션에 대한 특정 권한을 가진 ID입니다. 장기 자격 증명이 있는 IAM 사용자 대신 임시 자격 증명을 사용하는 것이 좋습니다. 자세한 내용은 *IAM 사용 설명서*의 자격 [증명 공급자와의 연동을 사용하여 임시 자격 증명을 AWS 사용하여에 액세스하도록 인간 사용자에게 요구](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)하기를 참조하세요.

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)은 IAM 사용자 모음을 지정하고 대규모 사용자 집합에 대한 관리 권한을 더 쉽게 만듭니다. 자세한 내용은 *IAM 사용 설명서*의 [IAM 사용자 사용 사례](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) 섹션을 참조하세요.

### IAM 역할
<a name="security_iam_authentication-iamrole"></a>

*[IAM 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*은 임시 자격 증명을 제공하는 특정 권한이 있는 자격 증명입니다. [사용자에서 IAM 역할(콘솔)로 전환하거나 또는 API 작업을 호출하여 역할을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) 수임할 수 있습니다. AWS CLI AWS 자세한 내용은 *IAM 사용 설명서*의 [역할 수임 방법](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)을 참조하세요.

IAM 역할은 페더레이션 사용자 액세스, 임시 IAM 사용자 권한, 교차 계정 액세스, 교차 서비스 액세스 및 Amazon EC2에서 실행되는 애플리케이션에 유용합니다. 자세한 내용은 *IAM 사용 설명서*의 [교차 계정 리소스 액세스](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)를 참조하세요.

## 정책을 사용하여 액세스 관리
<a name="security_iam_access-manage"></a>

정책을 AWS 생성하고 자격 증명 또는 리소스에 연결하여 AWS 에서 액세스를 제어합니다. 정책은 자격 증명 또는 리소스와 연결될 때 권한을 정의합니다.는 보안 주체가 요청할 때 이러한 정책을 AWS 평가합니다. 대부분의 정책은에 JSON 문서 AWS 로 저장됩니다. JSON 정책 문서에 대한 자세한 내용은 *IAM 사용 설명서*의 [JSON 정책 개요](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) 섹션을 참조하세요.

정책을 사용하여 관리자는 어떤 **보안 주체**가 어떤 **리소스**에 대해 어떤 **조건**에서 **작업**을 수행할 수 있는지 정의하여 누가 무엇을 액세스할 수 있는지 지정합니다.

기본적으로 사용자 및 역할에는 어떠한 권한도 없습니다. IAM 관리자는 IAM 정책을 생성하고 사용자가 수임할 수 있는 역할에 추가합니다. IAM 정책은 작업을 수행하기 위해 사용하는 방법과 관계없이 작업에 대한 권한을 정의합니다.

### ID 기반 정책
<a name="security_iam_access-manage-id-based-policies"></a>

ID 기반 정책은 ID(사용자, 사용자 그룹 또는 역할)에 연결하는 JSON 권한 정책 문서입니다. 이러한 정책은 자격 증명이 수행할 수 있는 작업, 대상 리소스 및 이에 관한 조건을 제어합니다. ID 기반 정책을 생성하는 방법을 알아보려면 *IAM 사용 설명서*에서 [고객 관리형 정책으로 사용자 지정 IAM 권한 정의](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)를 참조하세요.

ID 기반 정책은 *인라인 정책*(단일 ID에 직접 포함) 또는 *관리형 정책*(여러 ID에 연결된 독립 실행형 정책)일 수 있습니다. 관리형 정책 또는 인라인 정책을 선택하는 방법을 알아보려면 *IAM 사용 설명서*의 [관리형 정책 및 인라인 정책 중에서 선택](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) 섹션을 참조하세요.

### 리소스 기반 정책
<a name="security_iam_access-manage-resource-based-policies"></a>

리소스 기반 정책은 리소스에 연결하는 JSON 정책 설명서입니다. 예를 들어 IAM *역할 신뢰 정책* 및 Amazon S3 *버킷 정책*이 있습니다. 리소스 기반 정책을 지원하는 서비스에서 서비스 관리자는 이러한 정책을 사용하여 특정 리소스에 대한 액세스를 통제할 수 있습니다. 리소스 기반 정책에서 [보안 주체를 지정](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)해야 합니다.

리소스 기반 정책은 해당 서비스에 있는 인라인 정책입니다. 리소스 기반 정책에서는 IAM의 AWS 관리형 정책을 사용할 수 없습니다.

### 액세스 제어 목록(ACL)
<a name="security_iam_access-manage-acl"></a>

액세스 제어 목록(ACL)은 어떤 위탁자(계정 멤버, 사용자 또는 역할)가 리소스에 액세스할 수 있는 권한을 가지고 있는지를 제어합니다. ACL은 JSON 정책 문서 형식을 사용하지 않지만 리소스 기반 정책과 유사합니다.

Amazon S3 AWS WAF및 Amazon VPC는 ACLs. ACL에 관한 자세한 내용은 *Amazon Simple Storage Service 개발자 가이드*의 [액세스 제어 목록(ACL) 개요](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html)를 참조하세요.

### 기타 정책 타입
<a name="security_iam_access-manage-other-policies"></a>

AWS 는 보다 일반적인 정책 유형에서 부여한 최대 권한을 설정할 수 있는 추가 정책 유형을 지원합니다.
+ **권한 경계** - ID 기반 정책에서 IAM 엔터티에 부여할 수 있는 최대 권한을 설정합니다. 자세한 정보는 *IAM 사용 설명서*의 [IAM 엔터티의 권한 범위](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)를 참조하세요.
+ **서비스 제어 정책(SCP)** - AWS Organizations내 조직 또는 조직 단위에 대한 최대 권한을 지정합니다. 자세한 내용은AWS Organizations 사용 설명서의 [서비스 제어 정책](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)을 참조하세요.**
+ **리소스 제어 정책(RCP)** – 계정의 리소스에 사용할 수 있는 최대 권한을 설정합니다. 자세한 내용은 *AWS Organizations 사용 설명서*의 [리소스 제어 정책(RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html)을 참조하세요.
+ **세션 정책** – 역할 또는 페더레이션 사용자에 대해 임시 세션을 프로그래밍 방식으로 생성할 때 파라미터로 전달하는 고급 정책입니다. 자세한 내용은 *IAM 사용 설명서*의 [세션 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)을 참조하세요.

### 여러 정책 유형
<a name="security_iam_access-manage-multiple-policies"></a>

여러 정책 유형이 요청에 적용되는 경우, 결과 권한은 이해하기가 더 복잡합니다. 에서 여러 정책 유형이 관련될 때 요청을 허용할지 여부를 AWS 결정하는 방법을 알아보려면 *IAM 사용 설명서*의 [정책 평가 로직](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)을 참조하세요.

# Amazon SageMaker AI에서 IAM을 사용하는 방법
<a name="security_iam_service-with-iam"></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)에는 해당 리소스를 만드는 동안 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

IAM을 사용하여 SageMaker AI에 대한 액세스를 관리하려면 먼저 어떤 IAM 기능을 SageMaker AI에 사용할 수 있는지를 이해해야 합니다. SageMaker AI 및 기타 AWS 서비스가 IAM과 작동하는 방식을 전체적으로 알아보려면 서비스 승인 참조[AWS 의 IAM으로 작업하는](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_aws-services-that-work-with-iam.html) 서비스를 참조하세요. ** 

**Topics**
+ [Amazon SageMaker AI의 ID 기반 정책](#security_iam_service-with-iam-id-based-policies)
+ [Amazon SageMaker AI 내의 리소스 기반 정책](#security_iam_service-with-iam-resource-based-policies)
+ [Amazon SageMaker AI의 정책 작업](#security_iam_service-with-iam-id-based-policies-actions)
+ [Amazon SageMaker AI의 정책 리소스](#security_iam_service-with-iam-id-based-policies-resources)
+ [Amazon SageMaker AI의 정책 조건 키](#security_iam_service-with-iam-id-based-policies-conditionkeys)
+ [SageMaker AI 태그를 기반으로 권한 부여](#security_iam_service-with-iam-tags)
+ [SageMaker AI IAM 역할](#security_iam_service-with-iam-roles)

## Amazon SageMaker AI의 ID 기반 정책
<a name="security_iam_service-with-iam-id-based-policies"></a>

IAM ID 기반 정책을 사용하면 허용되거나 거부되는 작업과 리소스뿐 아니라 작업이 허용되거나 거부되는 조건을 지정할 수 있습니다. SageMaker AI는 특정 작업, 리소스 및 조건 키를 지원합니다. JSON 정책에서 사용하는 모든 요소에 대해 알아보려면 *Service Authorization Reference*의 [IAM JSON Policy Elements Reference](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_elements.html)를 참조하세요.

## Amazon SageMaker AI 내의 리소스 기반 정책
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**리소스 기반 정책 지원:** 아니요 

리소스 기반 정책은 리소스에 연결하는 JSON 정책 설명서입니다. 리소스 기반 정책의 예제는 IAM *역할 신뢰 정책*과 Amazon S3 *버킷 정책*입니다. 리소스 기반 정책을 지원하는 서비스에서 서비스 관리자는 이러한 정책을 사용하여 특정 리소스에 대한 액세스를 통제할 수 있습니다. 정책이 연결된 리소스의 경우 정책은 지정된 보안 주체가 해당 리소스와 어떤 조건에서 어떤 작업을 수행할 수 있는지를 정의합니다. 리소스 기반 정책에서 [보안 주체를 지정](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)해야 합니다. 보안 주체에는 계정, 사용자, 역할, 페더레이션 사용자 또는 AWS 서비스가 포함될 수 있습니다.

교차 계정 액세스를 활성화하려는 경우, 전체 계정이나 다른 계정의 IAM 엔터티를 리소스 기반 정책의 위탁자로 지정할 수 있습니다. 리소스 기반 정책에 크로스 계정 보안 주체를 추가하는 것은 트러스트 관계 설정의 절반밖에 되지 않는다는 것을 유념하세요. 위탁자와 리소스가 서로 다른 AWS 계정에 있는 경우, 신뢰할 수 있는 계정의 IAM 관리자는 위탁자 엔터티(사용자 또는 역할)에도 리소스 액세스 권한을 부여해야 합니다. 엔터티에 ID 기반 정책을 연결하여 권한을 부여합니다. 하지만 리소스 기반 정책이 동일 계정의 위탁자에 액세스를 부여하는 경우, 추가 자격 증명 기반 정책이 필요하지 않습니다. 자세한 내용은 IAM 사용 설명서**의 [교차 계정 리소스 액세스](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)를 참조하세요.

**참고**  
지원되는 SageMaker AI 리소스를 안전하게 공유하는 데 [AWS Resource Access Manager](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html)를 사용합니다. 공유 가능한 리소스 목록을 찾으려면 [Shareable Amazon SageMaker AI resources](https://docs.aws.amazon.com/ram/latest/userguide/shareable.html#shareable-sagemaker)를 참조하세요.

## Amazon SageMaker AI의 정책 작업
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지 지정할 수 있습니다. 즉, 어떤 **보안 주체**가 어떤 **리소스**와 어떤 **조건**에서 **작업**을 수행할 수 있는지를 지정할 수 있습니다.

JSON 정책의 `Action`요소는 정책에서 액세스를 허용하거나 거부하는 데 사용할 수 있는 작업을 설명합니다. 연결된 작업을 수행할 수 있는 권한을 부여하기 위한 정책에 작업을 포함하세요.

SageMaker AI의 정책 작업은 작업 앞에 `sagemaker:` 접두사를 사용합니다. 예를 들어 누군가에게 SageMaker AI `CreateTrainingJob` API 작업을 통해 SageMaker AI 훈련 작업을 실행하는 권한을 부여하려면 해당 정책에 `sagemaker:CreateTrainingJob` 작업을 포함합니다. 정책 문에는 `Action` 또는 `NotAction` 요소가 포함되어야 합니다. SageMaker AI는 이 서비스로 수행할 수 있는 작업을 설명하는 고유한 작업 세트를 정의합니다.

명령문 하나에 여러 태스크를 지정하려면 다음과 같이 쉼표로 구분합니다.

```
"Action": [
      "sagemaker:action1",
      "sagemaker:action2"
]
```

와일드카드(\$1)를 사용하여 여러 작업을 지정할 수 있습니다. 예를 들어, `Describe`라는 단어로 시작하는 모든 작업을 지정하려면 다음 작업을 포함합니다.

```
"Action": "sagemaker:Describe*"
```



SageMaker AI 작업의 전체 목록을 보려면 *서비스 권한 부여 참조*의 [Actions, resources, and condition keys for Amazon SageMaker AI](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html)를 참조하세요.

## Amazon SageMaker AI의 정책 리소스
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>



**정책 리소스 지원:** 예

관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지 지정할 수 있습니다. 즉, 어떤 **보안 주체**가 어떤 **리소스**와 어떤 **조건**에서 **작업**을 수행할 수 있는지를 지정할 수 있습니다.

`Resource` JSON 정책 요소는 작업이 적용되는 하나 이상의 객체를 지정합니다. 문에는 `Resource`또는 `NotResource`요소가 반드시 추가되어야 합니다. 모범 사례에 따라 [Amazon 리소스 이름(ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)을 사용하여 리소스를 지정합니다. *리소스 수준 권한*이라고 하는 특정 리소스 유형을 지원하는 작업에 대해 이를 수행할 수 있습니다.

작업 나열과 같이 리소스 수준 권한을 지원하지 않는 작업의 경우, 와일드카드(\$1)를 사용하여 해당 문이 모든 리소스에 적용됨을 나타냅니다.

```
"Resource":  "*"
```

Amazon SageMaker AI 리소스 유형 및 해당 ARN의 목록을 보려면 *서비스 권한 부여 참조*에서 Amazon SageMaker AI에서 정의한 작업, 리소스 유형 및 조건 키에 대한 다음 참조 자료를 참조하세요.
+ [Amazon SageMaker AI](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html)
+ [Amazon SageMaker 지리 공간 기능](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemakergeospatialcapabilities.html)
+ [Amazon SageMaker Ground Truth Synthetic](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemakergroundtruthsynthetic.html)
+ [MLflow가 탑재된 Amazon SageMaker AI](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemakerwithmlflow.html)

각 리소스의 ARN을 지정할 수 있는 작업을 알아보려면 [Actions defined by Amazon SageMaker AI](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-actions-as-permissions)를 참조하세요.

## Amazon SageMaker AI의 정책 조건 키
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지 지정할 수 있습니다. 즉, 어떤 **보안 주체**가 어떤 **리소스**와 어떤 **조건**에서 **작업**을 수행할 수 있는지를 지정할 수 있습니다.

`Condition` 요소는 정의된 기준에 따라 문이 실행되는 시기를 지정합니다. 같음(equals) 또는 미만(less than)과 같은 [조건 연산자](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)를 사용하여 정책의 조건을 요청의 값과 일치시키는 조건식을 생성할 수 있습니다. 모든 AWS 전역 조건 키를 보려면 *IAM 사용 설명서*의 [AWS 전역 조건 컨텍스트 키를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) 참조하세요.

SageMaker AI에서는 자체 조건 키 집합을 정의하고 일부 전역 조건 키 사용도 지원합니다. 모든 AWS 전역 조건 키를 보려면 *서비스 승인* 참조의 [AWS 전역 조건 컨텍스트 키를 참조하세요](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_condition-keys.html).



SageMaker AI는 다음 작업에 대한 세분화된 액세스 제어에 사용할 수 있는 여러 서비스 별 조건 키를 지원합니다.
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html)

Amazon SageMaker AI 조건 키 목록을 보려면 *서비스 권한 부여 참조*의 [Amazon SageMaker에 사용되는 조건 키](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-policy-keys)를 참조하세요. 조건 키를 사용할 수 있는 작업과 리소스를 알아보려면 [Actions defined by Amazon SageMaker AI](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-actions-as-permissions)를 참조하세요.

SageMaker AI 조건 키를 사용하는 예시는 [조건 키를 사용하여 SageMaker AI 리소스 만들기 제어](security_iam_id-based-policy-examples.md#sagemaker-condition-examples) 섹션을 참조하세요.

### 예제
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



SageMaker AI ID 기반 정책의 예를 보려면 [Amazon SageMaker AI ID 기반 정책 예시](security_iam_id-based-policy-examples.md) 섹션을 참조하세요.

## SageMaker AI 태그를 기반으로 권한 부여
<a name="security_iam_service-with-iam-tags"></a>

태그를 SageMaker AI 리소스에 연결하거나 요청을 통해 태그를 SageMaker AI에 전달할 수 있습니다. 태그에 근거하여 액세스를 제어하려면 `sagemaker:ResourceTag/key-name`, `aws:RequestTag/key-name`또는 `aws:TagKeys`조건 키를 사용하여 정책의 [조건 요소](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_elements_condition.html)에 태그 정보를 제공합니다. SageMaker AI 리소스 태그 지정에 대한 자세한 내용은 [태그를 사용하여 SageMaker AI 리소스에 대한 액세스 제어](security_iam_id-based-policy-examples.md#access-tag-policy) 섹션을 참조하세요.

리소스의 태그를 기반으로 리소스에 대한 액세스를 제한하는 자격 증명 기반 정책의 예시는 [태그를 사용하여 SageMaker AI 리소스에 대한 액세스 제어](security_iam_id-based-policy-examples.md#access-tag-policy)에서 확인할 수 있습니다.

## SageMaker AI IAM 역할
<a name="security_iam_service-with-iam-roles"></a>

[IAM 역할은](https://docs.aws.amazon.com/service-authorization/latest/reference/id_roles.html) 특정 권한이 있는 AWS 계정 내 엔터티입니다.

### SageMaker AI에서 임시 자격 증명 사용
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

임시 보안 인증을 사용하여 페더레이션을 통해 로그인하거나, IAM 역할을 맡거나, 교차 계정 역할을 맡을 수 있습니다. [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) 또는 [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)과 같은 AWS STS API 작업을 호출하여 임시 보안 자격 증명을 얻습니다.

SageMaker AI는 임시 자격 증명 사용을 지원합니다.

### 서비스 연결 역할
<a name="security_iam_service-with-iam-roles-service-linked"></a>

SageMaker AI는 [서비스 연결 역할](https://docs.aws.amazon.com/service-authorization/latest/reference/id_roles_terms-and-concepts.html#iam-term-service-linked-role)을 부분적으로 지원합니다. 서비스 연결 역할은 현재 SageMaker Studio Classic에 사용할 수 있습니다.

### 서비스 역할
<a name="security_iam_service-with-iam-roles-service"></a>

이 기능을 사용하면 서비스가 사용자를 대신하여 [서비스 역할](https://docs.aws.amazon.com/service-authorization/latest/reference/id_roles_terms-and-concepts.html#iam-term-service-role)을 수임할 수 있습니다. 이 역할을 사용하면 서비스가 다른 서비스의 리소스에 액세스해 사용자를 대신해 작업을 완료할 수 있습니다. 서비스 역할은 IAM 계정에 나타나고, 해당 계정이 소유합니다. 즉, IAM 관리자가 이 역할에 대한 권한을 변경할 수 있습니다. 그러나 권한을 변경하면 서비스의 기능이 손상될 수 있습니다.

SageMaker AI는 서비스 역할을 지원합니다.

### SageMaker AI에서 IAM 역할 선택
<a name="security_iam_service-with-iam-roles-choose"></a>

SageMaker AI에서 노트북 인스턴스, 처리 작업, 훈련 작업, 호스트 엔드포인트 또는 배치 변환 작업 리소스를 생성할 때 SageMaker AI가 사용자 대신 SageMaker AI에 액세스할 수 있는 역할을 선택해야 합니다. 이전에 서비스 역할 또는 서비스 연결 역할을 생성한 경우 SageMaker AI는 선택할 수 있는 역할 목록을 제공합니다. 필요한 AWS 작업 및 리소스에 액세스할 수 있는 역할을 선택하는 것이 중요합니다. 자세한 내용은 [SageMaker AI 실행 역할을 사용하는 방법](sagemaker-roles.md) 단원을 참조하십시오.

# Amazon SageMaker AI ID 기반 정책 예시
<a name="security_iam_id-based-policy-examples"></a>

기본적으로 IAM 사용자 및 역할은 SageMaker AI 리소스를 생성하거나 수정할 수 있는 권한이 없습니다. 또한 AWS Management Console AWS CLI또는 AWS API를 사용하여 작업을 수행할 수 없습니다. IAM 관리자는 지정된 리소스에서 특정 API 작업을 수행할 수 있는 권한을 사용자와 역할에게 부여하는 IAM 정책을 생성해야 합니다. 그런 다음 관리자는 해당 권한이 필요한 IAM 사용자 또는 그룹에 이러한 정책을 연결해야 합니다. IAM 사용자 또는 그룹에 정책을 연결하는 방법을 알아보려면 *Service Authorization Reference*의 [Adding and Removing IAM Identity Permissions](https://docs.aws.amazon.com/service-authorization/latest/reference/access_policies_manage-attach-detach.html)을 참조하세요.

이러한 예시 JSON 정책 문서를 사용하여 IAM ID 기반 정책을 만드는 방법을 알아보려면 [Creating Policies on the JSON Tab](https://docs.aws.amazon.com/service-authorization/latest/reference/access_policies_create.html#access_policies_create-json-editor)을 참조하세요.

**Topics**
+ [정책 모범 사례](#security_iam_service-with-iam-policy-best-practices)
+ [SageMaker AI 콘솔 사용](#security_iam_id-based-policy-examples-console)
+ [사용자가 자신의 고유한 권한을 볼 수 있도록 허용](#security_iam_id-based-policy-examples-view-own-permissions)
+ [조건 키를 사용하여 SageMaker AI 리소스 만들기 제어](#sagemaker-condition-examples)
+ [ID 기반 정책을 사용하여 SageMaker AI API에 대한 액세스 제어](#api-access-policy)
+ [IP 주소 기준으로 SageMaker AI API 및 런타임 직접 호출에 대한 액세스 제한](#api-ip-filter)
+ [IP 주소를 기준으로 노트북 인스턴스에 대한 액세스 제한](#nbi-ip-filter)
+ [태그를 사용하여 SageMaker AI 리소스에 대한 액세스 제어](#access-tag-policy)
+ [SageMaker AI 리소스 태그 지정을 위한 권한 제공](#grant-tagging-permissions)
+ [가시성 조건으로 검색 가능한 리소스에 대한 액세스 제한](#limit-access-to-searchable-resources)

## 정책 모범 사례
<a name="security_iam_service-with-iam-policy-best-practices"></a>

ID 기반 정책에 따라 계정에서 사용자가 SageMaker AI 리소스를 생성, 액세스 또는 삭제할 수 있는지 여부가 결정됩니다. 이 작업으로 인해 AWS 계정에 비용이 발생할 수 있습니다. ID 기반 정책을 생성하거나 편집할 때는 다음 지침과 권장 사항을 따르세요.
+ ** AWS 관리형 정책을 시작하고 최소 권한으로 전환 -** 사용자 및 워크로드에 권한 부여를 시작하려면 많은 일반적인 사용 사례에 대한 권한을 부여하는 *AWS 관리형 정책을* 사용합니다. 에서 사용할 수 있습니다 AWS 계정. 사용 사례에 맞는 AWS 고객 관리형 정책을 정의하여 권한을 추가로 줄이는 것이 좋습니다. 자세한 내용은 *IAM 사용 설명서*의 [AWS 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) 또는 [AWS 직무에 대한 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)을 참조하세요.
+ **최소 권한 적용** – IAM 정책을 사용하여 권한을 설정하는 경우, 작업을 수행하는 데 필요한 권한만 부여합니다. 이렇게 하려면 *최소 권한*으로 알려진 특정 조건에서 특정 리소스에 대해 수행할 수 있는 작업을 정의합니다. IAM을 사용하여 권한을 적용하는 방법에 대한 자세한 정보는 *IAM 사용 설명서*에 있는 [IAM의 정책 및 권한](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)을 참조하세요.
+ **IAM 정책의 조건을 사용하여 액세스 추가 제한** – 정책에 조건을 추가하여 작업 및 리소스에 대한 액세스를 제한할 수 있습니다. 예를 들어, SSL을 사용하여 모든 요청을 전송해야 한다고 지정하는 정책 조건을 작성할 수 있습니다. AWS 서비스와 같은 특정를 통해 사용되는 경우 조건을 사용하여 서비스 작업에 대한 액세스 권한을 부여할 수도 있습니다 CloudFormation. 자세한 내용은 *IAM 사용 설명서*의 [IAM JSON 정책 요소: 조건](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)을 참조하세요.
+ **IAM Access Analyzer를 통해 IAM 정책을 확인하여 안전하고 기능적인 권한 보장** - IAM Access Analyzer에서는 IAM 정책 언어(JSON)와 모범 사례가 정책에서 준수되도록 새로운 및 기존 정책을 확인합니다. IAM Access Analyzer는 100개 이상의 정책 확인 항목과 실행 가능한 추천을 제공하여 안전하고 기능적인 정책을 작성하도록 돕습니다. 자세한 내용은 *IAM 사용 설명서*의 [IAM Access Analyzer에서 정책 검증](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)을 참조하세요.
+ **다중 인증(MFA) 필요 -**에서 IAM 사용자 또는 루트 사용자가 필요한 시나리오가 있는 경우 추가 보안을 위해 MFA를 AWS 계정켭니다. API 작업을 직접적으로 호출할 때 MFA가 필요하면 정책에 MFA 조건을 추가합니다. 자세한 내용은 *IAM 사용 설명서*의 [MFA를 통한 보안 API 액세스](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)를 참조하세요.

IAM의 모범 사례에 대한 자세한 내용은 *IAM 사용 설명서*의 [IAM의 보안 모범 사례](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)를 참조하세요.

## SageMaker AI 콘솔 사용
<a name="security_iam_id-based-policy-examples-console"></a>

Amazon SageMaker AI 콘솔에 액세스하려면 최소한의 권한 집합이 있어야 합니다. 이러한 권한은 AWS 계정의 SageMaker AI 리소스에 대한 세부 정보를 나열하고 볼 수 있도록 허용해야 합니다. 최소 필수 권한보다 더 제한적인 ID 기반 정책을 만들면 콘솔이 해당 정책에 연결된 엔터티에 대해 제대로 작동하지 않습니다. 여기에는 해당 정책의 사용자 또는 역할이 포함됩니다.

이러한 엔터티가 SageMaker AI 콘솔을 계속 사용할 수 있도록 하려면 다음 AWS 관리형 정책도 엔터티에 연결해야 합니다. 자세한 내용은 *Service Authorization Reference*의 [Adding Permissions to a User](https://docs.aws.amazon.com/service-authorization/latest/reference/id_users_change-permissions.html#users_change_permissions-add-console)를 참조하세요.

 AWS CLI 또는 AWS API만 호출하는 사용자에게는 최소 콘솔 권한을 허용할 필요가 없습니다. 그 대신 수행하려는 API 작업과 일치하는 작업에만 액세스할 수 있도록 합니다.

**Topics**
+ [Amazon SageMaker AI 콘솔 사용에 필요한 권한](#console-permissions)
+ [Amazon SageMaker Ground Truth 콘솔 사용에 필요한 권한](#groundtruth-console-policy)
+ [Amazon Augmented AI(미리 보기) 콘솔 사용에 필요한 권한](#amazon-augmented-ai-console-policy)

### Amazon SageMaker AI 콘솔 사용에 필요한 권한
<a name="console-permissions"></a>

권한 참조 표에 Amazon SageMaker AI API 작업과 각 작업에 필요한 권한이 나열되어 있습니다. Amazon SageMaker AI API 작업에 대한 자세한 내용은 [Amazon SageMaker AI API 권한: 작업, 권한 및 리소스 참조](api-permissions-reference.md) 섹션을 참조하세요.

Amazon SageMaker AI 콘솔을 사용하려면 추가 작업에 대한 권한을 부여해야 합니다. 특히 콘솔의 경우 `ec2`작업을 통해 서브넷, VPC 및 보안 그룹을 표시하는 권한이 필요합니다. 선택적으로, 콘솔에는 `CreateNotebook`, `CreateTrainingJob`및 `CreateModel`등의 작업에 대한 실행 역할을 생성할 수 있는 권한이 필요합니다.** 다음 권한 정책으로 이러한 권한을 부여합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
          "Sid": "SageMakerApis",
          "Effect": "Allow",
          "Action": [
            "sagemaker:*"
          ],
          "Resource": "*"
        },
        {
          "Sid": "VpcConfigurationForCreateForms",
          "Effect": "Allow",
          "Action": [
            "ec2:DescribeVpcs",
            "ec2:DescribeSubnets",
            "ec2:DescribeSecurityGroups"
          ],
          "Resource": "*"
        },
        {
            "Sid":"KmsKeysForCreateForms",
            "Effect":"Allow",
            "Action":[
              "kms:DescribeKey",
              "kms:ListAliases"
            ],
            "Resource":"*"
        },
        {
          "Sid": "AccessAwsMarketplaceSubscriptions",
          "Effect": "Allow",
          "Action": [
            "aws-marketplace:ViewSubscriptions"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "codecommit:BatchGetRepositories",
            "codecommit:CreateRepository",
            "codecommit:GetRepository",
            "codecommit:ListRepositories",
            "codecommit:ListBranches",
            "secretsmanager:CreateSecret",
            "secretsmanager:DescribeSecret",
            "secretsmanager:ListSecrets"
          ],
          "Resource": "*"
        },
        {
          "Sid":"ListAndCreateExecutionRoles",
          "Effect":"Allow",
          "Action":[
            "iam:ListRoles",
            "iam:CreateRole",
            "iam:CreatePolicy",
            "iam:AttachRolePolicy"
          ],
          "Resource":"*"
        },
        {
          "Sid": "DescribeECRMetaData",
          "Effect": "Allow",
          "Action": [
              "ecr:Describe*"
          ],
          "Resource": "*"
        },
        {
          "Sid": "PassRoleForExecutionRoles",
          "Effect": "Allow",
          "Action": [
            "iam:PassRole"
          ],
          "Resource": "*",
          "Condition": {
            "StringEquals": {
                "iam:PassedToService": "sagemaker.amazonaws.com"
            }
          }
        }
    ]
}
```

------



### Amazon SageMaker Ground Truth 콘솔 사용에 필요한 권한
<a name="groundtruth-console-policy"></a>

Amazon SageMaker Ground Truth 콘솔을 사용하려면 추가 리소스에 대한 권한을 부여해야 합니다. 콘솔에는 구체적으로 다음에 대한 권한이 필요합니다.
+ 구독을 볼 AWS Marketplace
+ 프라이빗 인력을 관리하기 위한 Amazon Cognito 작업
+ 입력 및 출력 파일에 액세스하기 위한 Amazon S3 작업
+ AWS Lambda 함수를 나열하고 호출하는 작업

다음 권한 정책으로 이러한 권한을 부여합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GroundTruthConsole",
            "Effect": "Allow",
            "Action": [
                "aws-marketplace:ViewSubscriptions",

                "cognito-idp:AdminAddUserToGroup",
                "cognito-idp:AdminCreateUser",
                "cognito-idp:AdminDeleteUser",
                "cognito-idp:AdminDisableUser",
                "cognito-idp:AdminEnableUser",
                "cognito-idp:AdminRemoveUserFromGroup",
                "cognito-idp:CreateGroup",
                "cognito-idp:CreateUserPool",
                "cognito-idp:CreateUserPoolClient",
                "cognito-idp:CreateUserPoolDomain",
                "cognito-idp:DescribeUserPool",
                "cognito-idp:DescribeUserPoolClient",
                "cognito-idp:ListGroups",
                "cognito-idp:ListIdentityProviders",
                "cognito-idp:ListUsers",
                "cognito-idp:ListUsersInGroup",
                "cognito-idp:ListUserPoolClients",
                "cognito-idp:ListUserPools",
                "cognito-idp:UpdateUserPool",
                "cognito-idp:UpdateUserPoolClient",

                "groundtruthlabeling:DescribeConsoleJob",
                "groundtruthlabeling:ListDatasetObjects",
                "groundtruthlabeling:RunGenerateManifestByCrawlingJob",

                "lambda:InvokeFunction",
                "lambda:ListFunctions",

                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### Amazon Augmented AI(미리 보기) 콘솔 사용에 필요한 권한
<a name="amazon-augmented-ai-console-policy"></a>

Augmented AI 콘솔을 사용하려면 추가 리소스에 대한 권한을 부여해야 합니다. 다음 권한 정책으로 이러한 권한을 부여합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:*Algorithm",
                "sagemaker:*Algorithms",
                "sagemaker:*App",
                "sagemaker:*Apps",
                "sagemaker:*AutoMLJob",
                "sagemaker:*AutoMLJobs",
                "sagemaker:*CodeRepositories",
                "sagemaker:*CodeRepository",
                "sagemaker:*CompilationJob",
                "sagemaker:*CompilationJobs",
                "sagemaker:*Endpoint",
                "sagemaker:*EndpointConfig",
                "sagemaker:*EndpointConfigs",
                "sagemaker:*EndpointWeightsAndCapacities",
                "sagemaker:*Endpoints",
                "sagemaker:*Experiment",
                "sagemaker:*Experiments",
                "sagemaker:*FlowDefinitions",
                "sagemaker:*HumanLoop",
                "sagemaker:*HumanLoops",
                "sagemaker:*HumanTaskUi",
                "sagemaker:*HumanTaskUis",
                "sagemaker:*HyperParameterTuningJob",
                "sagemaker:*HyperParameterTuningJobs",
                "sagemaker:*LabelingJob",
                "sagemaker:*LabelingJobs",
                "sagemaker:*Metrics",
                "sagemaker:*Model",
                "sagemaker:*ModelPackage",
                "sagemaker:*ModelPackages",
                "sagemaker:*Models",
                "sagemaker:*MonitoringExecutions",
                "sagemaker:*MonitoringSchedule",
                "sagemaker:*MonitoringSchedules",
                "sagemaker:*NotebookInstance",
                "sagemaker:*NotebookInstanceLifecycleConfig",
                "sagemaker:*NotebookInstanceLifecycleConfigs",
                "sagemaker:*NotebookInstanceUrl",
                "sagemaker:*NotebookInstances",
                "sagemaker:*ProcessingJob",
                "sagemaker:*ProcessingJobs",
                "sagemaker:*RenderUiTemplate",
                "sagemaker:*Search",
                "sagemaker:*SearchSuggestions",
                "sagemaker:*Tags",
                "sagemaker:*TrainingJob",
                "sagemaker:*TrainingJobs",
                "sagemaker:*TransformJob",
                "sagemaker:*TransformJobs",
                "sagemaker:*Trial",
                "sagemaker:*TrialComponent",
                "sagemaker:*TrialComponents",
                "sagemaker:*Trials",
                "sagemaker:*Workteam",
                "sagemaker:*Workteams"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:*FlowDefinition"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIfExists": {
                    "sagemaker:WorkteamType": [
                        "private-crowd",
                        "vendor-crowd"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "application-autoscaling:DeleteScalingPolicy",
                "application-autoscaling:DeleteScheduledAction",
                "application-autoscaling:DeregisterScalableTarget",
                "application-autoscaling:DescribeScalableTargets",
                "application-autoscaling:DescribeScalingActivities",
                "application-autoscaling:DescribeScalingPolicies",
                "application-autoscaling:DescribeScheduledActions",
                "application-autoscaling:PutScalingPolicy",
                "application-autoscaling:PutScheduledAction",
                "application-autoscaling:RegisterScalableTarget",
                "aws-marketplace:ViewSubscriptions",
                "cloudwatch:DeleteAlarms",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:GetMetricData",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics",
                "cloudwatch:PutMetricAlarm",
                "cloudwatch:PutMetricData",
                "codecommit:BatchGetRepositories",
                "codecommit:CreateRepository",
                "codecommit:GetRepository",
                "codecommit:ListBranches",
                "codecommit:ListRepositories",
                "cognito-idp:AdminAddUserToGroup",
                "cognito-idp:AdminCreateUser",
                "cognito-idp:AdminDeleteUser",
                "cognito-idp:AdminDisableUser",
                "cognito-idp:AdminEnableUser",
                "cognito-idp:AdminRemoveUserFromGroup",
                "cognito-idp:CreateGroup",
                "cognito-idp:CreateUserPool",
                "cognito-idp:CreateUserPoolClient",
                "cognito-idp:CreateUserPoolDomain",
                "cognito-idp:DescribeUserPool",
                "cognito-idp:DescribeUserPoolClient",
                "cognito-idp:ListGroups",
                "cognito-idp:ListIdentityProviders",
                "cognito-idp:ListUserPoolClients",
                "cognito-idp:ListUserPools",
                "cognito-idp:ListUsers",
                "cognito-idp:ListUsersInGroup",
                "cognito-idp:UpdateUserPool",
                "cognito-idp:UpdateUserPoolClient",
                "ec2:CreateNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:CreateVpcEndpoint",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeVpcs",
                "ecr:BatchCheckLayerAvailability",
                "ecr:BatchGetImage",
                "ecr:CreateRepository",
                "ecr:Describe*",
                "ecr:GetAuthorizationToken",
                "ecr:GetDownloadUrlForLayer",
                "elasticfilesystem:DescribeFileSystems",
                "elasticfilesystem:DescribeMountTargets",
                "fsx:DescribeFileSystems",
                "glue:CreateJob",
                "glue:DeleteJob",
                "glue:GetJob",
                "glue:GetJobRun",
                "glue:GetJobRuns",
                "glue:GetJobs",
                "glue:ResetJobBookmark",
                "glue:StartJobRun",
                "glue:UpdateJob",
                "groundtruthlabeling:*",
                "iam:ListRoles",
                "kms:DescribeKey",
                "kms:ListAliases",
                "lambda:ListFunctions",
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:DescribeLogGroups",
                "logs:DescribeLogStreams",
                "logs:GetLogEvents",
                "logs:PutLogEvents",
                "sns:ListTopics"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:DescribeResourcePolicies",
                "logs:GetLogDelivery",
                "logs:ListLogDeliveries",
                "logs:PutResourcePolicy",
                "logs:UpdateLogDelivery"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:SetRepositoryPolicy",
                "ecr:CompleteLayerUpload",
                "ecr:BatchDeleteImage",
                "ecr:UploadLayerPart",
                "ecr:DeleteRepositoryPolicy",
                "ecr:InitiateLayerUpload",
                "ecr:DeleteRepository",
                "ecr:PutImage"
            ],
            "Resource": "arn:aws:ecr:*:*:repository/*sagemaker*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "codecommit:GitPull",
                "codecommit:GitPush"
            ],
            "Resource": [
                "arn:aws:codecommit:*:*:*sagemaker*",
                "arn:aws:codecommit:*:*:*SageMaker*",
                "arn:aws:codecommit:*:*:*Sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:ListSecrets"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue",
                "secretsmanager:CreateSecret"
            ],
            "Resource": [
                "arn:aws:secretsmanager:*:*:secret:AmazonSageMaker-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "secretsmanager:ResourceTag/SageMaker": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "robomaker:CreateSimulationApplication",
                "robomaker:DescribeSimulationApplication",
                "robomaker:DeleteSimulationApplication"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "robomaker:CreateSimulationJob",
                "robomaker:DescribeSimulationJob",
                "robomaker:CancelSimulationJob"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload",
                "s3:GetBucketCors",
                "s3:PutBucketCors"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*",
                "arn:aws:s3:::*aws-glue*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/SageMaker": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction"
            ],
            "Resource": [
                "arn:aws:lambda:*:*:function:*SageMaker*",
                "arn:aws:lambda:*:*:function:*sagemaker*",
                "arn:aws:lambda:*:*:function:*Sagemaker*",
                "arn:aws:lambda:*:*:function:*LabelingFunction*"
            ]
        },
        {
            "Action": "iam:CreateServiceLinkedRole",
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "sagemaker.application-autoscaling.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:AWSServiceName": "robomaker.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "sns:Subscribe",
                "sns:CreateTopic"
            ],
            "Resource": [
                "arn:aws:sns:*:*:*SageMaker*",
                "arn:aws:sns:*:*:*Sagemaker*",
                "arn:aws:sns:*:*:*sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "sagemaker.amazonaws.com",
                        "glue.amazonaws.com",
                        "robomaker.amazonaws.com",
                        "states.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## 사용자가 자신의 고유한 권한을 볼 수 있도록 허용
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

이 예제는 IAM 사용자가 자신의 사용자 ID에 연결된 인라인 및 관리형 정책을 볼 수 있도록 허용하는 정책을 생성하는 방법을 보여줍니다. 이 정책에는 콘솔에서 또는 AWS CLI 또는 AWS API를 사용하여 프로그래밍 방식으로이 작업을 완료할 수 있는 권한이 포함됩니다.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## 조건 키를 사용하여 SageMaker AI 리소스 만들기 제어
<a name="sagemaker-condition-examples"></a>

SageMaker AI 고유의 조건 키를 사용하여 SageMaker AI 리소스를 생성할 수 있도록 세분화된 액세스를 제어합니다. IAM 정책의 조건 키 사용 방법에 대한 자세한 내용은 IAM 사용 설명서의 [IAM JSON 정책 요소: 조건](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_elements_condition.html)을 참조하세요.**

조건 키, 관련 API 작업 및 관련 문서 링크는 *서비스 권한 부여 참조*의 [Condition Keys for SageMaker AI](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-policy-keys)에 나열되어 있습니다.

다음 예는 SageMaker AI 조건 키를 사용하여 액세스를 제어하는 방법을 보여줍니다.

**Topics**
+ [파일 시스템 조건 키를 사용하여 SageMaker AI 리소스에 대한 액세스 제어](#access-fs-condition-keys)
+ [훈련을 특정 VPC로 제한](#sagemaker-condition-vpc)
+ [Ground Truth 레이블 지정 작업 및 Amazon A2I 인간 검토 워크플로의 인력 유형에 대한 액세스 제한](#sagemaker-condition-keys-labeling)
+ [입력 데이터의 암호화 적용](#sagemaker-condition-kms)
+ [훈련 작업에 네트워크 격리 적용](#sagemaker-condition-isolation)
+ [훈련 작업에 특정 인스턴스 유형 적용](#sagemaker-condition-instance)
+ [노트북 인스턴스 만들기에 인터넷 액세스 및 루트 액세스 비활성화 적용](#sagemaker-condition-nbi-lockdown)

### 파일 시스템 조건 키를 사용하여 SageMaker AI 리소스에 대한 액세스 제어
<a name="access-fs-condition-keys"></a>

SageMaker AI 훈련은 훈련 알고리즘을 실행할 수 있는 안전한 인프라를 제공하지만 경우에 따라 심층 방어를 강화할 수 있습니다. 예를 들어, 알고리즘에서 신뢰할 수 없는 코드를 실행할 위험을 최소화하거나 조직에 특정 보안 권한이 있습니다. 이러한 시나리오의 경우 IAM 정책의 조건 요소에 있는 서비스별 조건 키를 사용하여 사용자의 권한 범위를 다음으로 좁힐 수 있습니다.
+ 특정 파일 시스템
+ 디렉터리
+ 액세스 모드(읽기-쓰기, 읽기 전용)
+ 보안 그룹

**Topics**
+ [IAM 사용자를 특정 디렉터리 및 액세스 모드로 제한](#access-fs-condition-keys-ex-dirs)
+ [사용자를 특정 파일 시스템으로 제한](#access-fs-condition-keys-ex-fs)

#### IAM 사용자를 특정 디렉터리 및 액세스 모드로 제한
<a name="access-fs-condition-keys-ex-dirs"></a>

다음 정책은 사용자를 EFS 파일 시스템의 `/sagemaker/xgboost-dm/train` 및 `/sagemaker/xgboost-dm/validation` 디렉터리로 제한하고 `ro`(읽기 전용) AccessMode로 제한합니다.

**참고**  
디렉터리가 허용되면 훈련 알고리즘을 통해 모든 하위 디렉터리에도 액세스할 수 있습니다. POSIX 권한은 무시됩니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AccessToElasticFileSystem",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateHyperParameterTuningJob"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:FileSystemId": "fs-12345678",
                    "sagemaker:FileSystemAccessMode": "ro",
                    "sagemaker:FileSystemType": "EFS",
                    "sagemaker:FileSystemDirectoryPath": "/sagemaker/xgboost-dm/train"
                }
            }
        },
        {
            "Sid": "AccessToElasticFileSystemValidation",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateHyperParameterTuningJob"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:FileSystemId": "fs-12345678",
                    "sagemaker:FileSystemAccessMode": "ro",
                    "sagemaker:FileSystemType": "EFS",
                    "sagemaker:FileSystemDirectoryPath": "/sagemaker/xgboost-dm/validation"
                }
            }
        }
    ]
}
```

------

#### 사용자를 특정 파일 시스템으로 제한
<a name="access-fs-condition-keys-ex-fs"></a>

사용자 공간 클라이언트를 사용하는 악의적인 알고리즘이 계정의 파일 시스템에 직접 액세스하지 못하도록 하려면 네트워킹 트래픽을 제한할 수 있습니다. 이 트래픽을 제한하려면 특정 보안 그룹에서만 수신을 허용하세요. 다음 예에서 사용자는 지정된 보안 그룹만 사용하여 파일 시스템에 액세스할 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AccessToLustreFileSystem",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateHyperParameterTuningJob"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:FileSystemId": "fs-12345678",
                    "sagemaker:FileSystemAccessMode": "ro",
                    "sagemaker:FileSystemType": "FSxLustre",
                    "sagemaker:FileSystemDirectoryPath": "/fsx/sagemaker/xgboost/train"
                },
                "ForAllValues:StringEquals": {
                    "sagemaker:VpcSecurityGroupIds": [
                        "sg-12345678"
                    ]
                }
            }
        }
    ]
}
```

------

이 예시에서는 알고리즘을 특정 파일 시스템으로 제한할 수 있습니다. 그러나 알고리즘이 사용자 공간 클라이언트를 사용하여 해당 파일 시스템 내의 디렉터리에 액세스하는 것을 막지는 않습니다. 이를 완화하기 위해 다음을 수행할 수 있습니다.
+ 파일 시스템에 사용자가 액세스하도록 신뢰할 수 있는 데이터만 포함되어 있는지 확인하세요.
+ 승인된 ECR 리포지토리의 알고리즘을 사용하여 사용자가 훈련 작업을 시작하도록 제한하는 IAM 역할 생성

SageMaker AI로 역할을 사용하는 방법에 대한 자세한 내용은 [SageMaker AI Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html)을 참조하세요.

### 훈련을 특정 VPC로 제한
<a name="sagemaker-condition-vpc"></a>

 AWS 사용자가 Amazon VPC 내에서 훈련 작업을 생성하도록 제한합니다. VPC 내에서 훈련 작업이 만들어지면 VPC 흐름 로그를 사용하여 훈련 클러스터를 오가는 모든 트래픽을 모니터링할 수 있습니다. VPC 플로우 로그 사용에 대한 자세한 내용은 Amazon Virtual Private Cloud 사용 설명서의 [VPC 플로우 로그](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)를 참조하세요.**

다음 정책을 사용하면 VPC 내에서 사용자가 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)을 호출하여 훈련 작업을 생성할 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowFromVpc",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateHyperParameterTuningJob"
            ],
            "Resource": "*",
            "Condition": {
                "ForAllValues:StringEquals": {
                    "sagemaker:VpcSubnets": ["subnet-a1234"],
                    "sagemaker:VpcSecurityGroupIds": ["sg12345", "sg-67890"]
                },
                "Null": {
                    "sagemaker:VpcSubnets": "false",
                    "sagemaker:VpcSecurityGroupIds": "false"
                }
            }
        }

    ]
}
```

------

### Ground Truth 레이블 지정 작업 및 Amazon A2I 인간 검토 워크플로의 인력 유형에 대한 액세스 제한
<a name="sagemaker-condition-keys-labeling"></a>

Amazon SageMaker Ground Truth 및 Amazon Augmented AI 작업 팀은 세 가지 [인력 유형](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management.html) 중 하나로 나뉩니다.
+ 퍼블릭(Amazon Mechanical Turk 사용)
+ 비공개
+ 공급업체

이러한 유형 중 하나 또는 작업 팀 ARN을 사용하여 특정 작업 팀에 대한 사용자 액세스를 제한할 수 있습니다. 이를 위해 `sagemaker:WorkteamType` 및/또는 `sagemaker:WorkteamArn` 조건 키를 사용합니다. `sagemaker:WorkteamType` 조건 키의 경우 [문자열 조건 연산자](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String)를 사용합니다. `sagemaker:WorkteamArn` 조건 키의 경우 [Amazon 리소스 이름(ARN) 조건 연산자](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN)를 사용합니다. 사용자가 제한된 작업 팀을 사용하여 레이블링 작업을 생성하려고 하면 SageMaker AI에서 액세스 거부 오류가 반환됩니다.

다음 정책은 적절한 조건 연산자 및 유효한 조건 값과 함께 `sagemaker:WorkteamType` 및 `sagemaker:WorkteamArn` 조건 키를 사용하는 다양한 방법을 보여줍니다.

다음 예제에서는 `sagemaker:WorkteamType`조건 키를 `StringEquals`조건 연산자와 함께 사용하여 퍼블릭 작업 팀에 대한 액세스를 제한합니다. 형식 `workforcetype-crowd`의 조건 값을 수락합니다.여기서 *workforcetype*은 `public`, `private`또는 `vendor`과 같을 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictWorkteamType",
            "Effect": "Deny",
            "Action": "sagemaker:CreateLabelingJob",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:WorkteamType": "public-crowd"
                }
            }
        }
    ]
}
```

------

다음 정책은 `sagemaker:WorkteamArn`조건 키를 사용하여 퍼블릭 작업 팀에 대한 액세스를 제한하는 방법을 보여줍니다. 첫 번째는 이 조건 키를 작업 팀 ARN 및 `ArnLike`조건 연산자의 유효한 IAM 정규식 변형과 함께 사용하는 방법을 보여줍니다. 두 번째는 이를 `ArnEquals`조건 연산자 및 작업 팀 ARN과 함께 사용하는 방법을 보여줍니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictWorkteamType",
            "Effect": "Deny",
            "Action": "sagemaker:CreateLabelingJob",
            "Resource": "*",
            "Condition": {
                "ArnLike": {
                    "sagemaker:WorkteamArn": "arn:aws:sagemaker:*:*:workteam/public-crowd/*"
                }
            }
        }
    ]
}
```

------

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictWorkteamType",
            "Effect": "Deny",
            "Action": "sagemaker:CreateLabelingJob",
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "sagemaker:WorkteamArn": "arn:aws:sagemaker:us-west-2:394669845002:workteam/public-crowd/default"
                }
            }
        }
    ]
}
```

------

 

### 입력 데이터의 암호화 적용
<a name="sagemaker-condition-kms"></a>

다음 정책은 생성 시 `sagemaker:VolumeKmsKey` 조건 AWS KMS 키를 사용하여 입력 데이터를 암호화하는 키를 지정하도록 사용자를 제한합니다.
+ 학습
+ 하이퍼파라미터 조정
+ 작업 레이블 지정

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnforceEncryption",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateHyperParameterTuningJob",
                "sagemaker:CreateLabelingJob",
                "sagemaker:CreateFlowDefinition"
            ],
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "sagemaker:VolumeKmsKey": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
                }
            }
        }

     ]
}
```

------

### 훈련 작업에 네트워크 격리 적용
<a name="sagemaker-condition-isolation"></a>

다음 정책은 `sagemaker:NetworkIsolation`조건 키를 사용하여 훈련 작업을 생성할 때 사용자가 네트워크 격리를 사용하도록 제한합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnforceIsolation",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateHyperParameterTuningJob"
            ],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "sagemaker:NetworkIsolation": "true"
                }
            }
        }
    ]
}
```

------

### 훈련 작업에 특정 인스턴스 유형 적용
<a name="sagemaker-condition-instance"></a>

다음 정책은 `sagemaker:InstanceTypes`조건 키를 사용하여 훈련 작업을 생성할 때 사용자가 특정 인스턴스 유형을 사용하도록 제한합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnforceInstanceType",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateHyperParameterTuningJob"
            ],
            "Resource": "*",
            "Condition": {
                "ForAllValues:StringLike": {
                    "sagemaker:InstanceTypes": ["ml.c5.*"]
                }
            }
        }

     ]
}
```

------

### 노트북 인스턴스 만들기에 인터넷 액세스 및 루트 액세스 비활성화 적용
<a name="sagemaker-condition-nbi-lockdown"></a>

노트북 인스턴스에 대한 인터넷 액세스와 루트 액세스를 비활성화하여 보안을 강화할 수 있습니다. 노트북 인스턴스에 대한 루트 액세스 제어 관련 자세한 정보는 [SageMaker 인스턴스에 대한 루트 액세스 제어](nbi-root-access.md) 섹션을 참조하세요. 노트북 인스턴스에 대한 인터넷 액세스 비활성화 관련 자세한 내용은 [VPC의 노트북 인스턴스를 외부 리소스에 연결](appendix-notebook-and-internet-access.md) 섹션을 참조하세요.

다음 정책은 사용자가 인스턴스를 만들 때 네트워크 액세스를 비활성화하고, 노트북 인스턴스를 만들거나 업데이트할 때 루트 액세스를 비활성화하도록 합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "LockDownCreateNotebookInstance",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateNotebookInstance"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:DirectInternetAccess": "Disabled",
                    "sagemaker:RootAccess": "Disabled"
                },
                "Null": {
                  "sagemaker:VpcSubnets": "false",
                  "sagemaker:VpcSecurityGroupIds": "false"
                }
            }
        },
        {
            "Sid": "LockDownUpdateNotebookInstance",
            "Effect": "Allow",
            "Action": [
                "sagemaker:UpdateNotebookInstance"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:RootAccess": "Disabled"
                }
            }
        }
     ]
}
```

------

## ID 기반 정책을 사용하여 SageMaker AI API에 대한 액세스 제어
<a name="api-access-policy"></a>

SageMaker AI API 직접 호출 및 SageMaker AI 호스팅 엔드포인트 호출에 대한 액세스를 제어하려면 ID 기반 IAM 정책을 사용합니다.

**Topics**
+ [SageMaker AI API 및 런타임에 대한 액세스를 VPC 내부로부터의 직접 호출로 제한](#api-access-policy-vpc)

### SageMaker AI API 및 런타임에 대한 액세스를 VPC 내부로부터의 직접 호출로 제한
<a name="api-access-policy-vpc"></a>

VPC 내에서 인터페이스 엔드포인트를 설정하는 경우 VPC 외부 사용자가 인터넷을 통해 SageMaker AI API 및 런타임에 연결할 수 있습니다. 이를 방지하려면 VPC 내에서 오는 직접 호출에 대한 액세스를 제한하는 IAM 정책을 연결합니다. 이러한 직접 호출은 SageMaker AI 리소스에 액세스할 수 있는 모든 사용자 및 그룹으로 제한되어야 합니다. SageMaker AI API 및 런타임을 위한 VPC 인터페이스 엔드포인트 생성에 대한 자세한 내용은 [VPC 내에서 SageMaker AI에 연결](interface-vpc-endpoint.md) 섹션을 참조하세요.

**중요**  
다음 중 하나와 유사한 IAM 정책을 적용하면 사용자가 콘솔을 통해 지정된 SageMaker AI API에 액세스할 수 없습니다.

VPC 내에서 만든 연결로만 액세스를 제한하려면 액세스를 제한하는 AWS Identity and Access Management 정책을 만듭니다. 이 액세스는 VPC 내에서 오는 직접 호출로만 제한되어야 합니다. 그런 다음 SageMaker AI API 또는 런타임에 액세스하는 데 사용되는 모든 AWS Identity and Access Management 사용자, 그룹 또는 역할에 해당 정책을 추가합니다.

**참고**  
이 정책으로는 인터페이스 엔드포인트를 생성한 서브넷의 호출자에만 연결할 수 있습니다.

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

****  

```
{
    "Id": "api-example-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableAPIAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceVpc": "vpc-111bbaaa"
                }
            }
        }
    ]
}
```

------

인터페이스 엔드포인트를 사용하여 수행된 직접 호출로만 API에 대한 액세스를 제한하려면 `aws:SourceVpc` 대신 `aws:SourceVpce` 조건 키를 사용합니다.

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

****  

```
{
    "Id": "api-example-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableAPIAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePresignedNotebookInstanceUrl"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:sourceVpce": [
                        "vpce-111bbccc",
                        "vpce-111bbddd"
                    ]
                }
            }
        }
    ]
}
```

------

## IP 주소 기준으로 SageMaker AI API 및 런타임 직접 호출에 대한 액세스 제한
<a name="api-ip-filter"></a>

지정한 목록의 IP 주소에서만 SageMaker AI API 직접 호출 및 런타임 간접 호출에 대한 액세스를 허용할 수 있습니다. 이렇게 하려면 목록의 IP 주소에서 직접 호출이 오지 않으면 API에 대한 액세스를 거부하는 IAM 정책을 만듭니다. 그런 다음 API 또는 런타임에 액세스하는 데 사용되는 모든 AWS Identity and Access Management 사용자, 그룹 또는 역할에 해당 정책을 연결합니다. IAM 정책 생성에 대한 자세한 내용은AWS Identity and Access Management 사용 설명서의 [IAM 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)을 참조하세요.**

API 직접 호출에 액세스할 수 있는 IP 주소 목록을 지정하려면 다음을 사용합니다.
+ `IpAddress` 조건 연산자
+ `aws:SourceIP` 조건 컨텍스트 키

IAM 조건 연산자에 대한 자세한 내용은AWS Identity and Access Management IAM 사용 설명서의 [IAM JSON 정책 요소: 조건 연산자](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)를 참조하세요.** IAM 조건 컨텍스트 키에 대한 자세한 내용은 [AWS 전역 조건 컨텍스트 키](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)를 참조하세요.

예를 들어, 다음 정책은 `192.0.2.0`-`192.0.2.255` 및 `203.0.113.0`-`203.0.113.255` 범위의 IP 주소에서만 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)에 액세스하도록 허용합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [

        {
            "Effect": "Allow",
            "Action": "sagemaker:CreateTrainingJob",
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "192.0.2.0/24",
                        "203.0.113.0/24"
                    ]
                }
            }
        }
    ]
}
```

------

## IP 주소를 기준으로 노트북 인스턴스에 대한 액세스 제한
<a name="nbi-ip-filter"></a>

지정한 목록의 IP 주소에서만 노트북 인스턴스에 액세스하도록 허용할 수 있습니다. 이렇게 하려면 목록의 IP 주소에서 직접 호출이 오지 않으면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html)에 대한 액세스를 거부하는 IAM 정책을 만듭니다. 그런 다음 노트북 인스턴스에 액세스하는 데 사용되는 모든 AWS Identity and Access Management 사용자, 그룹 또는 역할에이 정책을 연결합니다. IAM 정책 생성에 대한 자세한 내용은AWS Identity and Access Management 사용 설명서의 [IAM 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)을 참조하세요.**

노트북 인스턴스에 액세스하도록 하려는 IP 주소 목록을 지정하려면 다음을 사용합니다.
+ `IpAddress` 조건 연산자
+ `aws:SourceIP` 조건 컨텍스트 키

IAM 조건 연산자에 대한 자세한 내용은AWS Identity and Access Management IAM 사용 설명서의 [IAM JSON 정책 요소: 조건 연산자](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)를 참조하세요.** IAM 조건 컨텍스트 키에 대한 자세한 내용은 [AWS 전역 조건 컨텍스트 키](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)를 참조하세요.

예를 들어, 다음 정책은 `192.0.2.0`-`192.0.2.255` 및 `203.0.113.0`-`203.0.113.255` 범위의 IP 주소에서만 노트북 인스턴스에 액세스하도록 허용합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [

        {
            "Effect": "Allow",
            "Action": "sagemaker:CreatePresignedNotebookInstanceUrl",
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "192.0.2.0/24",
                        "203.0.113.0/24"
                    ]
                }
            }
        }
    ]
}
```

------

이 정책은 `CreatePresignedNotebookInstanceUrl`에 대한 호출 및 해당 호출이 반환하는 URL로 액세스를 제한합니다. 또한 콘솔에서 노트북 인스턴스 열기에 대한 액세스도 제한합니다. 노트북 인스턴스에 연결을 시도하는 모든 HTTP 요청 및 WebSocket 프레임에 적용됩니다.

**참고**  
[VPC 인터페이스 엔드포인트를 통해 SageMaker AI에 연결](https://docs.aws.amazon.com/sagemaker/latest/dg/interface-vpc-endpoint.html)하는 경우에는 이 방법을 사용하여 IP 주소별로 필터링할 수 없습니다. VPC 인터페이스 엔드포인트를 통해 연결하는 경우 노트북 인스턴스에 대한 액세스 제한에 대한 자세한 정보는 [VPC 인터페이스 엔드포인트를 통해 노트북 인스턴스에 연결](notebook-interface-endpoint.md)섹션을 참조하세요.

## 태그를 사용하여 SageMaker AI 리소스에 대한 액세스 제어
<a name="access-tag-policy"></a>

IAM 정책 내에 태그를 지정하여 SageMaker AI 리소스 그룹에 대한 액세스를 제어합니다. 태그를 사용하여 속성 기반 액세스 제어(ABAC)를 구현합니다. 태그를 사용하면 리소스에 대한 접근 권한을 특정 사용자 그룹으로 분할할 수 있습니다. 한 팀이 한 리소스 그룹에 액세스할 수 있고 다른 팀이 다른 리소스 세트에 액세스할 수 있도록 할 수 있습니다. IAM 정책에 `ResourceTag`조건을 제공하여 각 그룹에 액세스를 제공할 수 있습니다.

**참고**  
태그 기반 정책은 다음 API 직접 호출을 제한하지 않습니다.  
DeleteImageVersion
DescribeImageVersion
ListAlgorithms
ListCodeRepositories
ListCompilationJobs
ListEndpointConfigs
ListEndpoints
ListFlowDefinitions
ListHumanTaskUis
ListHyperparameterTuningJobs
ListLabelingJobs
ListLabelingJobsForWorkteam
ListModelPackages
ListModels
ListNotebookInstanceLifecycleConfigs
ListNotebookInstances
ListSubscribedWorkteams
ListTags
ListProcessingJobs
ListTrainingJobs
ListTrainingJobsForHyperParameterTuningJob
ListTransformJobs
ListWorkteams
검색

간단한 예제를 통해 태그를 사용하여 리소스를 분할하는 방법을 이해하는 데 도움이 될 수 있습니다. AWS 계정`DevTeam2`에서 `DevTeam1` 및 라는 두 개의 서로 다른 IAM 그룹을 정의했다고 가정해 보겠습니다. 노트북 인스턴스도 10개나 만들었습니다. 하나의 프로젝트에 노트북 인스턴스 중 5개를 사용하고 있습니다. 나머지 5개는 두 번째 프로젝트에 사용하고 있습니다. 첫 번째 프로젝트에 사용 중인 노트북 인스턴스에서 API를 호출할 수 있는 권한을 `DevTeam1`에 제공할 수 있습니다. 두 번째 프로젝트에 사용되는 노트북 인스턴스에서 API 직접 호출을 수행하도록 `DevTeam2`에 제공할 수 있습니다.

다음 절차는 태그 추가의 개념을 이해하는 데 도움이 되는 간단한 예제를 제공합니다. 이를 사용하여 이전 섹션에서 설명한 솔루션을 구현할 수 있습니다.

**API 직접 호출에 대한 액세스를 제어하려면(예)**

1. 첫 번째 프로젝트에 사용되는 노트북 인스턴스에 `Project`키와 `A`값을 사용하여 태그를 추가합니다. SageMaker AI 리소스에 태그를 추가하는 방법에 대한 자세한 내용은 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html) 섹션을 참조하세요.

1. 두 번째 프로젝트에 사용되는 노트북 인스턴스에 `Project`키와 `B`값을 사용하여 태그를 추가합니다.

1. 두 번째 프로젝트에 사용되는 노트북 인스턴스에 대한 액세스를 거부하는 `ResourceTag` 조건을 사용해 IAM 정책을 만듭니다. 그런 다음 해당 정책을 `DevTeam1`에 연결합니다. 다음은 `Project` 키와 `B` 값을 가진 태그가 있는 모든 노트북 인스턴스에 대한 API 직접 호출을 전부 거부하는 정책의 예입니다.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "sagemaker:*",
         "Resource": "*"
       },
       {
         "Effect": "Deny",
         "Action": "sagemaker:*",
         "Resource": "*",
         "Condition": {
           "StringEquals": {
             "sagemaker:ResourceTag/Project": "B"
           }
         }
       },
       {
         "Effect": "Deny",
         "Action": [
           "sagemaker:AddTags",
           "sagemaker:DeleteTags"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------

   IAM 정책을 생성하고 이를 ID에 연결하는 방법에 대한 자세한 내용은AWS Identity and Access Management 사용 설명서의 [정책을 사용한 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html)를 참조하세요.**

1. 첫 번째 프로젝트에 사용되는 노트북 인스턴스에 대한 액세스를 거부하는 `ResourceTag` 조건을 사용해 IAM 정책을 만듭니다. 그런 다음 해당 정책을 `DevTeam2`에 연결합니다. 다음은 `Project` 키와 `A` 값을 가진 태그가 있는 모든 노트북 인스턴스에 대한 API 직접 호출을 전부 거부하는 정책의 예입니다.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "sagemaker:*",
         "Resource": "*"
       },
       {
         "Effect": "Deny",
         "Action": "sagemaker:*",
         "Resource": "*",
         "Condition": {
           "StringEquals": {
             "sagemaker:ResourceTag/Project": "A"
           }
         }
       },
       {
         "Effect": "Deny",
         "Action": [
           "sagemaker:AddTags",
           "sagemaker:DeleteTags"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------

## SageMaker AI 리소스 태그 지정을 위한 권한 제공
<a name="grant-tagging-permissions"></a>

[태그](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/what-are-tags.html)는 특정 AWS 리소스에 연결할 수 있는 메타데이터 레이블입니다. 태그는 다음과 같은 다양한 [태그 지정 사용 사례](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-use-cases.html)에 대한 메타데이터 속성으로 리소스에 주석을 지정할 수 있는 유연한 방법을 제공하는 키-값 쌍으로 구성됩니다.
+ 검색
+ 보안
+ [비용 어트리뷰션](https://docs.aws.amazon.com/whitepapers/latest/sagemaker-studio-admin-best-practices/cost-attribution.html)
+ 액세스 제어
+ 자동화

권한 및 정책, 서비스 할당량, 다른 AWS 서비스와의 통합에 사용할 수 있습니다. 태그를 사용자 정의하거나 리소스를 생성할 때 AWS 생성할 수 있습니다. 이는 사용자가 사용자 지정 태그를 수동으로 지정하는지 아니면 AWS 서비스가 태그를 자동으로 생성하는지에 따라 달라집니다.
+ SageMaker AI의 *사용자 정의 태그*: 사용자는 SageMaker SDKs, AWS CLI CLI, SageMaker APIs, SageMaker AI 콘솔 또는 CloudFormation 템플릿을 사용하여 SageMaker AI 리소스를 생성할 때 태그를 추가할 수 있습니다.
**참고**  
리소스가 나중에 업데이트되고 태그 값이 변경되거나 대체되는 경우 사용자 지정 태그가 재정의될 수 있습니다. 예를 들어 \$1Team: A\$1로 만든 훈련 작업은 부적절하게 업데이트되고 \$1Team: B\$1로 태그가 다시 지정될 수 있습니다. 따라서 허용된 권한이 잘못 할당될 수 있습니다. 따라서 기존 태그 값을 재정의할 수 있으므로 사용자 또는 그룹이 태그를 추가하도록 허용할 때는 주의해야 합니다. 태그 권한의 범위를 엄격하게 지정하고 IAM 조건을 사용하여 태그 지정 기능을 제어하는 것이 좋습니다.
+ SageMaker AI에서 *AWS 생성된 태그*: SageMaker AI는 생성하는 특정 리소스에 자동으로 태그를 지정합니다. 예를 들어 Studio 및 Studio Classic은 자신이 만든 SageMaker AI 리소스에 `sagemaker:domain-arn` 태그를 자동으로 할당합니다. 도메인 ARN을 사용하여 새 리소스에 태그를 지정하면 훈련 작업, 모델 및 엔드포인트와 같은 SageMaker AI 리소스가 어떻게 시작되는지 추적할 수 있습니다. 더 세부적인 제어 및 추적을 위해 새 리소스는 다음과 같은 추가 태그를 받습니다.
  + `sagemaker:user-profile-arn` - 리소스를 만든 사용자 프로필의 ARN입니다. 이를 통해 특정 사용자가 만든 리소스를 추적할 수 있습니다.
  + `sagemaker:space-arn` - 리소스가 만들어진 공간의 ARN입니다. 이를 통해 공간당 리소스를 그룹화하고 격리할 수 있습니다.
**참고**  
AWS 생성된 태그는 사용자가 변경할 수 없습니다.

 AWS 리소스 태그 지정 및 모범 사례에 대한 일반적인 내용은 [AWS 리소스 태그 지정을 참조하세요](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html). 기본 태그 지정 사용 사례에 대한 자세한 내용은 [Tagging use cases](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-use-cases.html)를 참조하세요.

### SageMaker AI 리소스를 만들 때 태그를 추가할 수 있는 권한 부여
<a name="grant-tagging-permissions-with-create"></a>

사용자(*사용자 정의 태그*) 또는 Studio 및 Studio Classic(*AWS 생성된 태그*)이 생성 시 새 SageMaker AI 리소스에 태그를 추가하도록 허용할 수 있습니다. 이렇게 하려면 IAM 권한에 다음 두 가지가 모두 포함되어야 합니다.
+ 해당 리소스 유형에 대한 기본 SageMaker AI 생성 권한
+ `sagemaker:AddTags` 권한 

예를 들어 사용자가 SageMaker 훈련 작업을 만들고 태그를 지정하도록 허용하려면 `sagemaker:CreateTrainingJob` 및 `sagemaker:AddTags`에 대한 권한을 부여해야 합니다.

**중요**  
Amazon SageMaker Studio 또는 Amazon SageMaker Studio Classic에서 Amazon SageMaker AI 리소스를 생성하도록 허용하는 사용자 지정 IAM 정책은 해당 리소스에 태그를 추가할 수 있는 권한도 부여해야 합니다. Studio와 Studio Classic은 만드는 리소스에 태그를 자동으로 지정하기 때문에 리소스에 태그를 추가할 권한이 필요합니다. IAM 정책이 Studio 및 Studio Classic에서 리소스를 만들도록 허용하지만 태그 지정은 허용하지 않는 경우 리소스 만들기를 시도할 때 'AccessDenied' 오류가 발생할 수 있습니다.  
SageMaker AI 리소스를 생성할 수 있는 권한을 부여하는 [AWS Amazon SageMaker AI에 대한 관리형 정책](security-iam-awsmanpol.md)에는 해당 리소스를 생성하는 동안 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

관리자는 다음 중 하나에 이러한 IAM 권한을 연결합니다.
+ AWS 사용자 정의 태그에 대해 사용자에게 할당된 IAM 역할
+ Studio 또는 Studio Classic에서 AWS 생성 태그에 사용하는 실행 역할

사용자 지정 IAM 정책 만들기 및 적용에 대한 지침은 [IAM 정책 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)을 참조하세요.

**참고**  
SageMaker AI 리소스 생성 작업 목록은 [SageMaker API documentation](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Operations_Amazon_SageMaker_Service.html)에서 `Create`로 시작하는 작업을 검색하여 찾을 수 있습니다. `CreateTrainingJob` 및 `CreateEndpoint`와 같은 이러한 생성 작업은 새 SageMaker AI 리소스를 생성하는 작업입니다.

**특정 만들기 작업에 태그 권한 추가**

원래 리소스 만들기 정책에 추가 IAM 정책을 연결하여 제약이 있는 `sagemaker:AddTags` 권한을 부여합니다. 다음 예시 정책은 `sagemaker:AddTags`를 허용하지만 `CreateTrainingJob`과 같은 특정 SageMaker AI 리소스 생성 작업으로만 제한합니다.

```
{
  "Sid": "AllowAddTagsForCreateOperations",
  "Effect": "Allow",
  "Action": [
    "sagemaker:AddTags"
  ],
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "sagemaker:TaggingAction": "CreateTrainingJob"
    }
  }
}
```

정책 조건은 특정 만들기 작업과 함께 `sagemaker:AddTags`를 사용하도록 제한합니다. 이 접근 방식에서 권한 만들기 정책은 그대로 유지되며 추가 정책이 제한된 `sagemaker:AddTags` 액세스를 제공합니다. 이 조건은 태그 지정이 필요한 작업을 만들도록 블랭킷 `sagemaker:AddTags` 권한을 좁게 조정하여 블랭킷 권한을 방지합니다. 이렇게 하면 특정 SageMaker AI 리소스 생성 사용 사례에 대해서만 허용하여 `sagemaker:AddTags`에 대한 최소 권한이 구현됩니다.

**예: 전역적으로 태그 권한 허용 및 도메인으로 만들기 작업 제한**

사용자 지정 IAM 정책의 이 예시에서 처음 두 문은 태그를 사용하여 리소스 만들기를 추적하는 방법을 보여줍니다. 이를 통해 `sagemaker:CreateModel` 작업이 사용될 때 모든 리소스에 대한 작업과 해당 리소스의 태그 지정을 수행할 수 있습니다. 세 번째 문은 태그 값을 사용하여 리소스 작업을 제어하는 방법을 보여줍니다. 이 경우 특정 도메인 ARN으로 태그가 지정된 SageMaker AI 리소스를 생성하는 것을 방지하여 태그 값을 기반으로 액세스를 제한합니다.

중요 사항:
+ 첫 번째 문은 어느 리소스에 대해서나(`*`) `CreateModel` 작업을 허용합니다.
+ 두 번째 문은 `sagemaker:AddTags` 작업을 허용하지만 `sagemaker:TaggingAction` 조건 키가 `CreateModel`과 동일한 경우에만 허용합니다. 이렇게 하면 새로 만든 모델에 태그를 지정하는 데 사용되는 경우로만 `sagemaker:AddTags` 작업이 제한됩니다.
+ 세 번째 문은 어느 리소스에 대해서나(`*`) SageMaker AI 생성 작업(`Create*`)을 거부하지만 리소스에 특정 도메인 ARN(`domain-arn`)과 동일한 태그 `sagemaker:domain-arn`이 있는 경우에만 거부합니다.

```
{
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "sagemaker:CreateModel"
         ],
         "Resource":"*"
      },
      {
         "Effect":"Allow",
         "Action":[
            "sagemaker:AddTags"
         ],
         "Resource":"*",
         "Condition":{
            "String":{
               "sagemaker:TaggingAction":[
                  "CreateModel"
               ]
            }
         }
      },
      {
         "Sid":"IsolateDomain",
         "Effect":"Deny",
         "Resource":"*",
         "Action":[
            "sagemaker:Create*"
         ],
         "Condition":{
            "StringEquals":{
               "aws:ResourceTag/sagemaker:domain-arn":"domain-arn"
            }
         }
      }
   ]
}
```

## 가시성 조건으로 검색 가능한 리소스에 대한 액세스 제한
<a name="limit-access-to-searchable-resources"></a>

가시성 조건을 사용하여 AWS 계정 내에서 태그가 지정된 특정 리소스에 대한 사용자의 액세스를 제한합니다. 사용자는 권한이 있는 리소스에만 액세스할 수 있습니다. 사용자가 리소스를 검색할 때 검색 결과를 특정 리소스로 제한할 수 있습니다.

사용자가 특정 Amazon SageMaker Studio 또는 Amazon SageMaker Studio Classic 도메인과 연결된 리소스만 보고 상호 작용하도록 할 수 있습니다. 가시성 조건을 사용하여 단일 도메인 또는 여러 도메인으로 액세스를 제한할 수 있습니다.

```
{
    "Sid": "SageMakerApis",
    "Effect": "Allow",
    "Action": "sagemaker:Search", 
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "sagemaker:SearchVisibilityCondition/Tags.sagemaker:example-domain-arn/EqualsIfExists": "arn:aws:sagemaker:AWS 리전:111122223333:domain/example-domain-1",
            "sagemaker:SearchVisibilityCondition/Tags.sagemaker:example-domain-arn/EqualsIfExists": "arn:aws:sagemaker:AWS 리전:111122223333:domain/example-domain-2"
        }
    }
}
```

가시성 조건의 일반적인 형식은 `"sagemaker:SearchVisibilityCondition/Tags.key": "value"`입니다. 태그가 지정된 리소스에 키-값 쌍을 제공할 수 있습니다.

```
{
   "MaxResults": number,
   "NextToken": "string",
   "Resource": "string", # Required Parameter
   "SearchExpression": { 
      "Filters": [ 
         { 
            "Name": "string",
            "Operator": "string",
            "Value": "string"
         }
      ],
      "NestedFilters": [ 
         { 
            "Filters": [ 
               { 
                  "Name": "string",
                  "Operator": "string",
                  "Value": "string"
               }
            ],
            "NestedPropertyName": "string"
         }
      ],
      "Operator": "string",
      "SubExpressions": [ 
         "SearchExpression"
      ]
   },
   "IsCrossAccount": "string",
   "VisibilityConditions" : [ List of conditions for visibility
         {"Key": "Tags.sagemaker:example-domain-arn", "Value": "arn:aws:sagemaker:AWS 리전:111122223333:domain/example-domain-1"},
         {"Key": "Tags.sagemaker:example-domain-arn", "Value": "arn:aws:sagemaker:AWS 리전:111122223333:domain/example-domain-2"}
]
   ],
   "SortBy": "string",
   "SortOrder": "string"
}
```

내부의 가시성 조건은 정책에 지정된 것과 동일한 `"sagemaker:SearchVisibilityCondition/Tags.key": "value"` 형식을 사용합니다. 사용자는 태그가 지정된 리소스에 사용되는 키-값 쌍을 지정할 수 있습니다.

사용자가 [검색](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html) 요청에 `VisibilityConditions` 파라미터를 포함했지만 해당 사용자에게 적용되는 액세스 정책에 `VisibilityConditions`에 지정된 조건 키와 일치하는 것이 없는 경우 `Search` 요청은 여전히 허용되며 실행됩니다.

사용자의 [검색](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html) API 요청에 `VisibilityConditions` 파라미터가 지정되지 않았지만 해당 사용자에게 적용되는 액세스 정책에 `VisibilityConditions`과 관련된 조건 키가 포함된 경우 해당 사용자의 `Search` 요청이 거부됩니다.

# 교차 서비스 혼동된 대리자 방지
<a name="security-confused-deputy-prevention"></a>

[혼동된 대리자 문제](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy)는 작업을 수행할 권한이 없는 엔터티가 권한이 더 많은 엔터티에 작업을 수행하도록 강요할 수 있는 보안 문제입니다. 에서는 교차 서비스 위장으로 인해 AWS혼동된 대리자 문제가 발생할 수 있습니다. 교차 서비스 가장은 한 서비스(*호출하는 서비스*)가 다른 서비스(*호출되는 서비스*)를 호출하고 호출되는 서비스의 승격된 권한을 활용하여 호출하는 서비스에서 액세스할 권한이 없는 리소스에 대해 작업할 때 발생할 수 있습니다. 혼동된 대리자 문제를 통한 무단 액세스를 방지하기 위해는 서비스 전반에서 데이터를 보호하는 데 도움이 되는 도구를 AWS 제공합니다. 이러한 도구를 사용하면 서비스 위탁자에게 부여된 권한을 제어하여 계정의 필요한 리소스로만 위탁자의 액세스를 제한할 수 있습니다. 서비스 위탁자의 액세스 권한을 주의 깊게 관리하면 권한이 없어야 하는 데이터 또는 리소스에 서비스가 부적절하게 액세스할 위험을 완화하는 데 도움이 될 수 있습니다.

일반 지침을 읽거나 특정 SageMaker AI 기능에 대한 예를 살펴보세요.

**Topics**
+ [전역 조건 키로 권한 제한](#security-confused-deputy-context-keys)
+ [SageMaker Edge Manager](#security-confused-deputy-edge-manager)
+ [SageMaker 이미지](#security-confused-deputy-images)
+ [SageMaker AI 추론](#security-confused-deputy-inference)
+ [SageMaker AI 배치 변환 작업](#security-confused-deputy-batch)
+ [SageMaker AI Marketplace](#security-confused-deputy-marketplace)
+ [SageMaker Neo](#security-confused-deputy-neo)
+ [SageMaker Pipelines](#security-confused-deputy-pipelines)
+ [SageMaker 처리 작업](#security-confused-deputy-processing-job)
+ [SageMaker Studio](#security-confused-deputy-studio)
+ [SageMaker 훈련 작업](#security-confused-deputy-training-job)

## 전역 조건 키로 권한 제한
<a name="security-confused-deputy-context-keys"></a>

Amazon SageMaker AI가 리소스에 다른 서비스를 제공하는 권한을 제한하려면 리소스 정책에서 `[aws:SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)` 및 `[aws:SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)` 전역 조건 키를 사용하는 것이 좋습니다. 두 전역 조건 키와 계정을 포함한 `aws:SourceArn`값을 모두 사용하는 경우, `aws:SourceAccount`값 및 `aws:SourceArn`값의 계정은 동일한 정책 명령문에서 사용할 경우 반드시 동일한 계정 ID를 사용해야 합니다. 하나의 리소스만 교차 서비스 액세스와 연결되도록 허용하려는 경우 `aws:SourceArn`을 사용하세요. 해당 계정의 모든 리소스가 교차 서비스 사용과 연결되도록 허용하려는 경우 `aws:SourceAccount`를 사용하세요.

혼동된 대리자 문제로부터 보호하는 가장 효과적인 방법은 리소스의 전체 ARN이 포함된 `aws:SourceArn`전역 조건 키를 사용하는 것입니다. 리소스의 전체 ARN을 모를 경우 또는 여러 리소스를 지정하는 경우, ARN의 알 수 없는 부분에 대해 와일드카드(`*`)를 포함한 `aws:SourceArn`전역 조건 키를 사용합니다. 예를 들어 `arn:aws:sagemaker:*:123456789012:*`입니다.

다음 예시에서는 SageMaker AI에서 `aws:SourceArn` 및 `aws:SourceAccount` 전역 조건 키를 사용하여 혼동된 대리자 문제를 방지하는 방법을 보여줍니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "ConfusedDeputyPreventionExamplePolicy",
    "Effect": "Allow",
    "Principal": {
      "Service": "sagemaker.amazonaws.com"
    },
    "Action": "sagemaker:StartSession",
    "Resource": "arn:aws:sagemaker:us-east-1:123456789012:ResourceName/*",
    "Condition": {
      "ArnLike": {
        "aws:SourceArn": "arn:aws:sagemaker:us-east-1:123456789012:*"
      },
      "StringEquals": {
        "aws:SourceAccount": "123456789012"
      }
    }
  }
}
```

------

## SageMaker Edge Manager
<a name="security-confused-deputy-edge-manager"></a>

다음 예제는 *us-west-2* 리전의 계정 번호 *123456789012*로 생성된 SageMaker Edge Manager의 서비스 간 혼동된 대리인 문제를 방지하기 위해 `aws:SourceArn`글로벌 조건 키를 사용하는 방법을 보여줍니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
      "Effect": "Allow",
      "Principal": { "Service": "sagemaker.amazonaws.com" },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*"
      }
    }
  }
}
```

------

이 템플릿의 `aws:SourceArn`을 특정 패키징 작업 하나의 전체 ARN으로 대체하여 권한을 추가로 제한할 수 있습니다.

## SageMaker 이미지
<a name="security-confused-deputy-images"></a>

다음 예제에서는 [SageMaker 이미지](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html)에서 `aws:SourceArn`전역 조건 키를 사용하여 혼동된 대리자 문제를 방지하는 방법을 보여줍니다. 이 템플릿은 `[Image](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Image.html)`또는 `[ImageVersion](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ImageVersion.html)`에 함께 사용하세요. 이 예에서는 계정 번호가 *123456789012*인 `ImageVersion`레코드 ARN을 사용합니다. 단, 계정 번호는 `aws:SourceArn`값의 일부이므로 `aws:SourceAccount`값을 지정할 필요가 없습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Principal": {
            "Service": "sagemaker.amazonaws.com"
        },
        "Action": "sts:AssumeRole",
        "Condition": {
            "ArnLike": {
            "aws:SourceArn": "arn:aws:sagemaker:us-east-2:123456789012:image-version/*"
            }
        }
    }
}
```

------

이 템플릿의 `aws:SourceArn`을 특정 이미지 또는 이미지 버전의 전체 ARN으로 대체하지 마세요. ARN은 위에 제공된 형식이어야 하며 또는 `image`또는 `image-version`중 하나를 지정해야 합니다. `partition` 자리 표시자는 이미지 또는 이미지 버전이 실행 중인 위치에 따라 AWS 상용 파티션(`aws`) 또는 중국 AWS 내 파티션(`aws-cn`)을 지정해야 합니다. 마찬가지로 ARN의 `region`자리 표시자는 SageMaker 이미지를 사용할 수 있는 모든 [유효한 리전](https://docs.aws.amazon.com/sagemaker/latest/dg/regions-quotas.html)일 수 있습니다.

## SageMaker AI 추론
<a name="security-confused-deputy-inference"></a>

다음 예시는 `aws:SourceArn` 전역 조건 키를 사용하여 SageMaker AI [실시간](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints), [서버리스](https://docs.aws.amazon.com/sagemaker/latest/dg/serverless-endpoints) 및 [비동기](https://docs.aws.amazon.com/sagemaker/latest/dg/async-inference) 추론에 대한 서비스 간 혼동된 대리인 문제를 방지하는 방법을 보여줍니다. 단, 계정 번호는 `aws:SourceArn`값의 일부이므로 `aws:SourceAccount`값을 지정할 필요가 없습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Principal": { "Service": "sagemaker.amazonaws.com" },
    "Action": "sts:AssumeRole",
    "Condition": {
      "ArnLike": {
        "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*"
      }
    }
  }
}
```

------

이 템플릿의 `aws:SourceArn`을 특정 모델이나 엔드포인트의 전체 ARN으로 대체하지 마세요. ARN은 위에 제공된 형식이어야 합니다. ARN 템플릿의 별표는 와일드카드를 나타내지 않으므로 변경해서는 안 됩니다.

## SageMaker AI 배치 변환 작업
<a name="security-confused-deputy-batch"></a>

다음 예시는 *us-west-2* 리전에서 계정 번호 *123456789012*로 생성된 SageMaker AI [배치 변환 작업](https://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform.html)에 대해 `aws:SourceArn` 전역 조건 키를 사용하여 서비스 간 혼동되는 대리인 문제를 방지하는 방법을 보여줍니다. 단, 계정 번호는 ARN에 있기 때문에 `aws:SourceAccount`값을 지정할 필요가 없습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:transform-job/*"
        }
      }
    }
  ]
}
```

------

이 템플릿의 `aws:SourceArn`을 특정 배치 변환 작업 하나의 전체 ARN으로 대체하여 권한을 추가로 제한할 수 있습니다.

## SageMaker AI Marketplace
<a name="security-confused-deputy-marketplace"></a>

다음 예시는 *us-west-2* 리전의 계정 번호 *123456789012*로 생성된 SageMaker AI Marketplace 리소스의 서비스 간 혼동된 대리인 문제를 방지하기 위해 `aws:SourceArn` 전역 조건 키를 사용하는 방법을 보여줍니다. 단, 계정 번호는 ARN에 있기 때문에 `aws:SourceAccount`값을 지정할 필요가 없습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*"
        }
      }
    }
  ]
}
```

------

이 템플릿의 `aws:SourceArn`을 특정 알고리즘 또는 모델 패키지의 전체 ARN으로 대체하지 마세요. ARN은 위에 제공된 형식이어야 합니다. ARN 템플릿의 별표는 와일드카드를 나타내며 SageMaker AI Marketplace에 게시된 알고리즘 및 모델 패키지뿐 아니라 검증 단계의 모든 훈련 작업, 모델 및 배치 변환 작업을 포함합니다.

## SageMaker Neo
<a name="security-confused-deputy-neo"></a>

다음 예제는 *us-west-2* 리전의 계정 번호 *123456789012*로 생성된 SageMaker Neo 컴파일 작업의 서비스 간 혼동된 대리인 문제를 방지하기 위해 `aws:SourceArn`전역 조건 키를 사용하는 방법을 보여줍니다. 단, 계정 번호는 ARN에 있기 때문에 `aws:SourceAccount`값을 지정할 필요가 없습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:compilation-job/*"
        }
      }
    }
  ]
}
```

------

이 템플릿의 `aws:SourceArn`을 특정 컴파일 작업 하나의 전체 ARN으로 대체하여 권한을 추가로 제한할 수 있습니다.

## SageMaker Pipelines
<a name="security-confused-deputy-pipelines"></a>

다음 예제에서는 하나 이상의 파이프라인에서 파이프라인 실행 기록을 이용하여 [SageMaker Pipelines](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines-overview.html)에서 `aws:SourceArn`전역 조건 키를 사용하여 서비스 간 혼동된 대리자 문제를 방지하는 방법을 보여줍니다. 단, 계정 번호는 ARN에 있기 때문에 `aws:SourceAccount`값을 지정할 필요가 없습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "sagemaker.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:sagemaker:us-east-1:123456789012:pipeline/mypipeline/*"
                }
            }
        }
    ]
}
```

------

이 템플릿의 `aws:SourceArn`을 특정 파이프라인 실행의 전체 ARN으로 대체하지 마세요. ARN은 위에 제공된 형식이어야 합니다. `partition` 자리 표시자는 파이프라인이 실행 중인 위치에 따라 AWS 상용 파티션(`aws`) 또는 중국 AWS 내 파티션(`aws-cn`)을 지정해야 합니다. 마찬가지로 ARN의 `region`자리 표시자는 SageMaker Pipelines을 사용할 수 있는 모든 [유효한 리전](https://docs.aws.amazon.com/sagemaker/latest/dg/regions-quotas.html)일 수 있습니다.

ARN 템플릿의 별표는 와일드카드를 나타내며 `mypipeline`이라는 이름을 가진 파이프라인의 모든 파이프라인 실행을 포함합니다. 특정 파이프라인 하나가 아닌 계정 `123456789012`내 모든 파이프라인에 대한 `AssumeRole`권한을 허용하려면 `aws:SourceArn`은 `arn:aws:sagemaker:*:123456789012:pipeline/*`이 됩니다.

## SageMaker 처리 작업
<a name="security-confused-deputy-processing-job"></a>

다음 예시는 *us-west-2* 리전의 계정 번호 *123456789012*로 생성된 SageMaker Processing 작업의 서비스 간 혼동된 대리인 문제를 방지하기 위해 `aws:SourceArn` 전역 조건 키를 사용하는 방법을 보여줍니다. 단, 계정 번호는 ARN에 있기 때문에 `aws:SourceAccount`값을 지정할 필요가 없습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:processing-job/*"
        }
      }
    }
  ]
}
```

------

이 템플릿의 `aws:SourceArn`을 특정 처리 작업 하나의 전체 ARN으로 대체하여 권한을 추가로 제한할 수 있습니다.

## SageMaker Studio
<a name="security-confused-deputy-studio"></a>

다음 예제는 *us-west-2* 리전의 계정 번호 *123456789012*로 생성된 SageMaker Studio의 서비스 간 혼동된 대리인 문제를 방지하기 위해 `aws:SourceArn`전역 조건 키를 사용하는 방법을 보여줍니다. 단, 계정 번호는 `aws:SourceArn`값의 일부이므로 `aws:SourceAccount`값을 지정할 필요가 없습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*"
        }
      }
    }
  ]
}
```

------

이 템플릿의 `aws:SourceArn`을 특정 Studio 애플리케이션, 사용자 프로필 또는 도메인의 전체 ARN으로 바꾸지 마세요. ARN은 이전 예에서 제공한 형식이어야 합니다. ARN 템플릿의 별표는 와일드카드를 나타내지 않으므로 변경해서는 안 됩니다.

## SageMaker 훈련 작업
<a name="security-confused-deputy-training-job"></a>

다음 예제는 *us-west-2* 리전의 계정 번호 *123456789012*로 생성된 SageMaker 처리 작업의 서비스 간 혼동된 대리인 문제를 방지하기 위해 `aws:SourceArn`전역 조건 키를 사용하는 방법을 보여줍니다. 단, 계정 번호는 ARN에 있기 때문에 `aws:SourceAccount`값을 지정할 필요가 없습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sagemaker.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:training-job/*"
        }
      }
    }
  ]
}
```

------

이 템플릿의 `aws:SourceArn`을 특정 훈련 작업의 전체 ARN으로 대체하여 권한을 추가로 제한할 수 있습니다.

**다음**  
실행 역할 관리에 대한 자세한 내용은 [SageMaker AI Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles)을 참조하세요.

# SageMaker AI 실행 역할을 사용하는 방법
<a name="sagemaker-roles"></a>

Amazon SageMaker AI는 다른 AWS 서비스를 사용하여 사용자를 대신하여 작업을 수행합니다. SageMaker AI에 이러한 서비스와 서비스가 적용되는 리소스를 사용할 수 있는 권한을 부여해야 합니다. AWS Identity and Access Management (IAM) 실행 역할을 사용하여 SageMaker AI에 이러한 권한을 부여합니다. IAM 역할에 대한 자세한 내용은 [IAM 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)을 참조하세요.

실행 역할을 생성 및 사용하기 위해 다음 절차를 사용할 수 있습니다.

## 실행 역할 생성
<a name="sagemaker-roles-create-execution-role"></a>

다음 절차를 사용하여 IAM 관리형 정책 `AmazonSageMakerFullAccess`가 연결된 실행 역할을 생성합니다. 사용 사례에 더 세분화된 권한이 필요한 경우 이 페이지의 다른 섹션을 사용하여 비즈니스 요구 사항에 맞는 실행 역할을 생성하세요. SageMaker AI 콘솔 또는 AWS CLI를 사용하여 실행 역할을 생성할 수 있습니다.

**중요**  
다음 절차에서 사용되는 IAM 관리형 정책 `AmazonSageMakerFullAccess`는 이름에 `SageMaker`, `Sagemaker`, `sagemaker`또는 `aws-glue`가 포함된 버킷 또는 객체에 대해 특정 Amazon S3 작업을 수행할 수 있는 실행 역할 권한만 부여합니다. 실행 역할에 정책을 추가하여 다른 Amazon S3 버킷 및 객체에 대한 액세스 권한을 부여하는 방법을 알아보려면 [SageMaker AI 실행 역할에 Amazon S3 권한 추가](#sagemaker-roles-get-execution-role-s3)섹션을 참조하세요.

**참고**  
SageMaker AI 도메인 또는 노트북 인스턴스를 생성할 때 실행 역할을 직접 생성할 수 있습니다.  
SageMaker AI 도메인을 생성하는 방법에 대한 자세한 내용은 [Amazon SageMaker AI 설정 가이드](gs.md) 섹션을 참조하세요.
노트북 인스턴스를 생성하는 방법에 대한 자세한 내용은 [자습서를 위해 Amazon SageMaker 노트북 인스턴스 만들기](gs-setup-working-env.md)섹션을 참조하세요.

**SageMaker AI 콘솔에서 새 실행 역할을 생성하는 방법**

1. IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))을 엽니다.

1. **역할**을 선택한 다음 **역할 생성**을 선택합니다.

1. **AWS 서비스**를 **신뢰할 수 있는 엔터티 유형**으로 유지하고 아래쪽 화살표를 사용하여 **다른 AWS 서비스의 사용 사례**에서 **SageMaker AI**를 찾습니다.

1. **SageMaker AI - 실행**을 선택하고 **다음**을 선택합니다.

1. IAM 관리형 정책 `AmazonSageMakerFullAccess`는 역할에 자동으로 연결됩니다. 이 정책에 포함된 권한을 보려면 정책 이름 옆에 있는 더하기(**\$1**) 기호를 선택합니다. **다음**을 선택합니다.

1. **역할 이름** 및 **설명**을 입력합니다.

1. (선택 사항) 추가 권한 및 태그를 역할에 추가합니다.

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

1. IAM 콘솔의 **역할** 섹션에서 방금 생성한 역할을 찾습니다. 필요한 경우 텍스트 상자에서 역할 이름을 사용하여 역할을 검색하세요.

1. 역할 요약 페이지에서 ARN의 값을 메모해 둡니다.

** AWS CLI에서 새 실행 역할을 생성하려면**

를 사용하여 실행 역할을 생성하기 전에의 지침에 따라 실행 역할을 AWS CLI업데이트하고 구성한 다음 [(선택 사항) 구성 AWS CLI](gs-set-up.md#gs-cli-prereq)의 지침을 계속 진행합니다[를 사용한 사용자 지정 설정 AWS CLI](onboard-custom.md#onboard-custom-instructions-cli).

실행 역할을 생성한 후에는 이를 SageMaker AI 도메인, 사용자 프로필 또는 Jupyter Notebook 인스턴스와 연결할 수 있습니다.
+ 실행 역할을 기존 SageMaker AI 도메인과 연결하는 방법에 대해 알아보려면 [도메인 설정 편집](domain-edit.md) 섹션을 참조하세요.
+ 실행 역할을 기존 사용자 프로필과 연결하는 방법에 대해 알아보려면 [사용자 프로필 추가](domain-user-profile-add.md)섹션을 참조하세요.
+ 실행 역할을 기존 노트북 인스턴스와 연결하는 방법에 대해 알아보려면 [노트북 인스턴스 업데이트](nbi-update.md)섹션을 참조하세요.

실행 역할의 ARN을 API 직접 호출에 전달할 수도 있습니다. 예를 들어 [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable)를 사용하여 실행 역할의 ARN을 예측기에게 전달할 수 있습니다. 다음 코드 샘플에서는 XGBoost 알고리즘 컨테이너를 사용하여 예측기를 만들고 실행 역할의 ARN을 파라미터로 전달합니다. GitHub의 전체 예제를 보려면 [XGBoost를 사용한 고객 변동 예측](https://github.com/aws/amazon-sagemaker-examples/blob/89c54681b7e0f83ce137b34b879388cf5960af93/introduction_to_applying_machine_learning/xgboost_customer_churn/xgboost_customer_churn.ipynb)을 참조하세요.

```
import sagemaker, boto3
from sagemaker import image_uris

sess = sagemaker.Session()
region = sess.boto_region_name
bucket = sess.default_bucket()
prefix = "sagemaker/DEMO-xgboost-churn"
container = sagemaker.image_uris.retrieve("xgboost", region, "1.7-1")

xgb = sagemaker.estimator.Estimator(
    container,
    execution-role-ARN,
    instance_count=1,
    instance_type="ml.m4.xlarge",
    output_path="s3://{}/{}/output".format(bucket, prefix),
    sagemaker_session=sess,
)

...
```

### SageMaker AI 실행 역할에 Amazon S3 권한 추가
<a name="sagemaker-roles-get-execution-role-s3"></a>

Amazon S3의 리소스(예: 입력 데이터)와 함께 SageMaker AI 기능을 사용하는 경우 요청에 지정한 실행 역할(예: `CreateTrainingJob`)을 사용하여 이러한 리소스에 액세스합니다.

IAM 관리형 정책 `AmazonSageMakerFullAccess`를 실행 역할에 연결하는 경우, 해당 역할은 이름에 `SageMaker`, `Sagemaker`, `sagemaker`또는 `aws-glue`가 있는 버킷 또는 객체에 대해 특정 Amazon S3 작업을 수행할 권한을 갖습니다. 또한 모든 Amazon S3 리소스에서 다음 작업을 수행할 권한이 있습니다.

```
"s3:CreateBucket", 
"s3:GetBucketLocation",
"s3:ListBucket",
"s3:ListAllMyBuckets",
"s3:GetBucketCors",
"s3:PutBucketCors"
```

Amazon S3에 있는 하나 이상의 특정 버킷에 액세스할 수 있는 권한을 실행 역할에 부여하려면 다음과 유사한 정책을 역할에 연결할 수 있습니다. 이 정책은 `AmazonSageMakerFullAccess`가 허용하는 모든 작업을 수행하도록 IAM 역할 권한을 부여하지만 amzn-s3-demo-bucket1 및 amzn-s3-demo-bucket2 버킷에 대한 이러한 액세스를 제한합니다. 해당 기능에 필요한 Amazon S3 권한에 대해 자세히 알아보려면 사용 중인 특정 SageMaker AI 기능의 보안 설명서를 참조하세요.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:AbortMultipartUpload"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1/*",
                "arn:aws:s3:::amzn-s3-demo-bucket2/*"
            ]
        }, 
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListAllMyBuckets",
                "s3:GetBucketCors",
                "s3:PutBucketCors"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketAcl",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1",
                "arn:aws:s3:::amzn-s3-demo-bucket2"
            ]
        }
    ]
}
```

------

## 실행 역할을 가져옵니다.
<a name="sagemaker-roles-get-execution-role"></a>

[SageMaker AI 콘솔](https://console.aws.amazon.com/sagemaker), [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) 또는 [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)를 사용하여 SageMaker AI 도메인, 스페이스 또는 사용자 프로필에 연결된 실행 역할의 이름과 ARN을 검색할 수 있습니다.

**Topics**
+ [도메인 실행 역할 가져오기](#sagemaker-roles-get-execution-role-domain)
+ [공간 실행 역할 가져오기](#sagemaker-roles-get-execution-role-space)
+ [사용자 실행 역할 가져오기](#sagemaker-roles-get-execution-role-user)

### 도메인 실행 역할 가져오기
<a name="sagemaker-roles-get-execution-role-domain"></a>

다음은 도메인의 실행 역할을 찾는 방법에 대한 지침을 제공합니다.

#### 도메인 실행 역할 가져오기(콘솔)
<a name="sagemaker-roles-get-execution-role-domain-console"></a>

**도메인에 연결된 실행 역할 찾기**

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

1. 왼쪽 탐색 창에서 **관리자 구성** 아래의 **도메인**을 선택합니다.

1. 도메인에 해당하는 링크를 선택합니다.

1. **도메인 설정** 탭을 선택합니다.

1. **일반 설정** 섹션에서 실행 역할 ARN은 **실행 역할** 아래에 나열되어 있습니다.

   실행 역할 이름은 실행 역할 ARN의 마지막 `/` 뒤에 있습니다.

### 공간 실행 역할 가져오기
<a name="sagemaker-roles-get-execution-role-space"></a>

다음은 공간의 실행 역할을 찾는 방법에 대한 지침을 제공합니다.

#### 공간 실행 역할 가져오기(콘솔)
<a name="sagemaker-roles-get-execution-role-space-console"></a>

**공간에 연결된 실행 역할 찾기**

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

1. 왼쪽 탐색 창에서 **관리자 구성** 아래의 **도메인**을 선택합니다.

1. 도메인에 해당하는 링크를 선택합니다.

1. **공간 관리 **탭을 선택합니다.

1. **세부 정보** 섹션에서 실행 역할 ARN은 **실행 역할** 아래에 나열되어 있습니다.

   실행 역할 이름은 실행 역할 ARN의 마지막 `/` 뒤에 있습니다.

#### 공간 실행 역할 가져오기(SDK for Python)
<a name="sagemaker-roles-get-execution-role-space-sdk"></a>

**참고**  
다음 코드는 Amazon SageMaker Studio의 다른 IDE와 마찬가지로 SageMaker AI 환경에서 실행되어야 합니다. SageMaker AI 환경 외부에서 `get_execution_role`을 실행하면 오류가 발생합니다.

다음 [https://sagemaker.readthedocs.io/en/stable/api/utility/session.html#sagemaker.session.get_execution_role](https://sagemaker.readthedocs.io/en/stable/api/utility/session.html#sagemaker.session.get_execution_role) [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) 명령은 공간에 연결된 실행 역할의 ARN을 검색합니다.

```
from sagemaker import get_execution_role
role = get_execution_role()
print(role)
```

실행 역할 이름은 실행 역할 ARN의 마지막 `/` 뒤에 있습니다.

### 사용자 실행 역할 가져오기
<a name="sagemaker-roles-get-execution-role-user"></a>

다음은 사용자의 실행 역할을 찾는 방법에 대한 지침을 제공합니다.

#### 사용자 실행 역할 가져오기(콘솔)
<a name="sagemaker-roles-get-execution-role-user-console"></a>

**사용자에게 연결된 실행 역할 찾기**

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

1. 왼쪽 탐색 창에서 **관리자 구성** 아래의 **도메인**을 선택합니다.

1. 도메인에 해당하는 링크를 선택합니다.

1. **사용자 프로필** 탭을 선택합니다.

1. 사용자에 해당하는 링크를 선택합니다.

1. **세부 정보** 섹션에서 실행 역할 ARN은 **실행 역할** 아래에 나열되어 있습니다.

   실행 역할 이름은 실행 역할 ARN의 마지막 `/` 뒤에 있습니다.

#### 공간 실행 역할 가져오기(AWS CLI)
<a name="sagemaker-roles-get-execution-role-user-cli"></a>

**참고**  
다음 예제를 사용하려면 AWS Command Line Interface (AWS CLI)를 설치하고 구성해야 합니다. 자세한 내용은 *AWS Command Line Interface 버전 2 사용 설명서*에서 [Get started with the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)를 참조하세요.

다음 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/get-caller-identity.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/get-caller-identity.html) AWS CLI 명령은 요청을 인증하는 데 사용되는 IAM 자격 증명의 정보를 표시합니다. 호출자는 IAM 사용자입니다.

```
aws sts get-caller-identity
```

실행 역할 이름은 실행 역할 ARN의 마지막 `/` 뒤에 있습니다.

## 실행 역할 변경
<a name="sagemaker-roles-change-execution-role"></a>

실행 역할은 SageMaker AI ID(예: SageMaker AI 사용자, 스페이스 또는 도메인)가 수임하는 IAM 역할입니다. IAM 역할을 변경하면 해당 역할을 수임하는 모든 ID의 권한이 변경됩니다.

실행 역할을 변경하면 해당 공간의 실행 역할도 변경됩니다. 변경의 영향이 전파되는 데 다소 시간이 걸릴 수 있습니다.
+ *사용자의 실행 역할*을 변경하면 해당 사용자가 만든 *프라이빗 공간*이 변경된 실행 역할을 수임합니다.
+ *공간의 기본 실행 역할*을 변경하면 도메인의 *공유 공간*이 변경된 실행 역할을 수임합니다.

실행 역할 및 공간에 대한 자세한 내용은 [도메인 공간 권한 및 실행 역할 이해](execution-roles-and-spaces.md) 섹션을 참조하세요.

다음 지침 중 하나를 사용하여 ID의 실행 역할을 다른 IAM 역할로 변경할 수 있습니다.

대신 ID가 수임하는 역할을 *수정*하려면 [실행 역할에 대한 권한 수정](#sagemaker-roles-modify-to-execution-role) 섹션을 참조하세요.

**Topics**
+ [도메인 기본 실행 역할 변경](#sagemaker-roles-change-execution-role-domain)
+ [공간 기본 실행 역할 변경](#sagemaker-roles-change-execution-role-space)
+ [사용자 프로필 실행 역할 변경](#sagemaker-roles-change-execution-role-user)

### 도메인 기본 실행 역할 변경
<a name="sagemaker-roles-change-execution-role-domain"></a>

다음은 도메인의 기본 실행 역할을 변경하는 방법에 대한 지침을 제공합니다.

#### 도메인 기본 실행 역할 변경(콘솔)
<a name="sagemaker-roles-change-execution-role-domain-console"></a>

**도메인에 연결된 기본 실행 역할 변경**

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

1. 왼쪽 탐색 창에서 **관리자 구성** 아래의 **도메인**을 선택합니다.

1. 도메인에 해당하는 링크를 선택합니다.

1. **도메인 설정** 탭을 선택합니다.

1. **일반 설정** 섹션에서 **편집**을 선택합니다.

1. **권한** 섹션의 **기본 실행 역할**에서 드롭다운 목록을 확장합니다.

1. 드롭다운 목록에서 기존 역할을 선택하거나 사용자 지정 IAM 역할 ARN을 입력하거나 새 역할을 만들 수 있습니다.

   새 역할을 만들려면 **역할 만들기 마법사를 사용하여 역할 만들기**를 선택할 수 있습니다.

1. 다음 단계에서 다음을 선택하고 마지막 단계에서 제출을 선택합니다.

### 공간 기본 실행 역할 변경
<a name="sagemaker-roles-change-execution-role-space"></a>

다음은 공간의 기본 실행 역할을 변경하는 방법에 대한 지침을 제공합니다. 이 실행 역할을 변경하면 도메인의 모든 공유 공간이 수임하는 역할이 변경됩니다.

#### 공간 기본 실행 역할 변경(콘솔)
<a name="sagemaker-roles-change-execution-role-space-console"></a>

**새 공간을 만들 때의 공간 기본 실행 역할 변경**

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

1. 왼쪽 탐색 창에서 **관리자 구성** 아래의 **도메인**을 선택합니다.

1. 도메인에 해당하는 링크를 선택합니다.

1. **도메인 설정** 탭을 선택합니다.

1. **일반 설정** 섹션에서 **편집**을 선택합니다.

1. **권한** 섹션의 **공간 기본 실행 역할**에서 드롭다운 목록을 확장합니다.

1. 드롭다운 목록에서 기존 역할을 선택하거나 사용자 지정 IAM 역할 ARN을 입력하거나 새 역할을 만들 수 있습니다.

   새 역할을 만들려면 **역할 만들기 마법사를 사용하여 역할 만들기**를 선택할 수 있습니다.

1. 다음 단계에서 **다음**을 선택하고 마지막 단계에서 **제출**을 선택합니다.

### 사용자 프로필 실행 역할 변경
<a name="sagemaker-roles-change-execution-role-user"></a>

다음은 사용자의 실행 역할을 변경하는 방법에 대한 지침을 제공합니다. 이 실행 역할을 변경하면 이 사용자가 만든 모든 프라이빗 공간에서 수임하는 역할이 변경됩니다.

#### 사용자 프로필 실행 역할 변경(콘솔)
<a name="sagemaker-roles-change-execution-role-user-console"></a>

**사용자에게 연결된 실행 역할 변경**

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

1. 왼쪽 탐색 창에서 **관리자 구성** 아래의 **도메인**을 선택합니다.

1. 도메인에 해당하는 링크를 선택합니다.

1. **사용자 프로필** 탭을 선택합니다.

1. 사용자 프로필 이름에 해당하는 링크를 선택합니다.

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

1. 드롭다운 목록에서 기존 역할을 선택하거나 사용자 지정 IAM 역할 ARN을 입력하거나 새 역할을 만들 수 있습니다.

   새 역할을 만들려면 **역할 만들기 마법사를 사용하여 역할 만들기**를 선택할 수 있습니다.

1. 다음 단계에서 **다음**을 선택하고 마지막 단계에서 **제출**을 선택합니다.

## 실행 역할에 대한 권한 수정
<a name="sagemaker-roles-modify-to-execution-role"></a>

ID의 실행 역할(예: SageMaker AI 사용자, 스페이스 또는 도메인)에 대한 기존 권한을 수정할 수 있습니다. 이는 ID가 수임하는 적절한 IAM 역할을 찾은 다음 해당 IAM 역할을 수정하여 수행됩니다. 다음은 콘솔을 통해 이를 달성하는 방법에 대한 지침을 제공합니다.

실행 역할을 수정하면 해당 공간의 실행 역할도 변경됩니다. 변경의 영향은 즉각적이지 않을 수 있습니다.
+ *사용자의 실행 역할*을 수정하면 해당 사용자가 만든 *프라이빗 공간*이 수정된 실행 역할을 수임합니다.
+ *공간의 기본 실행 역할*을 수정하면 도메인의 *공유 공간*이 수정된 실행 역할을 수임합니다.

실행 역할 및 공간에 대한 자세한 내용은 [도메인 공간 권한 및 실행 역할 이해](execution-roles-and-spaces.md) 섹션을 참조하세요.

대신 ID가 수임하는 역할을 *변경*하려면 [실행 역할 변경](#sagemaker-roles-change-execution-role) 섹션을 참조하세요.

### 실행 역할에 대한 권한 수정(콘솔)
<a name="sagemaker-roles-modify-to-execution-role-console"></a>

**실행 역할에 대한 권한을 수정하는 방법**

1. 먼저 수정하려는 ID의 이름을 가져옵니다.
   + [도메인 실행 역할 가져오기](#sagemaker-roles-get-execution-role-domain)
   + [공간 실행 역할 가져오기](#sagemaker-roles-get-execution-role-space)
   + [사용자 실행 역할 가져오기](#sagemaker-roles-get-execution-role-user)

1. ID가 수임하는 역할을 수정하려면 *AWS Identity and Access Management 사용 설명서*의 [Modifying a role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html)을 참조하세요.

   IAM ID에 권한 추가에 대한 자세한 내용과 지침은 *AWS Identity and Access Management 사용 설명서*의 [Add or remove identity permissions](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)를 참조하세요.

## 역할 전달
<a name="sagemaker-roles-pass-role"></a>

서비스 간 역할 전달과 같은 작업은 SageMaker AI의 일반적인 기능입니다. *서비스 권한 부여 참조*의 [Actions, Resources, and Condition Keys for SageMaker AI](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-actions-as-permissions)에서 자세한 내용을 확인할 수 있습니다.

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCompilationJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCompilationJob.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFeatureGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFeatureGroup.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateImage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateImage.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateMonitoringSchedule.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateMonitoringSchedule.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateImage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateImage.html), [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html) API 직접 호출을 수행할 때 역할(`iam:PassRole`)을 전달합니다.

다음 신뢰 정책을 SageMaker AI 위탁자에게 역할을 수임할 권한을 부여하고 모든 실행 역할과 동일한 IAM 역할에 연결합니다.

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

****  

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

------

역할에 부여해야 하는 권한은 호출하는 API에 따라 다릅니다. 다음 섹션에서는 이러한 권한을 설명합니다.

**참고**  
권한 정책을 생성하여 권한을 관리하는 대신 AWS관리형 `AmazonSageMakerFullAccess` 권한 정책을 사용할 수 있습니다. 이 정책의 권한은 상당히 광범위하여 SageMaker AI에서 수행하려는 모든 작업을 허용합니다. 다양한 권한이 추가된 이유를 포함하여 정책 목록에 대한 내용은 [AWS 관리형 정책: AmazonSageMakerFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonSageMakerFullAccess)섹션을 참조하세요. 사용자 지정 정책을 생성하고 권한 관리하여 실행 역할에서 수행해야 하는 작업으로만 권한을 제한하려면 다음 주제를 참조하세요.

**중요**  
문제가 발생하는 경우 [Amazon SageMaker AI ID 및 액세스 문제 해결](security_iam_troubleshoot.md)섹션을 참조하세요.

IAM 역할에 대한 자세한 내용은 *Service Authorization Reference*의 [IAM 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)을 참조하세요.

**Topics**
+ [실행 역할 생성](#sagemaker-roles-create-execution-role)
+ [실행 역할을 가져옵니다.](#sagemaker-roles-get-execution-role)
+ [실행 역할 변경](#sagemaker-roles-change-execution-role)
+ [실행 역할에 대한 권한 수정](#sagemaker-roles-modify-to-execution-role)
+ [역할 전달](#sagemaker-roles-pass-role)
+ [CreateAutoMLJob 및 CreateAutoMLJobV2 API: 실행 역할 권한](#sagemaker-roles-autopilot-perms)
+ [CreateModel API: 실행 역할 권한](#sagemaker-roles-createdomain-perms)
+ [CreateImage 및 UpdateImage APIs: 실행 역할 권한](#sagemaker-roles-createimage-perms)
+ [CreateNotebookInstance API: 실행 역할 권한](#sagemaker-roles-createnotebookinstance-perms)
+ [CreateHyperParameterTuningJob API: 실행 역할 권한](#sagemaker-roles-createhyperparametertiningjob-perms)
+ [CreateProcessingJob API: 실행 역할 권한](#sagemaker-roles-createprocessingjob-perms)
+ [CreateTrainingJob API: 실행 역할 권한](#sagemaker-roles-createtrainingjob-perms)
+ [CreateModel API: 실행 역할 권한](#sagemaker-roles-createmodel-perms)
+ [SageMaker 지리 공간 기능](sagemaker-geospatial-roles.md)

## CreateAutoMLJob 및 CreateAutoMLJobV2 API: 실행 역할 권한
<a name="sagemaker-roles-autopilot-perms"></a>

`CreateAutoMLJob` 또는 `CreateAutoMLJobV2` API 요청에서 전달할 수 있는 실행 역할에 대해 다음 최소 권한 정책을 역할에 연결합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "sagemaker.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:DescribeEndpointConfig",
                "sagemaker:DescribeModel",
                "sagemaker:InvokeEndpoint",
                "sagemaker:ListTags",
                "sagemaker:DescribeEndpoint",
                "sagemaker:CreateModel",
                "sagemaker:CreateEndpointConfig",
                "sagemaker:CreateEndpoint",
                "sagemaker:DeleteModel",
                "sagemaker:DeleteEndpointConfig",
                "sagemaker:DeleteEndpoint",
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

AutoML 작업에 대해 프라이빗 VPC를 지정하는 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeVpcs",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups"
    ]
}
```

 AWS KMS 관리형 키(SSE-KMS)를 사용한 서버 측 암호화를 사용하여 입력을 암호화하는 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
        "kms:Decrypt"
    ]
}
```

AutoML 작업의 출력 구성에 KMS 키를 지정할 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
    "kms:Encrypt"
    ]
}
```

AutoML 작업의 리소스 구성에 볼륨 KMS 키를 지정할 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
    "kms:CreateGrant"
    ]
}
```

## CreateModel API: 실행 역할 권한
<a name="sagemaker-roles-createdomain-perms"></a>

IAM Identity Center가 있는 도메인의 실행 역할과 IAM 도메인의 사용자/실행 역할에는 `CreateDomain` API 요청`KmsKeyId`에서 AWS KMS 고객 관리형 키를 로 전달할 때 다음 권한이 필요합니다. 권한은 `CreateApp`API 직접 호출 중에 적용됩니다.

`CreateDomain` API 요청에서 전달할 수 있는 실행 역할에 대해 다음 권한 정책을 역할에 연결합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/kms-key-id"
        }
    ]
}
```

------

또는 KMS 정책에 권한이 지정된 경우 다음 정책을 역할에 연결할 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/ExecutionRole"
                ]
            },
            "Action": [
                "kms:CreateGrant",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## CreateImage 및 UpdateImage APIs: 실행 역할 권한
<a name="sagemaker-roles-createimage-perms"></a>

`CreateImage` 또는 `UpdateImage`API 요청에서 전달할 수 있는 실행 역할에 대해 다음 권한 정책을 역할에 연결합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## CreateNotebookInstance API: 실행 역할 권한
<a name="sagemaker-roles-createnotebookinstance-perms"></a>

`CreateNotebookInstance` API 호출에 대한 실행 역할을 부여하는 권한은 노트북 인스턴스로 무엇을 할 계획인지에 따라 다릅니다. 이를 사용하여 SageMaker AI API를 간접적으로 호출하고 `CreateTrainingJob` 및 `CreateModel` API를 직접적으로 호출할 때 동일한 역할을 전달하고자 하는 경우 역할에 다음 권한 정책을 연결합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:*",
                "ecr:GetAuthorizationToken",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage",
                "ecr:BatchCheckLayerAvailability",
                "ecr:SetRepositoryPolicy",
                "ecr:CompleteLayerUpload",
                "ecr:BatchDeleteImage",
                "ecr:UploadLayerPart",
                "ecr:DeleteRepositoryPolicy",
                "ecr:InitiateLayerUpload",
                "ecr:DeleteRepository",
                "ecr:PutImage",
                "ecr:CreateRepository",
                "cloudwatch:PutMetricData",
                "cloudwatch:GetMetricData",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics",
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents",
                "logs:GetLogEvents",
                "s3:CreateBucket",
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "robomaker:CreateSimulationApplication",
                "robomaker:DescribeSimulationApplication",
                "robomaker:DeleteSimulationApplication",
                "robomaker:CreateSimulationJob",
                "robomaker:DescribeSimulationJob",
                "robomaker:CancelSimulationJob",
                "ec2:CreateVpcEndpoint",
                "ec2:DescribeRouteTables",
                "elasticfilesystem:DescribeMountTargets"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "codecommit:GitPull",
                "codecommit:GitPush"
            ],
            "Resource": [
                "arn:aws:codecommit:*:*:*sagemaker*",
                "arn:aws:codecommit:*:*:*SageMaker*",
                "arn:aws:codecommit:*:*:*Sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "sagemaker.amazonaws.com"
                }
            }
        }
    ]
}
```

------

권한을 제한하려면 `"Resource": "*"`를 다음과 같이 제한하여 특정 Amazon S3 및 Amazon ECR 리소스로 제한합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:*",
                "ecr:GetAuthorizationToken",
                "cloudwatch:PutMetricData",
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents",
                "logs:GetLogEvents"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "sagemaker.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket/object1",
                "arn:aws:s3:::outputbucket/path",
                "arn:aws:s3:::inputbucket/object2",
                "arn:aws:s3:::inputbucket/object3"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-east-1:111122223333:repository/my-repo1",
                "arn:aws:ecr:us-east-1:111122223333:repository/my-repo2",
                "arn:aws:ecr:us-east-1:111122223333:repository/my-repo3"
            ]
        }
    ]
}
```

------

Amazon DynamoDB 또는 Amazon 관계형 데이터베이스 서비스와 같은 다른 리소스에 액세스할 계획이라면 이 정책에 관련 권한을 추가합니다.

앞선 정책에서 정책의 범위를 다음과 같이 지정합니다.
+ `s3:ListBucket` 권한의 범위를 `InputDataConfig.DataSource.S3DataSource.S3Uri`요청의 `CreateTrainingJob`로 지정한 특정 버킷으로 지정합니다.
+ `s3:GetObject `, `s3:PutObject`및 `s3:DeleteObject`권한 범위를 다음과 같이 지정합니다.
  + `CreateTrainingJob` 요청에서 지정한 다음 값의 범위를 지정합니다.

    `InputDataConfig.DataSource.S3DataSource.S3Uri`

    `OutputDataConfig.S3OutputPath`
  + `CreateModel` 요청에서 지정한 다음 값의 범위를 지정합니다.

    `PrimaryContainer.ModelDataUrl`

    `SuplementalContainers.ModelDataUrl`
+ `ecr` 권한 범위를 다음과 같이 지정합니다.
  + `AlgorithmSpecification.TrainingImage` 요청에서 지정한 `CreateTrainingJob`값의 범위를 지정합니다.
  + `PrimaryContainer.Image` 요청에서 지정한 `CreateModel`값의 범위를 지정합니다.

`cloudwatch` 및 `logs`작업은 "\$1" 리소스에 적용됩니다. 자세한 내용은 Amazon CloudWatch 사용 설명서의 [CloudWatch 리소스 및 작업](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/iam-access-control-overview-cw.html#CloudWatch_ARN_Format)을 참조하세요.



## CreateHyperParameterTuningJob API: 실행 역할 권한
<a name="sagemaker-roles-createhyperparametertiningjob-perms"></a>

`CreateHyperParameterTuningJob` API 요청에서 전달할 수 있는 실행 역할에 대해 다음 권한 정책을 역할에 연결합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

`"Resource": "*"`를 지정하는 대신 특정 Amazon S3, Amazon ECR 및 Amazon CloudWatch Logs 리소스로 이러한 권한 범위를 지정할 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket/object",
                "arn:aws:s3:::outputbucket/path"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/my-repo"
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams"
            ],
            "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:/aws/sagemaker/TrainingJobs*"
        }
    ]
}
```

------

하이퍼파라미터 튜닝 작업과 연결된 훈련 컨테이너에서 DynamoDB 또는 Amazon RDS 리소스와 같은 기타 데이터 원본에 액세스해야 하는 경우 이 정책에 관련 권한을 추가합니다.

앞선 정책에서 정책의 범위를 다음과 같이 지정합니다.
+ `s3:ListBucket` 권한의 범위를 `InputDataConfig.DataSource.S3DataSource.S3Uri`요청의 `CreateTrainingJob`로 지정한 특정 버킷으로 지정합니다.
+ `s3:GetObject ` 및 `s3:PutObject`권한 범위를 `CreateHyperParameterTuningJob`요청의 입력 및 출력 데이터 구성에서 지정한 다음 객체로 지정합니다.

  `InputDataConfig.DataSource.S3DataSource.S3Uri`

  `OutputDataConfig.S3OutputPath`
+ Amazon ECR 권한 범위를 `CreateHyperParameterTuningJob`요청에서 지정한 레지스트리 경로(`AlgorithmSpecification.TrainingImage`)로 지정합니다.
+ SageMaker 훈련 작업 그룹을 로깅하려면 Amazon CloudWatch Logs 권한 범위를 지정하세요.

`cloudwatch` 작업은 "\$1" 리소스에 적용됩니다. 자세한 내용은 Amazon CloudWatch 사용 설명서의 [CloudWatch Resources and Operations](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format)을 참조하세요.

하이퍼파라미터 튜닝 작업에 대해 프라이빗 VPC를 지정하는 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeVpcs",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups"
    ]
}
```

 AWS KMS 관리형 키(SSE-KMS)를 사용한 서버 측 암호화를 사용하여 입력을 암호화하는 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
        "kms:Decrypt"
    ]
}
```

하이퍼파라미터 튜닝 작업의 출력 구성에 KMS 키를 지정할 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
    "kms:Encrypt"
    ]
}
```

하이퍼파라미터 튜닝 작업의 리소스 구성에 볼륨 KMS 키를 지정할 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
    "kms:CreateGrant"
    ]
}
```

## CreateProcessingJob API: 실행 역할 권한
<a name="sagemaker-roles-createprocessingjob-perms"></a>

`CreateProcessingJob` API 요청에서 전달할 수 있는 실행 역할에 대해 다음 권한 정책을 역할에 연결합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

`"Resource": "*"`를 지정하는 대신 이러한 권한의 범위를 특정 Amazon S3 및 Amazon ECR 리소스로 지정할 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket/object",
                "arn:aws:s3:::outputbucket/path"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/my-repo"
        }
    ]
}
```

------

`CreateProcessingJob.AppSpecification.ImageUri`에서 DynamoDB 또는 Amazon RDS 리소스와 같은 기타 데이터 원본에 액세스해야 하는 경우 이 정책에 관련 권한을 추가합니다.

앞선 정책에서 정책의 범위를 다음과 같이 지정합니다.
+ `s3:ListBucket` 권한의 범위를 `ProcessingInputs`요청의 `CreateProcessingJob`로 지정한 특정 버킷으로 지정합니다.
+ `CreateProcessingJob` 요청의 `ProcessingInputs`및 `ProcessingOutputConfig`에서 다운로드되거나 업로드될 객체에 대한 `s3:GetObject `및 `s3:PutObject`권한의 범위를 지정합니다.
+ Amazon ECR 권한 범위를 `CreateProcessingJob`요청에서 지정한 레지스트리 경로(`AppSpecification.ImageUri`)로 지정합니다.

`cloudwatch` 및 `logs`작업은 "\$1" 리소스에 적용됩니다. 자세한 내용은 Amazon CloudWatch 사용 설명서의 [CloudWatch 리소스 및 작업](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/iam-access-control-overview-cw.html#CloudWatch_ARN_Format)을 참조하세요.

처리 작업에 대해 프라이빗 VPC를 지정하는 경우 다음 권한을 추가합니다. 조건이나 리소스 필터를 사용하여 정책의 범위를 정하지 마세요. 그렇지 않으면 처리 작업을 생성하는 동안 발생하는 유효성 검사가 실패합니다.

```
{
    "Effect": "Allow",
    "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeVpcs",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups"
    ]
}
```

 AWS KMS 관리형 키(SSE-KMS)를 사용한 서버 측 암호화를 사용하여 입력을 암호화하는 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
        "kms:Decrypt"
    ]
}
```

처리 작업의 출력 구성에 KMS 키를 지정할 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
    "kms:Encrypt"
    ]
}
```

처리 작업의 리소스 구성에 볼륨 KMS 키를 지정할 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
    "kms:CreateGrant"
    ]
}
```

## CreateTrainingJob API: 실행 역할 권한
<a name="sagemaker-roles-createtrainingjob-perms"></a>

`CreateTrainingJob` API 요청에서 전달할 수 있는 실행 역할에 대해 다음 권한 정책을 역할에 연결합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

`"Resource": "*"`를 지정하는 대신 이러한 권한의 범위를 특정 Amazon S3 및 Amazon ECR 리소스로 지정할 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket/object",
                "arn:aws:s3:::outputbucket/path"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/my-repo"
        }
    ]
}
```

------

`CreateTrainingJob.AlgorithSpecifications.TrainingImage`에서 DynamoDB 또는 Amazon RDS 리소스와 같은 기타 데이터 원본에 액세스해야 하는 경우 이 정책에 관련 권한을 추가합니다.

`AlgorithmSpecification.AlgorithmArn` 파라미터를 사용하여 알고리즘 리소스를 지정하는 경우 실행 역할에는 다음 권한도 있어야 합니다.

```
{
    "Effect": "Allow",
    "Action": [
        "sagemaker:DescribeAlgorithm"
    ],
    "Resource": "arn:aws:sagemaker:*:*:algorithm/*"
}
```

앞선 정책에서 정책의 범위를 다음과 같이 지정합니다.
+ `s3:ListBucket` 권한의 범위를 `InputDataConfig.DataSource.S3DataSource.S3Uri`요청의 `CreateTrainingJob`로 지정한 특정 버킷으로 지정합니다.
+ `s3:GetObject ` 및 `s3:PutObject`권한 범위를 `CreateTrainingJob`요청의 입력 및 출력 데이터 구성에서 지정한 다음 객체로 지정합니다.

  `InputDataConfig.DataSource.S3DataSource.S3Uri`

  `OutputDataConfig.S3OutputPath`
+ Amazon ECR 권한 범위를 `CreateTrainingJob`요청에서 지정한 레지스트리 경로(`AlgorithmSpecification.TrainingImage`)로 지정합니다.

`cloudwatch` 및 `logs`작업은 "\$1" 리소스에 적용됩니다. 자세한 내용은 Amazon CloudWatch 사용 설명서의 [CloudWatch 리소스 및 작업](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/iam-access-control-overview-cw.html#CloudWatch_ARN_Format)을 참조하세요.

훈련 작업에 대해 프라이빗 VPC를 지정하는 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
      "ec2:CreateNetworkInterface",
      "ec2:CreateNetworkInterfacePermission",
      "ec2:DeleteNetworkInterface",
      "ec2:DeleteNetworkInterfacePermission",
      "ec2:DescribeNetworkInterfaces",
      "ec2:DescribeVpcs",
      "ec2:DescribeDhcpOptions",
      "ec2:DescribeSubnets",
      "ec2:DescribeSecurityGroups"
    ]
}
```

 AWS KMS 관리형 키(SSE-KMS)를 사용한 서버 측 암호화를 사용하여 입력을 암호화하는 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
        "kms:Decrypt"
    ]
}
```

훈련 작업의 출력 구성에 KMS 키를 지정할 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
    "kms:Encrypt"
    ]
}
```

훈련 작업의 리소스 구성에 볼륨 KMS 키를 지정할 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
    "kms:CreateGrant"
    ]
}
```

## CreateModel API: 실행 역할 권한
<a name="sagemaker-roles-createmodel-perms"></a>

`CreateModel` API 요청에서 전달할 수 있는 실행 역할에 대해 다음 권한 정책을 역할에 연결합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "s3:GetObject",
                "s3:ListBucket",
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

`"Resource": "*"`를 지정하는 대신 이러한 권한의 범위를 특정 Amazon S3 및 Amazon ECR 리소스로 지정할 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::inputbucket/object"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-east-1:111122223333:repository/my-repo",
                "arn:aws:ecr:us-east-1:111122223333:repository/my-repo"
            ]
        }
    ]
}
```

------

`CreateModel.PrimaryContainer.Image`에서 Amazon DynamoDB 또는 Amazon RDS 리소스와 같은 기타 데이터 원본에 액세스해야 하는 경우 이 정책에 관련 권한을 추가합니다.

앞선 정책에서 정책의 범위를 다음과 같이 지정합니다.
+ S3 권한 범위를 `PrimaryContainer.ModelDataUrl`요청의 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)에서 지정한 객체로 지정합니다.
+ Amazon ECR 권한 범위를 `CreateModel`요청에서 `PrimaryContainer.Image`및 `SecondaryContainer.Image`로 지정한 특정 레지스트리 경로로 지정합니다.

`cloudwatch` 및 `logs`작업은 "\$1" 리소스에 적용됩니다. 자세한 내용은 Amazon CloudWatch 사용 설명서의 [CloudWatch 리소스 및 작업](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/iam-access-control-overview-cw.html#CloudWatch_ARN_Format)을 참조하세요.

**참고**  
프로덕션 환경에서 모델을 배포하기 위해 [SageMaker AI 배포 가드레일 기능](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails.html)을 사용하려는 경우 실행 역할에 자동 롤백 경보에 대한 `cloudwatch:DescribeAlarms` 작업을 수행할 권한이 있는지 확인하세요.

모델에 대해 프라이빗 VPC를 지정하는 경우 다음 권한을 추가합니다.

```
{
    "Effect": "Allow",
    "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeVpcs",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups"
    ]
}
```

# SageMaker 지리 공간 기능
<a name="sagemaker-geospatial-roles"></a>

관리형 서비스인 Amazon SageMaker 지리 공간 기능은 사용자를 대신하여 SageMaker AI에서 관리하는 AWS 하드웨어에서 작업을 수행합니다. AWS Identity and Access Management 를 사용하여 사용자, 그룹 및 역할에 SageMaker 지리 공간에 대한 액세스 권한을 부여합니다.

IAM 관리자는 또는 SDK 중 하나를 사용하여 사용자, 그룹 AWS Management Console AWS CLI또는 역할에 이러한 권한을 부여할 수 있습니다. AWS SDKs 

**SageMaker 지리 공간을 사용하려면 다음과 같은 IAM 권한이 필요합니다.**

1. **SageMaker AI 실행 역할**

   SageMaker 지리 공간별 API 작업을 사용하려면 SageMaker AI 실행 역할이 실행 역할의 신뢰 정책에 SageMaker 지리 공간 서비스 위탁자 `sagemaker-geospatial.amazonaws.com`을 포함해야 합니다. 이렇게 하면 SageMaker AI 실행 역할이 사용자를 AWS 계정 대신하여에서 작업을 수행할 수 있습니다.

1. **Amazon SageMaker Studio Classic 및 SageMaker 지리 공간에 액세스할 수 있는 사용자, 그룹 또는 역할**

   SageMaker 지리 공간을 시작하려면 AWS 관리형 정책를 사용할 수 있습니다`AmazonSageMakerGeospatialFullAccess`. 이렇게 사용자, 그룹 또는 역할에게 SageMaker 지리 공간에 대한 전체 액세스 권한을 부여합니다. 정책을 확인하고 사용 가능한 작업, 리소스 및 조건에 대해 자세히 알아보려면 [AWS 관리형 정책: AmazonSageMakerFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonSageMakerFullAccess)섹션을 참조하세요.

   Studio Classic을 시작하고 Amazon SageMaker AI 도메인을 만들려면 [Amazon SageMaker AI 도메인 개요](gs-studio-onboard.md) 섹션을 참조하세요.

다음 주제를 사용하여 새 SageMaker AI 실행 역할을 생성하고, 기존 SageMaker AI 실행 역할을 업데이트하고, SageMaker 지리 공간별 IAM 작업, 리소스 및 조건을 사용하여 권한을 관리하는 방법을 알아봅니다.

**Topics**
+ [새 SageMaker AI 실행 역할 생성](sagemaker-geospatial-roles-create-execution-role.md)
+ [기존 SageMaker AI 실행 역할에 SageMaker 지리 공간 서비스 위탁자 추가](sagemaker-geospatial-roles-pass-role.md)
+ [`StartEarthObservationJob` API 실행 역할 권한](sagemaker-roles-start-eoj-perms.md)
+ [`StartVectorEnrichmentJob` API 실행 역할 권한](sagemaker-roles-start-vej-perms.md)
+ [`ExportEarthObservationJob` API 실행 역할 권한](sagemaker-roles-export-eoj-perms.md)
+ [`ExportVectorEnrichmentJob` API: 실행 역할 권한](sagemaker-roles-export-vej-perms.md)

# 새 SageMaker AI 실행 역할 생성
<a name="sagemaker-geospatial-roles-create-execution-role"></a>

SageMaker 지리 공간 기능을 사용하려면 사용자, 그룹 또는 역할 및 실행 역할을 설정해야 합니다. 사용자 역할은 사용자가 수행할 수 있는 작업과 수행할 수 없는 작업을 결정하는 권한 정책이 있는 AWS 자격 증명입니다 AWS. 실행 역할은 AWS 리소스에 액세스할 수 서비스 권한을 부여하는 IAM 역할입니다. 실행 역할은 권한 및 신뢰 정책으로 구성됩니다. 신뢰 정책은 역할을 맡을 수 있는 보안 주체를 지정합니다.

또한 SageMaker 지리 공간에는 다른 서비스 보안 주체(`sagemaker-geospatial.amazonaws.com`)가 필요합니다. 기존 SageMaker AI 고객인 경우 이 추가 서비스 위탁자를 신뢰 정책에 추가해야 합니다.

다음 절차를 사용하여 IAM 관리형 정책 `AmazonSageMakerGeospatialFullAccess`가 연결된 새 실행 역할을 생성합니다. 사용 사례에 더 세분화된 권한이 필요한 경우 이 설명서의 다른 섹션을 사용하여 비즈니스 요구 사항에 맞는 실행 역할을 생성하세요.

**중요**  
다음 절차에서 사용되는 IAM 관리형 정책 `AmazonSageMakerGeospatialFullAccess`는 이름에 `SageMaker`, `Sagemaker`, `sagemaker`또는 `aws-glue`가 포함된 버킷 또는 객체에 대해 특정 Amazon S3 작업을 수행할 수 있는 실행 역할 권한만 부여합니다. 실행 역할 정책을 업데이트하여 다른 Amazon S3 버킷 및 객체에 대한 액세스 권한을 부여하는 방법을 알아보려면 [SageMaker AI 실행 역할에 Amazon S3 권한 추가](sagemaker-roles.md#sagemaker-roles-get-execution-role-s3)섹션을 참조하세요.

**새 역할을 생성하려면**

1. IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))을 엽니다.

1. **역할**을 선택하고 **역할 생성**을 선택합니다.

1. **SageMaker**를 선택합니다.

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

1. IAM 관리형 정책 `AmazonSageMakerGeospatialFullAccess`는 이 역할에 자동으로 연결됩니다. 이 정책에 포함된 권한을 보려면 정책 이름 옆에 있는 옆으로 화살표를 선택합니다. **다음: 태그**를 선택합니다.

1. (선택 사항) 태그를 추가하고 **다음: 검토**를 선택합니다.

1. **역할 이름** 아래의 텍스트 필드에 역할 이름을 지정하고 **역할 생성**을 선택합니다.

1. IAM 콘솔의 **역할** 섹션에서 7단계에서 방금 생성한 역할을 찾습니다. 필요한 경우 텍스트 상자에서 7단계에서 생성한 역할 이름을 사용하여 역할을 검색하세요.

1. 역할 요약 페이지에서 ARN의 값을 메모해 둡니다.

# 기존 SageMaker AI 실행 역할에 SageMaker 지리 공간 서비스 위탁자 추가
<a name="sagemaker-geospatial-roles-pass-role"></a>

SageMaker 지리 공간별 API 작업을 사용하려면 SageMaker AI 실행 역할이 실행 역할의 신뢰 정책에 SageMaker 지리 공간 서비스 위탁자 `sagemaker-geospatial.amazonaws.com`을 포함해야 합니다. 이렇게 하면 SageMaker AI 실행 역할이 사용자를 AWS 계정 대신하여에서 작업을 수행할 수 있습니다.

서비스 간 역할 전달과 같은 작업은 SageMaker AI에서 흔히 발생합니다. 자세한 내용은,

SageMaker 지리 공간 서비스 위탁자를 기존 SageMaker AI 실행 역할에 추가하려면 다음 신뢰 정책에 표시된 대로 SageMaker 지리 공간 서비스 위탁자를 포함하도록 기존 정책을 업데이트하세요. 신뢰 정책에 서비스 위탁자를 연결함으로써 이제 SageMaker AI 실행 역할이 사용자 대신 SageMaker 지리 공간별 API를 실행할 수 있습니다.

SageMaker 지리 공간별 IAM 작업, 리소스 및 조건에 대해 자세히 알아보려면 *IAM 사용 설명서*의 [Actions, Resources, and Condition Keys for SageMaker AI](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsagemaker.html#amazonsagemaker-actions-as-permissions)를 참조하세요.

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

****  

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

------

# `StartEarthObservationJob` API 실행 역할 권한
<a name="sagemaker-roles-start-eoj-perms"></a>

`StartEarthObservationJob` API 요청에서 전달할 수 있는 실행 역할에 대해 다음 최소 권한 정책을 역할에 연결할 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
        "Effect": "Allow",
        "Action": "sagemaker-geospatial:GetEarthObservationJob",
        "Resource":  "arn:aws:sagemaker-geospatial:*:*:earth-observation-job/*"
        },
        {
        "Effect": "Allow",
        "Action": "sagemaker-geospatial:GetRasterDataCollection",
        "Resource": "arn:aws:sagemaker-geospatial:*:*:raster-data-collection/*"
        }
    ]
    }
```

------

 AWS KMS 관리형 키(SSE-KMS)를 사용한 서버 측 암호화를 사용하여 입력 Amazon S3 버킷을 암호화하는 경우 자세한 내용은 [ Amazon S3 버킷 키 사용을 참조하세요](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html).

# `StartVectorEnrichmentJob` API 실행 역할 권한
<a name="sagemaker-roles-start-vej-perms"></a>

`StartVectorEnrichmentJob` API 요청에서 전달할 수 있는 실행 역할에 대해 다음 최소 권한 정책을 역할에 연결할 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
        "Effect": "Allow",
        "Action": "sagemaker-geospatial:GetVectorEnrichmentJob",
        "Resource":  "arn:aws:sagemaker-geospatial:*:*:vector-enrichment-job/*"
        }
    ]
    }
```

------

 AWS KMS 관리형 키(SSE-KMS)를 사용한 서버 측 암호화를 사용하여 입력 Amazon S3 버킷을 암호화하는 경우 자세한 내용은 [ Amazon S3 버킷 키 사용을 참조하세요](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html).

# `ExportEarthObservationJob` API 실행 역할 권한
<a name="sagemaker-roles-export-eoj-perms"></a>

`ExportEarthObservationJob` API 요청에서 전달할 수 있는 실행 역할에 대해 다음 최소 권한 정책을 역할에 연결할 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
        "Effect": "Allow",
        "Action": "sagemaker-geospatial:GetEarthObservationJob",
        "Resource":  "arn:aws:sagemaker-geospatial:*:*:earth-observation-job/*"
        }
    ]
    }
```

------

 AWS KMS 관리형 키(SSE-KMS)를 사용한 서버 측 암호화를 사용하여 입력 Amazon S3 버킷을 암호화하는 경우 자세한 내용은 [ Amazon S3 버킷 키 사용을 참조하세요](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html).

# `ExportVectorEnrichmentJob` API: 실행 역할 권한
<a name="sagemaker-roles-export-vej-perms"></a>

`ExportVectorEnrichmentJob` API 요청에서 전달할 수 있는 실행 역할에 대해 다음 최소 권한 정책을 역할에 연결할 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
        "Effect": "Allow",
        "Action": "sagemaker-geospatial:GetVectorEnrichmentJob",
        "Resource":  "arn:aws:sagemaker-geospatial:*:*:vector-enrichment-job/*"
        }
    ]
    }
```

------

입력 Amazon S3 버킷이 AWS KMS 관리형 키(SSE-KMS)를 사용한 서버 측 암호화를 사용하여 암호화된 경우 [ Amazon S3 버킷 키 사용을 참조하세요](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html).

# SageMaker 역할 관리자
<a name="role-manager"></a>

Amazon SageMaker AI를 통해 최소 권한을 요구하는 기계 학습(ML) 관리자는 데이터 과학자, 기계 학습 운영(MLOps) 엔지니어 등과 같은 페르소나에게 필요한 고유한 최소 권한 액세스 요구 사항을 포함하여 다양한 업계 관점을 고려해야 합니다. Amazon SageMaker 역할 관리자를 사용하면 Amazon SageMaker AI 콘솔을 통해 일반적인 기계 학습 요구 사항에 맞는 사용자 기반 IAM 역할을 직접 구축하고 관리할 수 있습니다.

Amazon SageMaker 역할 관리자는 일반적인 ML 활동에 대해 사전 구성된 역할 페르소나 3개와 사전 정의된 권한을 제공합니다. 제공된 페르소나와 제안된 정책을 살펴보거나 비즈니스 요구 사항에 맞는 페르소나에 대한 역할을 생성 및 유지 관리하세요. 추가 사용자 지정이 필요한 경우 Amazon SageMaker 역할 관리자의 [1단계. 역할 정보 입력](role-manager-tutorial.md#role-manager-tutorial-enter-role-information)에서 [Amazon Virtual Private Cloud](https://aws.amazon.com/vpc/) 리소스 및 [AWS Key Management Service](https://aws.amazon.com/kms/)암호화 키에 대한 네트워킹 및 암호화 권한을 지정하세요.

**Topics**
+ [역할 관리자 사용(콘솔)](role-manager-tutorial.md)
+ [역할 관리자 사용(AWS CDK)](role-manager-tutorial-cdk.md)
+ [페르소나 참조](role-manager-personas.md)
+ [ML 활동 참조](role-manager-ml-activities.md)
+ [Studio Classic 시작](role-manager-launch-notebook.md)
+ [역할 관리자 FAQ](role-manager-faqs.md)

# 역할 관리자 사용(콘솔)
<a name="role-manager-tutorial"></a>

Amazon SageMaker AI 콘솔 왼쪽 탐색의 다음 위치에서 Amazon SageMaker 역할 관리자를 사용할 수 있습니다.
+ **시작하기** - 사용자를 위한 권한 정책을 빠르게 추가할 수 있습니다.
+ **도메인** - Amazon SageMaker AI 도메인 내 사용자에 대한 권한 정책을 추가합니다.
+ **노트북** - 노트북을 만들고 실행하는 사용자에게 최소 권한을 추가합니다.
+ **훈련** - 훈련 작업을 생성하고 관리하는 사용자에게는 최소 권한을 추가합니다.
+ **추론** - 추론을 위해 모델을 배포하고 관리하는 사용자에게는 최소 권한을 추가합니다.

다음 절차를 사용하여 SageMaker AI 콘솔의 여러 위치에서 역할을 생성하는 프로세스를 시작할 수 있습니다.

## 시작하기
<a name="role-manager-tutorial-getting-started"></a>

SageMaker AI를 처음 사용하는 경우 **시작하기** 섹션에서 역할을 생성하는 것이 좋습니다.

Amazon SageMaker 역할 관리자를 사용하여 역할을 생성하려면 다음을 수행하세요.

1. Amazon SageMaker AI 콘솔을 엽니다.

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

1. **관리자 구성**에서 **역할 관리자**를 선택합니다.

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

## domains
<a name="role-manager-tutorial-domain"></a>

Amazon SageMaker AI 도메인 생성 프로세스를 시작할 때 Amazon SageMaker 역할 관리자를 사용하여 역할을 만들 수 있습니다.

Amazon SageMaker 역할 관리자를 사용하여 역할을 생성하려면 다음을 수행하세요.

1. Amazon SageMaker AI 콘솔을 엽니다.

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

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

1. **도메인 생성(Create domain)**을 선택합니다.

1. **역할 생성 마법사를 사용하여 역할 생성**을 선택합니다.

## 노트북
<a name="role-manager-tutorial-notebook"></a>

노트북 생성 프로세스를 시작할 때 Amazon SageMaker 역할 관리자를 사용하여 역할을 생성할 수 있습니다.

Amazon SageMaker 역할 관리자를 사용하여 역할을 생성하려면 다음을 수행하세요.

1. Amazon SageMaker AI 콘솔을 엽니다.

1. 왼쪽 탐색에서 **노트북**을 선택합니다.

1. **노트북 인스턴스**를 선택합니다.

1. **노트북 인스턴스 생성**을 선택합니다.

1. **역할 생성 마법사를 사용하여 역할 생성**을 선택합니다.

## 학습
<a name="role-manager-tutorial-training"></a>

훈련 작업 생성 프로세스를 시작할 때 Amazon SageMaker 역할 관리자를 사용하여 역할을 생성할 수 있습니다.

Amazon SageMaker 역할 관리자를 사용하여 역할을 생성하려면 다음을 수행하세요.

1. Amazon SageMaker AI 콘솔을 엽니다.

1. 왼쪽 탐색에서 **훈련**을 선택합니다.

1. **훈련 작업**을 선택합니다.

1. **훈련 작업 생성**을 선택합니다.

1. **역할 생성 마법사를 사용하여 역할 생성**을 선택합니다.

## Inference
<a name="role-manager-tutorial-inference"></a>

추론용 모델 배포 프로세스를 시작할 때 Amazon SageMaker 역할 관리자를 사용하여 역할을 생성할 수 있습니다.

Amazon SageMaker 역할 관리자를 사용하여 역할을 생성하려면 다음을 수행하세요.

1. Amazon SageMaker AI 콘솔을 엽니다.

1. 왼쪽 탐색에서 **추론**을 선택합니다.

1. **모델**을 선택합니다.

1. **Create model**(모델 생성)을 선택합니다.

1. **역할 생성 마법사를 사용하여 역할 생성**을 선택합니다.

위 절차 중 하나를 완료한 후 다음 섹션의 정보를 사용하여 역할을 생성합니다.

## 사전 조건
<a name="role-manager-tutorial-prerequisites"></a>

Amazon SageMaker 역할 관리자를 사용하려면 IAM 역할을 생성할 권한이 있어야 합니다. 이 권한은 일반적으로 ML 관리자 및 ML 실무자에 대한 최소 권한 권한을 가진 역할만 사용할 수 있습니다.

역할을 [전환](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) AWS Management Console 하여에서 IAM 역할을 일시적으로 수임할 수 있습니다. 역할 사용 방법에 대한 자세한 정보는 *IAM 사용 설명서*의 [IAM 역할 사용](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)을 참조하세요.

## 1단계. 역할 정보 입력
<a name="role-manager-tutorial-enter-role-information"></a>

새 SageMaker AI 역할의 고유한 접미사로 사용할 이름을 제공하세요. 기본적으로 IAM 콘솔에서 더 쉽게 검색할 수 있도록 모든 역할 이름에 `"sagemaker-"`접두사가 추가됩니다. 예를 들어 역할 생성 중 역할 `test-123`에 이름을 지정하면 IAM 콘솔에서 `sagemaker-test-123`처럼 역할이 표시됩니다. 필요한 경우 역할에 대한 설명을 추가하여 추가 세부 정보를 제공할 수 있습니다.

그런 다음 사용 가능한 페르소나 중 하나를 선택하여 데이터 사이언티스트, 데이터 엔지니어 또는 기계 학습 운영(MLOps) 엔지니어와 같은 페르소나에 대한 권장 권한을 획득하세요. 사용 가능한 페르소나 및 권장 권한에 대한 자세한 내용은 [페르소나 참조](role-manager-personas.md)섹션을 참조하세요. 제안된 권한 없이 역할을 생성하려면 **사용자 지정 역할 설정**을 선택합니다.

**참고**  
SageMaker AI 컴퓨팅 리소스가 훈련 및 추론과 같은 작업을 수행할 수 있도록 먼저 역할 관리자를 사용하여 SageMaker AI 컴퓨팅 역할을 생성하는 것이 좋습니다. SageMaker AI 컴퓨팅 역할 페르소나를 사용하여 역할 관리자와 함께 이 역할을 생성하세요. SageMaker AI 컴퓨팅 역할을 생성한 후에는 나중에 사용할 수 있도록 해당 ARN을 기록해 두세요.

### 네트워크 및 암호화 조건
<a name="role-manager-tutorial-enter-role-information-network-and-encryption"></a>

새 역할과 연결된 IAM 정책이 있는 VPC 구성, 서브넷, 보안 그룹을 사용하려면 VPC 사용자 지정을 활성화하는 것이 좋습니다. VPC 사용자 지정을 활성화하면 VPC 리소스와 상호 작용하는 ML 활동에 대한 IAM 정책의 범위가 최소 권한 액세스로 제한됩니다. VPC 사용자 지정은 기본적으로 활성화되지 않습니다. 권장 네트워킹 아키텍처에 대한 자세한 내용은AWS 기술 가이드의 [네트워킹 아키텍처](https://docs.aws.amazon.com/whitepapers/latest/build-secure-enterprise-ml-platform/networking-architecture.html)를 참조하세요.**

KMS 키를 사용하여 매우 민감한 데이터를 포함하는 규제 대상 워크로드의 데이터를 암호화, 복호화 및 다시 암호화할 수 있습니다. AWS KMS 사용자 지정이 활성화되면 사용자 지정 암호화 키를 지원하는 ML 활동에 대한 IAM 정책의 범위가 최소 권한 액세스로 축소됩니다. 자세한 내용은AWS 기술 가이드의 [AWS KMS를 이용한 암호화](https://docs.aws.amazon.com/whitepapers/latest/build-secure-enterprise-ml-platform/encryption-with-kms.html)를 참조하세요.**

## 2단계. ML 활동 구성
<a name="role-manager-tutorial-configure-ml-activities"></a>

각 Amazon SageMaker 역할 관리자 ML 활동에는 관련 AWS 리소스에 대한 액세스를 제공하는 제안된 IAM 권한이 포함되어 있습니다. 일부 ML 활동에서는 설정을 완료하기 위해 서비스 역할 ARN을 추가해야 합니다. 사전 정의된 ML 활동 및 해당 권한에 대한 자세한 내용은 [ML 활동 참조](role-manager-ml-activities.md)섹션을 참조하세요. 서비스 역할 추가 방법에 대한 자세한 내용은 [서비스 역할](#role-manager-tutorial-configure-ml-activities-service-roles)섹션을 참조하세요.

선택한 페르소나에 따라 특정 ML 활동이 이미 선택되어 있습니다. 제안된 ML 활동을 선택 취소하거나 추가 활동을 선택하여 고유한 역할을 만들 수 있습니다. 사용자 지정 역할 설정 페르소나를 선택한 경우 이 단계에서 ML 활동이 미리 선택되지 않습니다.

에서 역할에 추가 AWS 또는 고객 관리형 IAM 정책을 추가할 수 있습니다[3단계: 정책 및 태그 추가](#role-manager-tutorial-add-policies-and-tags).

### 서비스 역할
<a name="role-manager-tutorial-configure-ml-activities-service-roles"></a>

일부 AWS 서비스에서는 사용자를 대신하여 작업을 수행하기 위해 서비스 역할이 필요합니다. 선택한 ML 활동에서 사용자에게 서비스 역할을 전달하도록 요구하는 경우 해당 서비스 역할에 대한 ARN을 제공해야 합니다.

새 서비스 역할을 생성하거나 기존 서비스 역할(예: SageMaker AI 컴퓨팅 역할 페르소나로 생성된 서비스 역할)을 사용할 수 있습니다. [IAM 콘솔](https://console.aws.amazon.com/iamv2/)의 역할 섹션에서 역할 이름을 선택하여 기존 역할의 ARN을 찾을 수 있습니다. 서비스 역할에 대한 자세한 내용은 [AWS 서비스에 대한 역할 생성을 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

## 3단계: 정책 및 태그 추가
<a name="role-manager-tutorial-add-policies-and-tags"></a>

기존 AWS 또는 고객 관리형 IAM 정책을 새 역할에 추가할 수 있습니다. 기존 SageMaker AI 정책에 대한 자세한 내용은 [AWS Managed Policies for Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol.html)을 참조하세요. [IAM 콘솔](https://console.aws.amazon.com/iamv2/)의 **역할** 섹션에서 기존 정책을 확인할 수도 있습니다.

선택적으로 태그 기반 정책 조건을 사용하여 메타데이터 정보를 할당하여 AWS 리소스를 분류하고 관리할 수 있습니다. 각 태그는 키-값 페어로 표시됩니다. 자세한 내용은 [태그를 사용한 AWS 리소스 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)를 참조하세요.

## 역할 검토
<a name="role-manager-tutorial-review-role"></a>

시간을 내어 새 역할과 관련된 모든 정보를 검토하세요. 돌아가서 정보를 편집하려면 **이전**을 선택합니다. 역할을 생성할 준비가 되면 **역할 생성**을 선택합니다. 그러면 선택한 ML 활동에 대한 권한이 있는 역할이 생성됩니다. [IAM 콘솔](https://console.aws.amazon.com/iamv2/)의 **역할** 섹션에서 새 역할을 볼 수 있습니다.

# 역할 관리자 사용(AWS CDK)
<a name="role-manager-tutorial-cdk"></a>

Amazon SageMaker 역할 관리자와 AWS Cloud Development Kit (AWS CDK) 함께를 사용하여 프로그래밍 방식으로 역할을 생성하고 권한을 설정합니다. 를 사용하여 AWS CDK 를 사용하여 수행할 수 있는 모든 작업을 수행할 수 있습니다 AWS Management Console. CDK의 프로그래밍 방식 액세스를 통해 사용자에게 특정 리소스에 대한 액세스 권한을 부여하는 권한을 더 쉽게 제공할 수 있습니다. 에 대한 자세한 내용은 [란 무엇입니까 AWS CDK?](https://docs.aws.amazon.com/cdk/v2/guide/home.html)를 AWS CDK참조하십시오.

**중요**  
SageMaker AI 컴퓨팅 역할 페르소나를 사용하여 SageMaker AI 컴퓨팅 역할을 생성해야 합니다. 컴퓨팅 페르소나에 대한 자세한 정보는 [SageMaker AI 컴퓨팅 페르소나](role-manager-personas.md#role-manager-personas-compute)섹션을 참조하세요. 내에서 컴퓨팅 역할을 생성하는 데 사용할 수 있는 코드는 섹션을 AWS CDK참조하세요[컴퓨팅 페르소나에 권한 부여](#role-manager-cdk-compute-persona).

다음은 AWS CDK에서 수행할 수 있는 작업의 예시입니다.
+ 데이터 사이언티스트나 MLOps 엔지니어와 같은 기계 학습(ML) 페르소나에 대한 세분화된 권한이 있는 IAM 역할을 생성하세요.
+ ML 페르소나 또는 ML 활동에서 CDK 생성자에 권한을 부여하세요.
+ ML 활동 조건 파라미터를 설정합니다.
+ 글로벌 Amazon VPC 및 AWS Key Management Service 조건을 활성화하고 해당 조건에 대한 값을 설정합니다.
+ 액세스에 지장을 주지 않으면서 사용자를 위해 ML 활동의 모든 버전 중에서 선택하세요.

특정 IAM 권한이 필요한 SageMaker AI를 사용한 기계 학습(ML)과 관련된 일반적인 AWS 작업이 있습니다. 작업을 수행할 수 있는 권한은 Amazon SageMaker 역할 관리자에서 ML 활동으로 정의됩니다. ML 활동은 IAM 역할에 연결된 권한 세트를 지정합니다. 예를 들어 Amazon SageMaker Studio Classic의 ML 활동에는 사용자가 Studio Classic에 액세스하는 데 필요한 모든 권한이 있습니다. ML 활성화에 대한 자세한 내용은 [ML 활동 참조](role-manager-ml-activities.md)섹션을 참조하세요.

역할을 생성할 때는 먼저 ML 페르소나 또는 ML 활동의 생성자를 정의합니다. 구문은 AWS CDK 스택 내의 리소스입니다. 예를 들어, 생성자는 Amazon S3 버킷, Amazon VPC 서브넷 또는 IAM 역할일 수 있습니다.

페르소나 또는 활동을 생성할 때 해당 페르소나 또는 활동과 관련된 권한을 특정 리소스로 제한할 수 있습니다. 예를 들어 Amazon VPC 내의 특정 서브넷에 대한 권한만 제공하도록 활동을 사용자 지정할 수 있습니다.

권한을 정의한 후 역할을 생성한 다음 해당 역할을 전달하여 SageMaker 노트북 인스턴스와 같은 다른 리소스를 생성할 수 있습니다.



다음은 CDK를 사용하여 완수할 수 있는 작업에 대한 Typescript의 코드 예제입니다. 활동을 생성할 때 활동의 생성자를 위한 ID와 옵션을 지정합니다. 옵션은 Amazon S3와 같이 활동에 필요한 파라미터를 지정하는 사전입니다. 필수 파라미터가 없는 활동에 대해서는 빈 사전을 전달합니다.

## 컴퓨팅 페르소나에 권한 부여
<a name="role-manager-cdk-compute-persona"></a>

다음 코드는 해당 페르소나와 관련된 일련의 ML 활동이 포함된 데이터 사이언티스트 ML 페르소나를 생성합니다. ML 활동의 권한은 Amazon VPC 및 페르소나 구성에 지정된 AWS KMS 구성에만 적용됩니다. 다음 코드는 데이터 사이언티스트 페르소나를 위한 클래스를 생성합니다. ML 활동은 활동 목록에 정의되어 있습니다. VPC 권한 및 KMS 권한은 활동 목록 외부의 선택적 파라미터로 정의됩니다.

클래스를 정의한 후 AWS CDK 스택 내에서 역할을 구문으로 생성할 수 있습니다. 노트북 인스턴스를 생성할 수도 있습니다. 다음 코드에서 생성한 IAM 역할을 사용하는 사용자는 자신의 AWS 계정에 로그인할 때 노트북 인스턴스에 액세스할 수 있습니다.

```
export class myCDKStack extends cdk.Stack {
  constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    const persona = new Persona(this, 'example-persona-id', {
        activities: [
            Activity.accessAwsServices(this, 'example-id1', {})
        ]
    });

    const role = persona.createRole(this, 'example-IAM-role-id', 'example-IAM-role-name');
    
    }
}
```

## 데이터 사이언티스트 페르소나에 권한 부여
<a name="role-manager-cdk-data-scientist"></a>

다음 코드는 해당 페르소나와 관련된 일련의 ML 활동이 포함된 데이터 사이언티스트 ML 페르소나를 생성합니다. ML 활동의 권한은 페르소나 생성자에 지정된 VPC 및 KMS 구성에만 적용됩니다. 다음 코드는 데이터 사이언티스트 페르소나를 위한 클래스를 생성합니다. ML 활동은 활동 목록에 정의되어 있습니다. Amazon VPC 권한 및 AWS KMS 권한은 활동 목록 외부의 선택적 파라미터로 정의됩니다.

클래스를 정의한 후 AWS CDK 스택 내에서 역할을 구문으로 생성할 수 있습니다. 노트북 인스턴스를 생성할 수도 있습니다. 다음 코드에서 생성한 IAM 역할을 사용하는 사용자는 자신의 AWS 계정에 로그인할 때 노트북 인스턴스에 액세스할 수 있습니다.

```
export class myCDKStack extends cdk.Stack {
  constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    const persona = new Persona(this, 'example-persona-id', {
        activities: [
            Activity.runStudioAppsV2(this, 'example-id1', {}),
            Activity.manageJobs(this, 'example-id2', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.manageModels(this, 'example-id3', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.manageExperiments(this, 'example-id4', {}),
            Activity.visualizeExperiments(this, 'example-id5', {}),
            Activity.accessS3Buckets(this, 'example-id6', {s3buckets: [s3.S3Bucket.fromBucketName('amzn-s3-demo-bucket')]})
        ],
        // optional: to configure VPC permissions
        subnets: [ec2.Subnet.fromSubnetId('example-VPC-subnet-id')],
        securityGroups: [ec2.SecurityGroup.fromSecurityGroupId('example-VPC-security-group-id')],
        // optional: to configure KMS permissions
        dataKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN')],
        volumeKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN')],
    });

    const role = persona.createRole(this, 'example-IAM-role-id', 'example-IAM-role-name');
    
    const notebookInstance = new CfnNotebookInstance(this, 'example-notebook-instance-name', { RoleArn: role.RoleArn, ...});
    }
}
```

## ML Ops 페르소나에 권한 부여
<a name="role-manager-cdk-ml-ops-persona"></a>

다음 코드는 해당 페르소나와 관련된 일련의 ML 활동이 포함된 ML Ops 페르소나를 생성합니다. ML 활동의 권한은 Amazon VPC 및 페르소나 구성에 지정된 AWS KMS 구성에만 적용됩니다. 다음 코드는 ML Ops 페르소나를 위한 클래스를 생성합니다. ML 활동은 활동 목록에 정의되어 있습니다. VPC 권한 및 KMS 권한은 활동 목록 외부의 선택적 파라미터로 정의됩니다.

클래스를 정의한 후 AWS CDK 스택 내에서 역할을 구문으로 생성할 수 있습니다. Amazon SageMaker Studio Classic 사용자 프로필을 만들 수도 있습니다. 다음 코드에서 생성한 IAM 역할을 사용하는 사용자는 자신의 AWS 계정에 로그인할 때 SageMaker Studio Classic을 열 수 있습니다.

```
export class myCDKStack extends cdk.Stack {
  constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    const persona = new Persona(this, 'example-persona-id', {
        activities: [
            Activity.runStudioAppsV2(this, 'example-id1', {}),
            Activity.manageModels(this, 'example-id2', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.manageEndpoints(this, 'example-id3',{rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.managePipelines(this, 'example-id4', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.visualizeExperiments(this, 'example-id5', {})
        ],
        subnets: [ec2.Subnet.fromSubnetId('example-VPC-subnet-id')],
        securityGroups: [ec2.SecurityGroup.fromSecurityGroupId('example-VPC-security-group-id')],
        dataKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN')],
        volumeKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN')],
    });

    const role = persona.createRole(this, 'example-IAM-role-id', 'example-IAM-role-name');
    
    let userProfile = new CfnNUserProfile(this, 'example-Studio Classic-profile-name', { RoleName: role.RoleName, ... });  
    }
}
```

## 생성자에 권한 부여
<a name="role-manager-cdk-ml-ops"></a>

다음 코드는 해당 페르소나와 관련된 일련의 ML 활동이 포함된 ML Ops 페르소나를 생성합니다. 다음 코드는 ML Ops 페르소나를 위한 클래스를 정의합니다. ML 활동은 활동 목록에 정의되어 있습니다.

클래스를 정의한 후 AWS CDK 스택 내에서 역할을 구문으로 생성할 수 있습니다. 노트북 인스턴스를 생성할 수도 있습니다. 코드는 ML 활동의 권한을 Lambda 함수의 IAM 역할에 부여합니다.

```
export class myCDKStack extends cdk.Stack {
  constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    const persona = new Persona(this, 'example-persona-id', {
        activities: [
            Activity.runStudioAppsV2(this, 'example-id1', {}),
            Activity.manageModels(this, 'example-id2', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.manageEndpoints(this, 'example-id3',{rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.managePipelines(this, 'example-id4', {rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')]}),
            Activity.visualizeExperiments(this, 'example-id5', {})
        ],
    });

    const lambdaFn = lambda.Function.fromFunctionName('example-lambda-function-name');
    persona.grantPermissionsTo(lambdaFn);
    }
}
```

## 단일 ML 활동에 대한 권한 부여
<a name="role-manager-cdk-single-ml-activity"></a>

다음 코드는 ML 활동을 생성하고 활동에서 역할을 생성합니다. 활동의 권한은 사용자에 대해 지정한 VPC 및 KMS 구성에만 적용됩니다.

```
export class myCDKStack extends cdk.Stack {
  constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    const activity = Activity.manageJobs(this, 'example-activity-id', {
        rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')],
        subnets: [ec2.Subnet.fromSubnetId('example-VPC-subnet-id')],
        securityGroups: [ec2.SecurityGroup.fromSecurityGroupId('example-VPC-security-group-id')],
        dataKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN')],
        volumeKeys: [kms.Key.fromKeyArn('example-KMS-key-ARN')],
    });

    const role = activity.createRole(this, 'example-IAM-role-id', 'example-IAM-role-name');
    }
}
```

## 역할을 생성하고 단일 활동에 대한 권한 부여
<a name="role-manager-cdk-permissions"></a>

다음 코드는 단일 ML 활동에 대한 IAM 역할을 생성합니다.

```
export class myCDKStack extends cdk.Stack {
  constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    const activity = Activity.manageJobs(this, 'example-activity-id', {
        rolesToPass: [iam.Role.fromRoleName('example-IAM-role-name')],
    });
        

    activity.create_role(this, 'example-IAM-role-id', 'example-IAM-role-name') 
    }
}
```

# 페르소나 참조
<a name="role-manager-personas"></a>

Amazon SageMaker 역할 관리자는 여러 ML 페르소나에 대한 추천 권한을 제공합니다. 여기에는 일반적인 ML 실무자 책임을 위한 사용자 실행 역할과 SageMaker AI 작업에 필요한 일반적인 서비스 상호 작용을 위한 AWS 서비스 실행 역할이 포함됩니다.

각 페르소나는 엄선된 ML 활동의 형태로 권한을 추천했습니다. 사전 정의된 ML 활동 및 해당 권한에 대한 자세한 내용은 [ML 활동 참조](role-manager-ml-activities.md)섹션을 참조하세요.

## 데이터 사이언티스트 페르소나
<a name="role-manager-personas-data-scientist"></a>

이 페르소나를 사용하여 SageMaker AI 환경에서 일반적인 기계 학습 개발 및 실험을 수행할 수 있는 권한을 구성할 수 있습니다. 이 페르소나에는 다음과 같은 사전 선택된 ML 활동이 포함됩니다.
+ Studio Classic 애플리케이션 실행
+ ML 작업 관리
+ 모델 관리
+  AWS Glue 테이블 관리
+ Canvas AI 서비스
+ Canvas MLOps
+ Canvas Kendra 액세스
+ MLflow 사용
+ MLflow용 AWS 서비스에 필요한 액세스
+ Studio EMR Serverless 애플리케이션 실행

## MLOps 페르소나
<a name="role-manager-personas-mlops"></a>

이 페르소나를 선택하여 운영 활동에 대한 권한을 구성하세요. 이 페르소나에는 다음과 같은 사전 선택된 ML 활동이 포함됩니다.
+ Studio Classic 애플리케이션 실행
+ 모델 관리
+ 파이프라인 관리
+ 실험 검색 및 시각화
+ Amazon S3 전체 액세스

## SageMaker AI 컴퓨팅 페르소나
<a name="role-manager-personas-compute"></a>

**참고**  
SageMaker AI 컴퓨팅 리소스가 훈련 및 추론과 같은 작업을 수행할 수 있도록 먼저 역할 관리자를 사용하여 SageMaker AI 컴퓨팅 역할을 생성하는 것이 좋습니다. SageMaker AI 컴퓨팅 역할 페르소나를 사용하여 역할 관리자와 함께 이 역할을 생성하세요. SageMaker AI 컴퓨팅 역할을 생성한 후에는 나중에 사용할 수 있도록 해당 ARN을 기록해 두세요.

이 페르소나에는 다음과 같은 사전 선택된 ML 활동이 포함됩니다.
+ 필요한 AWS 서비스 액세스

# ML 활동 참조
<a name="role-manager-ml-activities"></a>

ML 활동은 특정 IAM 권한이 필요한 SageMaker AI를 사용한 기계 학습과 관련된 일반적인 AWS 작업입니다. 각 [페르소나](https://docs.aws.amazon.com/sagemaker/latest/dg/role-manager-personas.html)는 Amazon SageMaker 역할 관리자로 역할을 생성할 때 관련된 ML 활동을 제안합니다. 추가 ML 활동을 선택하거나 제안된 ML 활동을 선택 취소하여 고유한 비즈니스 요구 사항에 맞는 역할을 생성할 수 있습니다.

Amazon SageMaker 역할 관리자는 다음과 같은 ML 활동에 대해 사전 정의된 권한을 제공합니다.


****  

| **ML 활동** | **설명** | 
| --- | --- | 
| 필요한 AWS 서비스 액세스 | Amazon S3, Amazon ECR, Amazon CloudWatch 및 Amazon EC2에 대한 액세스 권한. 작업 및 엔드포인트의 실행 역할에 필요합니다. | 
| Studio Classic 애플리케이션 실행 | Studio Classic 환경 내에서 작업할 수 있는 권한 도메인 및 사용자 프로필 실행 역할에 필요합니다. | 
| ML 작업 관리 | 실험을 감사, 계보 쿼리, 시각화할 수 있는 권한. | 
| 모델 관리 | 수명 주기 전반에 걸쳐 SageMaker AI 작업을 관리할 수 있는 권한 | 
| 파이프라인 관리 | SageMaker Pipelines 및 파이프라인 실행을 관리할 수 있는 권한. | 
| 실험 검색 및 시각화 | SageMaker AI 실험을 감사, 계보 쿼리, 시각화할 수 있는 권한 | 
| 모델 모니터링 관리 | SageMaker AI Model Monitor의 모니터링 일정을 관리할 수 있는 권한 | 
| Amazon S3 전체 액세스 | 모든 Amazon S3 작업을 수행할 수 있는 권한. | 
| Amazon S3 버킷 액세스 | 지정된 Amazon S3 버킷에서 작업을 수행할 수 있는 권한 | 
| Athena Workgroups 쿼리 | Amazon Athena 쿼리를 실행하고 관리할 수 있는 권한. | 
|  AWS Glue 테이블 관리 | SageMaker AI 특성 저장소 및 Data Wrangler에 대한 AWS Glue 테이블을 생성하고 관리할 수 있는 권한. | 
| SageMaker Canvas 코어 액세스 | SageMaker Canvas에서 실험을 수행할 수 있는 권한(예: 기본 데이터 준비, 모델 빌드, 검증) | 
| SageMaker Canvas 데이터 준비(Data Wrangler 제공) | SageMaker Canvas에서 엔드투엔드 데이터 준비를 수행할 수 있는 권한(즉, 데이터 집계, 변환 및 분석, 대규모 데이터세트에서 데이터 준비 작업 만들기 및 예약) | 
| SageMaker Canvas AI 서비스 | Amazon Bedrock, Amazon Textract, Amazon Rekognition 및 Amazon Comprehend에서 즉시 사용할 수 있는 모델에 액세스할 수 있는 권한. 또한 사용자는 Amazon Bedrock 및 Amazon SageMaker JumpStart에서 파운데이션 모델을 미세 조정할 수 있습니다. | 
| SageMaker Canvas MLOps | SageMaker Canvas 사용자가 모델을 엔드포인트에 직접 배포할 수 있는 권한 | 
| SageMaker Canvas Kendra 액세스 | SageMaker Canvas가 엔터프라이즈 문서 검색을 위해 Amazon Kendra에 액세스할 수 있는 권한. 이 권한은 Amazon Kendra에서 선택한 인덱스 이름에만 부여됩니다. | 
| MLflow 사용 | MLflow에서 실험, 실행 및 모델을 관리할 수 있는 권한 | 
| MLflow 추적 서버 관리 | MLflow 추적 서버를 관리, 시작 및 중지할 수 있는 권한 | 
| MLflow용 AWS 서비스에 필요한 액세스 | MLflow 추적 서버가 S3, Secrets Manager 및 Model Registry에 액세스할 수 있는 권한 | 
| Studio EMR Serverless 애플리케이션 실행 | Amazon SageMaker Studio에서 EMR Serverless 애플리케이션을 만들고 관리할 수 있는 권한 | 

# Studio Classic 시작
<a name="role-manager-launch-notebook"></a>

페르소나 중심의 역할을 사용하여 Studio Classic을 시작하세요. 관리자인 경우 사용자에게 Studio Classic에 대한 액세스 권한을 부여하고 또는를 통해 직접 자신의 페르소나 역할을 수임하도록 할 수 AWS Management Console 있습니다 AWS IAM Identity Center.

## 를 사용하여 Studio Classic 시작 AWS Management Console
<a name="role-manager-launch-notebook-console"></a>

데이터 과학자 또는 다른 사용자가 AWS Management Console을 통해 자신의 페르소나를 맡으려면 Studio Classic 환경에 접근하기 위해 콘솔 역할이 필요합니다.

Amazon SageMaker 역할 관리자를 사용하여 AWS Management Console에 권한을 부여하는 역할을 생성할 수는 없습니다. 하지만 역할 관리자에서 서비스 역할을 생성한 후에는 IAM 콘솔로 이동하여 역할을 편집하고 사용자 액세스 역할을 추가할 수 있습니다. 다음은 사용자에게 AWS Management Console에 대한 액세스 권한을 제공하는 역할의 예입니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DescribeCurrentDomain",
            "Effect": "Allow",
            "Action": "sagemaker:DescribeDomain",
            "Resource": "arn:aws:sagemaker:us-east-1:111122223333:domain/<STUDIO-DOMAIN-ID>"
        },
        {
            "Sid": "RemoveErrorMessagesFromConsole",
            "Effect": "Allow",
            "Action": [
                "servicecatalog:ListAcceptedPortfolioShares",
                "sagemaker:GetSagemakerServicecatalogPortfolioStatus",
                "sagemaker:ListModels",
                "sagemaker:ListTrainingJobs",
                "servicecatalog:ListPrincipalsForPortfolio",
                "sagemaker:ListNotebookInstances",
                "sagemaker:ListEndpoints"
            ],
            "Resource": "*"
        },
        {
            "Sid": "RequiredForAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:ListDomains",
                "sagemaker:ListUserProfiles"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CreatePresignedURLForAccessToDomain",
            "Effect": "Allow",
            "Action": "sagemaker:CreatePresignedDomainUrl",
            "Resource": "arn:aws:sagemaker:us-east-1:111122223333:user-profile/<STUDIO-DOMAIN-ID>/<PERSONA_NAME>"
        }
    ]
}
```

------

Studio Classic 컨트롤 패널에서 **사용자 추가**를 선택하여 새 사용자를 만듭니다. **일반 설정** 섹션에서 사용자에게 이름을 지정하고 사용자의 **기본 실행 역할**을 Amazon SageMaker 역할 관리자를 사용하여 생성한 역할이 되도록 설정합니다.

다음 화면에서 적절한 JupyterLab 버전을 선택하고 SageMaker JumpStart 및 SageMaker AI 프로젝트 템플릿을 켜는지를 선택합니다. 그리고 **다음**을 선택합니다. SageMaker Canvas 설정 페이지에서 SageMaker Canvas 지원을 활성화할지 여부와 SageMaker Canvas에서 시계열 예측을 허용할지 여부를 추가로 선택합니다. 그런 다음 **Submit(제출)**를 선택합니다.

이제 Studio Classic 컨트롤 패널에서 새 사용자를 볼 수 있습니다. 이 사용자를 테스트하려면 사용자 이름과 같은 행의 **앱 실행** 드롭다운 목록에서 **Studio**를 선택합니다.

## IAM Identity Center에서 Studio Classic 시작
<a name="role-manager-launch-notebook-iam-identity-center"></a>

IAM Identity Center 사용자에게 실행 역할을 할당하려면 사용자가 먼저 IAM Identity Center 디렉터리에 있어야 합니다. 자세한 내용은AWS IAM Identity Center에서 [IAM Identity Center에서 자격 증명 관리](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-sso.html)를 참조하세요.**

**참고**  
IAM Identity Center 인증 디렉터리와 Studio Classic 도메인은 동일한 AWS 리전에 있어야 합니다.

1. IAM Identity Center 사용자를 Studio Classic 도메인에 할당하려면 Studio Classic 컨트롤 패널에서 **사용자 및 그룹 할당**을 선택합니다. **사용자 및 그룹 할당** 화면에서 데이터 사이언티스트 사용자를 선택한 다음 **사용자 및 그룹 할당**을 선택합니다.

1. Studio Classic 컨트롤 패널에 사용자를 추가한 후 사용자를 선택하여 사용자 세부 정보 화면을 엽니다.

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

1. **사용자 프로필 편집** 화면의 **일반 설정**에서 데이터 사이언티스트를 위해 만든 사용자 실행 역할에 맞게 **기본 실행 역할**을 수정합니다.

1. 나머지 설정 페이지에서 **다음**을 선택하고 **제출**을 선택하여 변경 내용을 저장합니다.

데이터 과학자나 다른 사용자가 IAM Identity Center 포털에 로그인하면 이 Studio Classic 도메인의 타일이 표시됩니다. 해당 타일을 선택하면 할당된 사용자 실행 역할과 함께 Studio Classic에 로그인됩니다.

# 역할 관리자 FAQ
<a name="role-manager-faqs"></a>

Amazon SageMaker 역할 관리자에 대한 일반적으로 묻는 질문에 대한 답변은 아래의 FAQ 항목을 참조하세요.

## Q.Amazon SageMaker 역할 관리자에 액세스하려면 어떻게 해야 합니까?
<a name="role-manager-faqs-access"></a>

A: Amazon SageMaker AI 콘솔의 여러 위치를 통해 Amazon SageMaker 역할 관리자에 액세스할 수 있습니다. 역할 관리자에 액세스하고 역할 관리자를 사용하여 역할을 생성하는 방법에 대한 자세한 내용은 [역할 관리자 사용(콘솔)](role-manager-tutorial.md)섹션을 참조하세요.

## Q.페르소나란 무엇입니까?
<a name="role-manager-faqs-personas"></a>

A: 페르소나는 일반적인 기계 학습(ML) 책임을 기반으로 사전 구성된 권한 그룹입니다. 예를 들어 데이터 과학 페르소나는 SageMaker AI 환경에서 일반적인 기계 학습 개발 및 실험에 대한 권한을 제시하는 반면, MLOps 페르소나는 운영과 관련된 ML 활동에 대한 권한을 제시합니다.

## Q: ML 활동이란 무엇입니까?
<a name="role-manager-faqs-ml-activities"></a>

A: ML 활동은 특정 IAM 권한이 필요한 SageMaker AI를 사용한 기계 학습과 관련된 일반적인 AWS 작업입니다. 각 페르소나는 Amazon SageMaker 역할 관리자로 역할을 생성할 때 관련된 ML 활동을 제안합니다. ML 활동에는 Amazon S3 전체 액세스 또는 실험 검색 및 시각화와 같은 작업이 포함됩니다. 자세한 내용은 [ML 활동 참조](role-manager-ml-activities.md) 단원을 참조하십시오.

## Q. 역할 관리자 AWS Identity and Access Management (IAM) 역할을 사용하여 생성하는 역할입니까?
<a name="role-manager-faqs-iam"></a>

A: 예. Amazon SageMaker 역할 관리자를 사용하여 생성한 역할은 사용자 지정 액세스 정책이 있는 IAM 역할입니다. [IAM 콘솔](https://console.aws.amazon.com/iamv2/)의 **역할** 섹션에서 생성한 역할을 볼 수 있습니다.

## Q: Amazon SageMaker 역할 관리자를 사용하여 생성한 역할을 보려면 어떻게 해야 합니까?
<a name="role-manager-faqs-view-roles"></a>

A: [IAM 콘솔](https://console.aws.amazon.com/iamv2/)의 **역할** 섹션에서 생성한 역할을 볼 수 있습니다. 기본적으로 IAM 콘솔에서 더 쉽게 검색할 수 있도록 모든 역할 이름에 `"sagemaker-"`접두사가 추가됩니다. 예를 들어 역할 생성 중 역할 `test-123`에 이름을 지정하면 IAM 콘솔에서 `sagemaker-test-123`처럼 역할이 표시됩니다.

## Q.Amazon SageMaker 역할 관리자로 만든 역할은 생성한 후 해당 역할을 수정할 수 있습니까?
<a name="role-manager-faqs-modify-roles"></a>

A: 예. Amazon SageMaker 역할 관리자가 생성한 역할 및 정책을 [IAM 콘솔](https://console.aws.amazon.com/iamv2/)을 통해 수정할 수 있습니다. 자세한 내용은AWS Identity and Access Management 사용 설명서의 [역할 수정](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html)을 참조하세요.**

## Q.Amazon SageMaker 역할 관리자를 사용하여 생성한 역할에 자체 정책을 연결할 수 있습니까?
<a name="role-manager-faqs-attach-policies"></a>

A: 예. 계정의 AWS 또는 고객 관리형 IAM 정책을 Amazon SageMaker 역할 관리자를 사용하여 생성한 역할에 연결할 수 있습니다.

## Q.Amazon SageMaker 역할 관리자로 생성한 역할에 몇 개의 정책을 추가할 수 있습니까?
<a name="role-manager-faqs-policy-limit"></a>

A: IAM 역할 또는 사용자에게 관리형 정책을 연결할 수 있는 최대 한도는 20입니다. 관리형 정책의 최대 문자 크기 제한은 6,144입니다. 자세한 내용은 [IAM 객체 할당량](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entities), [IAM 및 AWS Security Token Service 할당량 이름 요구 사항, 문자 제한](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html)을 참조하세요.

## Q: ML 활동에 조건을 추가할 수 있습니까?
<a name="role-manager-faqs-conditions"></a>

A: 서브넷, 보안 그룹 또는 KMS 키와 같이 Amazon SageMaker 역할 관리자의 [1단계. 역할 정보 입력](role-manager-tutorial.md#role-manager-tutorial-enter-role-information)에서 제공하는 모든 조건은 [2단계. ML 활동 구성](role-manager-tutorial.md#role-manager-tutorial-configure-ml-activities)에서 선택한 모든 ML 활동에 자동으로 전달됩니다. 또한 필요한 경우 ML 활동에 추가 조건을 추가할 수 있습니다. 예를 들어 훈련 작업 관리 활동에 `InstanceTypes`또는 `IntercontainerTrafficEncryption`조건을 추가할 수도 있습니다.

## Q: 태그 지정을 사용하여 AWS 리소스에 대한 액세스를 관리할 수 있나요?
<a name="role-manager-faqs-tagging"></a>

A:****Amazon SageMaker 역할 관리자의 [3단계: 정책 및 태그 추가](role-manager-tutorial.md#role-manager-tutorial-add-policies-and-tags)에서 역할에 태그를 추가할 수 있습니다. 태그를 사용하여 AWS 리소스를 성공적으로 관리하려면 역할 및 연결된 정책 모두에 동일한 태그를 추가해야 합니다. 예를 들어 태그를 역할과 Amazon S3 버킷에 추가할 수 있습니다. 그러면 역할이 SageMaker AI 세션에 태그를 전달하므로 해당 역할을 가진 사용자만 해당 S3 버킷에 액세스할 수 있습니다. [IAM](https://console.aws.amazon.com/iamv2/) 콘솔을 통해 정책에 태그를 추가할 수 있습니다. 자세한 내용은AWS Identity and Access Management 사용 설명서에서 [IAM 역할 태깅](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags_roles.html)을 참조하세요.**

## Q.Amazon SageMaker 역할 관리자를 사용하여 AWS Management Console에 액세스할 역할을 생성할 수 있습니까?
<a name="role-manager-faqs-console-access"></a>

A: 아니요.하지만 역할 관리자에서 서비스 역할을 생성한 후에는 IAM 콘솔로 이동하여 역할을 편집하고 IAM 콘솔에서 사용자 액세스 역할을 추가할 수 있습니다.

## Q: 사용자 페더레이션 역할과 SageMaker AI 실행 역할 간의 차이는 무엇입니까?
<a name="role-manager-faqs-role-types"></a>

A: 사용자 페더레이션 역할은 사용자가 AWS Management Console에 액세스 같이 AWS 리소스에 액세스할 수 있는 권한을 직접 담당합니다. SageMaker AI 서비스는 사용자 또는 자동화 도구를 대신하여 기능을 수행하는 SageMaker AI 실행 역할을 담당합니다. 예를 들어 사용자가 Studio Classic 인스턴스를 열면 Studio Classic은 사용자를 대신하여 AWS 리소스에 액세스하기 위해 사용자 프로필과 연결된 실행 역할을 수임합니다. 사용자 프로필에서 실행 역할을 지정하지 않는 경우 실행 역할은 Amazon SageMaker AI 도메인 수준에서 지정됩니다.

## Q: 미리 서명된 URL을 통해 Studio Classic에 액세스하는 사용자 지정 웹 애플리케이션을 사용하는 경우 어떤 역할이 사용되나요?
<a name="role-manager-faqs-studio-presigned-url"></a>

A: 사용자 지정 웹 애플리케이션을 사용하여 Studio Classic에 액세스하는 경우 하이브리드 사용자 페더레이션 역할과 SageMaker AI 실행 역할이 있습니다. 이 역할에 사용자가 수행할 수 있는 작업과 연결된 사용자를 대신하여 Studio Classic이 수행할 수 있는 작업 모두를 위한 최소 권한이 있는지 확인하세요.

## Q: Studio Classic 도메인에 대한 AWS IAM Identity Center 인증과 함께 Amazon SageMaker 역할 관리자를 사용할 수 있나요?
<a name="role-manager-faqs-iam-identity-center"></a>

A: AWS IAM Identity Center Studio Classic 클라우드 애플리케이션은 Studio Classic 실행 역할을 사용하여 페더레이션 사용자에게 권한을 부여합니다. 이 실행 역할은 Studio Classic IAM Identity Center 사용자 프로필 수준 또는 기본 도메인 수준에서 지정할 수 있습니다. 사용자 ID 및 그룹을 IAM Identity Center와 동기화해야 하며, [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html)을 사용하여 IAM Identity Center 사용자 할당과 함께 Studio Classic 사용자 프로필을 만들어야 합니다. 자세한 내용은 [IAM Identity Center에서 Studio Classic 시작](role-manager-launch-notebook.md#role-manager-launch-notebook-iam-identity-center) 단원을 참조하십시오.

# 노트북에 대한 액세스 제어
<a name="security-access-control"></a>

Amazon SageMaker Studio Classic 노트북 및 SageMaker 노트북 인스턴스는 런타임 환경이 다르므로 액세스를 제어하려면 다른 절차를 사용해야 합니다. Studio Classic은 Studio Classic 노트북의 액세스 및 사용자 격리 제어를 위해 파일 시스템 권한 및 컨테이너를 사용합니다. SageMaker 노트북 인스턴스는 노트북 인스턴스에 로그인하는 사용자에게 기본 루트 액세스 권한을 부여합니다. 다음 주제에서는 두 종류의 노트북에 대한 권한을 변경하는 방법을 설명합니다.

**Topics**
+ [SageMaker Studio 노트북에 대한 액세스 제어 및 권한 설정](security-access-control-studio-nb.md)
+ [SageMaker 인스턴스에 대한 루트 액세스 제어](nbi-root-access.md)

# SageMaker Studio 노트북에 대한 액세스 제어 및 권한 설정
<a name="security-access-control-studio-nb"></a>

Amazon SageMaker Studio는 Studio 사용자 및 노트북의 액세스 제어 및 격리를 위해 파일 시스템 및 컨테이너 권한을 사용합니다. 이는 Studio 노트북과 SageMaker 노트북 인스턴스 간의 주요 차이점 중 하나입니다. 이 주제에서는 보안 위협을 피하기 위해 권한을 설정하는 방법, SageMaker AI가 기본적으로 수행하는 작업 및 고객이 권한을 사용자 지정하는 방법에 대해 설명합니다. Studio 노트북과 해당 런타임 환경에 대한 자세한 내용은 [Amazon SageMaker Studio Classic 노트북 사용](notebooks.md)섹션을 참조하세요.

**SageMaker AI 앱 권한**

실행 사용자는 컨테이너 내에서 JupyterServer 앱과 KernelGateway 앱을 실행하는 데 사용되는 POSIX 사용자/그룹입니다.**

JupyterServer 앱의 실행 사용자는 기본적으로 Sagemaker 사용자(1000) 입니다. 이 사용자에게는 yum 패키지와 같은 종속성을 설치할 수 있는 sudo 권한이 있습니다.

KernelGateway 앱의 실행 사용자는 기본적으로 루트 (0) 입니다. 이 사용자는 pip/apt-get/conda를 사용하여 종속성을 설치할 수 있습니다.

사용자 재매핑으로 인해 두 사용자 모두 리소스에 액세스하거나 호스트 인스턴스를 변경할 수 없습니다.

**사용자 재매핑**

SageMaker AI는 사용자 재매핑을 수행하여 컨테이너 내부의 사용자를 컨테이너 외부의 호스트 인스턴스에 있는 사용자에게 매핑합니다. 컨테이너의 사용자 ID 범위(0 - 65535)는 인스턴스의 65535를 초과하는 권한이 없는 사용자 ID에 매핑됩니다. 예를 들어 컨테이너 내부의 sagemaker-user(1000)는 인스턴스의 사용자(200001)에 매핑될 수 있습니다.여기서 괄호 안의 숫자는 사용자 ID입니다. 고객이 컨테이너 내에 새 사용자/그룹을 생성하는 경우 사용자/그룹 ID와 상관없이 호스트 인스턴스에서 권한이 부여되지 않습니다. 컨테이너의 루트 사용자는 인스턴스의 권한이 없는 사용자에게도 매핑됩니다. 자세한 내용은 [사용자 네임스페이스로 컨테이너 격리](https://docs.docker.com/engine/security/userns-remap/)를 참조하세요.

**참고**  
사용자 sagemaker-user가 만든 파일은 sagemaker-studio(uid 65534) 소유인 것처럼 보일 수 있습니다. 이는 SageMaker AI 컨테이너 이미지를 미리 가져와서 1분 이내에 애플리케이션을 시작할 수 있는 빠른 앱 생성 모드의 부작용입니다. 애플리케이션에 일치하는 파일 소유자 uid와 프로세스 소유자 uid가 필요한 경우 고객 서비스에 이미지 사전 가져오기 기능에서 계정 번호를 제거해 달라고 요청하세요.

**사용자 지정 이미지 권한**

고객은 자신만의 사용자 지정 SageMaker 이미지를 가져올 수 있습니다. 이러한 이미지는 KernelGateway 앱을 실행하기 위한 실행 사용자/그룹을 다르게 지정할 수 있습니다. 고객은 이미지 내에서 세분화된 권한 제어를 구현하여 예를 들어 루트 액세스를 비활성화하거나 다른 작업을 수행할 수 있습니다. 여기에도 동일한 사용자 재매핑이 적용됩니다. 자세한 내용은 [Amazon SageMaker Studio Classic의 사용자 지정 이미지](studio-byoi.md)섹션을 참조하세요.

**컨테이너 격리**

도커는 컨테이너가 사용할 수 있는 기본 기능 목록을 보관합니다. SageMaker AI는 추가 기능을 추가하지 않습니다. SageMaker AI는 특정 라우팅 규칙을 추가하여 컨테이너에서 Amazon EFS 및 [인스턴스 메타데이터 서비스](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service)(IMDS)에 대한 요청을 차단합니다. 고객은 컨테이너에서 이러한 라우팅 규칙을 변경할 수 없습니다. 자세한 내용은 [런타임 권한 및 Linux 기능](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities)을 참조하세요.

**앱 메타데이터 액세스**

앱 실행에 사용되는 메타데이터는 읽기 전용 권한으로 컨테이너에 마운트됩니다. 고객은 컨테이너에서 이 메타데이터를 수정할 수 없습니다. 사용 가능한 메타데이터는 [Amazon SageMaker Studio Classic 노트북 및 앱 메타데이터 가져오기](notebooks-run-and-manage-metadata.md)섹션을 참조하세요.

**EFS에서의 사용자 격리**

Studio에 온보딩하면 SageMaker AI는 도메인의 모든 Studio 사용자가 공유하는 Amazon Elastic File System(Amazon EFS) 볼륨을 도메인에 생성합니다. 각 사용자는 EFS 볼륨에서 고유한 프라이빗 홈 디렉터리를 얻습니다. 이 홈 디렉터리는 사용자의 노트북, Git 리포지토리 및 기타 데이터를 저장하는 데 사용됩니다. 도메인의 다른 사용자가 사용자 데이터에 액세스하지 못하도록 SageMaker AI는 사용자 프로필에 대해 전체적으로 고유한 사용자 ID를 생성하고 이를 사용자의 홈 디렉터리에 대한 POSIX 사용자/그룹 ID로 적용합니다.

**EBS 액세스**

Amazon Elastic Block Store(Amazon EBS) 볼륨은 호스트 인스턴스에 연결되어 모든 이미지에서 공유됩니다. 노트북의 루트 볼륨에 사용되며 컨테이너 내에서 생성된 임시 데이터를 저장합니다. 노트북을 실행하는 인스턴스가 삭제되어도 스토리지는 유지되지 않습니다. 컨테이너 내부의 루트 사용자는 EBS 볼륨에 액세스할 수 없습니다.

**IMDS 액세스**

보안 문제로 인해 SageMaker Studio에서는 Amazon Elastic Compute Cloud(IMDS) 인스턴스 메타데이터 서비스(IMDS)에 액세스할 수 없습니다. 자세한 내용은 [인스턴스 메타데이터 및 사용자 데이터](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)를 참조하세요.

# SageMaker 인스턴스에 대한 루트 액세스 제어
<a name="nbi-root-access"></a>

노트북 인스턴스를 생성할 경우 해당 노트북 인스턴스에 로그인하는 사용자는 기본적으로 루트 액세스 권한을 갖습니다. 데이터 과학은 데이터 과학자가 다양한 소프트웨어 도구와 패키지를 테스트하고 사용해야 할 수 있는 반복적인 과정입니다.그래서 많은 노트북 인스턴스 사용자는 이러한 도구와 패키지를 설치하기 위해 루트 액세스 권한이 필요합니다. 루트 액세스 권한이 있는 사용자는 관리자 권한이 있기 때문에 루트 액세스가 활성화된 노트북 인스턴스의 모든 파일을 액세스하고 편집할 수 있습니다.

사용자가 노트북 인스턴스에 대해 루트 액세스 권한을 갖지 못하게 하려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html)또는 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html)작업을 호출할 때 `RootAccess`필드를 `Disabled`로 설정합니다. Amazon SageMaker AI 콘솔에서 노트북 인스턴스를 생성하거나 업데이트할 때 사용자에 대해 루트 액세스 권한을 비활성화할 수도 있습니다. 자세한 내용은 [자습서를 위해 Amazon SageMaker 노트북 인스턴스 만들기](gs-setup-working-env.md) 단원을 참조하세요.

**참고**  
수명 주기 구성에서 노트북 인스턴스를 설정하려면 루트 액세스 권한이 필요합니다. 따라서 노트북 인스턴스와 연결된 수명 주기 구성은 사용자에 대해 루트 액세스 권한을 비활성화할 경우에도 항상 루트 액세스 권한으로 실행됩니다.

**참고**  
보안상의 이유로 Rootless 도커는 일반 도커 대신 루트가 비활성화된 노트북 인스턴스에 설치됩니다. 자세한 내용은 [루트가 아닌 사용자로 도커 데몬 실행(루트리스 모드)](https://docs.docker.com/engine/security/rootless/)을 참조하세요.

## 보안 고려 사항
<a name="nbi-root-access-security-considerations"></a>

수명 주기 구성 스크립트는 루트 액세스로 실행되고 노트북 인스턴스의 IAM 실행 역할의 전체 권한을 상속합니다. 수명 주기 구성을 생성 또는 수정하고 노트북 인스턴스를 관리할 권한이 있는 모든 사용자(관리자 포함)는 실행 역할의 자격 증명으로 코드를 실행할 수 있으므로 아래 모범 사례를 따르세요.

모범 사례:
+ 관리 액세스 제한: 보안 영향을 이해하는 신뢰할 수 있는 관리자에게만 수명 주기 구성 권한을 부여합니다.
+ 최소 권한 원칙 적용: 합법적인 워크로드에 필요한 최소 권한만 사용하여 노트북 인스턴스 실행 역할을 정의합니다.
+ 모니터링 활성화: CloudWatch Logs를 정기적으로 검토하여 로그 그룹에서 수명 주기 구성 실행`/aws/sagemaker/NotebookInstances`을 수행하여 예상치 못한 활동을 감지합니다.
+ 변경 제어 구현: 프로덕션 환경에서 수명 주기 구성 변경에 대한 승인 프로세스를 설정합니다.

# Amazon SageMaker AI API 권한: 작업, 권한 및 리소스 참조
<a name="api-permissions-reference"></a>

IAM 자격 증명에 연결할 수 있는 액세스 컨트롤 설정 및 권한 정책(자격 증명 기반 정책) 작성 시 다음 표를 참조하세요. 이 표에는 각 Amazon SageMaker AI API 작업, 작업을 수행할 수 있는 권한을 부여할 수 있는 해당 작업, 권한을 부여할 수 있는 리소스가 나와 있습니다. Amazon SageMaker AWS 정책의 `Action`필드에서 작업을 지정하고, 정책의 `Resource`필드에서 리소스 값을 지정합니다.

**참고**  
`ListTags` API를 제외하고 리소스 수준 제한은 `List-`호출에서 사용할 수 없습니다. `List-` API를 호출하는 사용자는 계정 내에서 이러한 유형의 모든 리소스를 보게 됩니다.

Amazon SageMaker AI 정책에서 조건을 표현하려면 AWS전체 조건 키를 사용할 수 있습니다. AWS전체 키의 전체 목록은 *서비스 승인* 참조의 [사용 가능한 키를 참조하세요](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_elements.html#AvailableKeys).

**주의**  
일부 SageMaker API 작업은 `[Search API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html)`를 통해 계속 접근할 수 있습니다. 예를 들어 사용자에게 특정 SageMaker AI 리소스에 대한 `Describe` 직접 호출 권한을 거부하는 IAM 정책이 있는 경우에도 해당 사용자는 Search API를 통해 설명 정보에 계속 액세스할 수 있습니다. `Describe` 호출에 대한 사용자 액세스를 완전히 제한하려면 Search API에 대한 액세스도 제한해야 합니다. Search API를 통해 접근할 수 있는 SageMaker AI 리소스 목록은 [SageMaker AI Search AWS CLI Command Reference](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/search.html#options)를 참조하세요.

스크롤 막대를 사용하여 표의 나머지 부분을 확인합니다.

Amazon SageMaker AI API 작업 및 작업에 필요한 권한


****  

| Amazon SageMaker AI API 작업 | 필요한 권한(API 작업) | 리소스 | 
| --- | --- | --- | 
|  `[ DeleteEarthObservationJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_DeleteEarthObservationJob.html)`  |  `sagemaker-geospatial:DeleteEarthObservationJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id`  | 
|  `[ DeleteVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_DeleteVectorEnrichmentJob.html)`  |  `sagemaker-geospatial:DeleteVectorEnrichmentJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ ExportEarthObservationJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ExportEarthObservationJob.html)`  |  `sagemaker-geospatial:ExportEarthObservationJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id`  | 
|  `[ ExportVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ExportVectorEnrichmentJob.html)`  |  `sagemaker-geospatial:ExportVectorEnrichmentJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ GetEarthObservationJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_GetEarthObservationJob.html)`  |  `sagemaker-geospatial:GetEarthObservationJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id`  | 
|  `[ GetRasterDataCollection](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_DeleteEarthObservationJob.html)`  |  `sagemaker-geospatial:GetRasterDataCollection`  |  `arn:aws:sagemaker-geospatial:region:account-id:raster-data-collection/public/id`  | 
|  `[ GetTile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_GetTile.html)`  |  `sagemaker-geospatial:GetTile`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id`  | 
|  `[ GetVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_GetVectorEnrichmentJob.html)`  |  `sagemaker-geospatial:GetVectorEnrichmentJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ ListEarthObservationJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListEarthObservationJobs.html)`  |  `sagemaker-geospatial:ListEarthObservationJobs`  |  `*`  | 
|  `[ ListRasterDataCollections](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListRasterDataCollections.html)`  |  `sagemaker-geospatial:ListRasterDataCollections`  |  `*`  | 
|  `[ ListTagsForResource](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListTagsForResource.html)`  |  `sagemaker-geospatial:ListTagsForResource`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id` `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ ListVectorEnrichmentJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_ListVectorEnrichmentJobs.html)`  |  `sagemaker-geospatial:ListVectorEnrichmentJobs`  |  `*`  | 
|  `[ SearchRasterDataCollection](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_SearchRasterDataCollection.html)`  |  `sagemaker-geospatial:SearchRasterDataCollection`  |  `arn:aws:sagemaker-geospatial:region:account-id:raster-data-collection/public/id`  | 
|  `[ StartEarthObservationJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_StartEarthObservationJob.html)`  |  `sagemaker-geospatial:StartEarthObservationJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id`  | 
|  `[ StartVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_StartVectorEnrichmentJob.html)`  |  `sagemaker-geospatial:StartVectorEnrichmentJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ StopEarthObservationJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_StopEarthObservationJob.html)`  |  `sagemaker-geospatial:StopEarthObservationJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id`  | 
|  `[ StopVectorEnrichmentJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_StopVectorEnrichmentJob.html)`  |  `sagemaker-geospatial:StopVectorEnrichmentJob`  |  `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ TagResource](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_TagResource.html)`  |  `sagemaker-geospatial:TagResource`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id` `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ UntagResource](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_geospatial_UntagResource.html)`  |  `sagemaker-geospatial:UntagResource`  |  `arn:aws:sagemaker-geospatial:region:account-id:earth-observation-job/id` `arn:aws:sagemaker-geospatial:region:account-id:vector-enrichment-job/id`  | 
|  `[ AddTags](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html)`  |  `sagemaker:AddTags`  |  `arn:aws:sagemaker:region:account-id:*`  | 
|  `[ CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html)`  |  `sagemaker:CreateApp`  |  `arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/app-type/appName`  | 
|  `[ CreateAppImageConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAppImageConfig.html)`  |  `sagemaker:CreateAppImageConfig`  |  `arn:aws:sagemaker:region:account-id:app-image-config/appImageConfigName`  | 
|  `[ CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)`  |  `sagemaker:CreateAutoMLJob` `iam:PassRole` 연결된 `ResourceConfig`에 `VolumeKmsKeyId `가 지정되고, 연결된 역할에 이 작업을 허용하는 정책이 없을 경우에만 다음 권한이 필요합니다. `kms:CreateGrant`   | arn:aws:sagemaker:region:account-id:automl-job/autoMLJobName | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)  |  `sagemaker:CreateAutoMLJobV2` `iam:PassRole` 연결된 `ResourceConfig`에 `VolumeKmsKeyId `가 지정되고, 연결된 역할에 이 작업을 허용하는 정책이 없을 경우에만 다음 권한이 필요합니다. `kms:CreateGrant`   | arn:aws:sagemaker:region:account-id:automl-job/autoMLJobName | 
|  `[ CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html)`  |  `sagemaker:CreateDomain` `iam:CreateServiceLinkedRole` `iam:PassRole` KMS 고객 관리형 키가 `KmsKeyId`에 대해 지정된 경우 필요합니다. `elasticfilesystem:CreateFileSystem` `kms:CreateGrant` `kms:Decrypt` `kms:DescribeKey` `kms:GenerateDataKeyWithoutPlainText` RStudio를 지원하는 도메인을 생성하는 데 필요합니다. `sagemaker:CreateApp`  |  `arn:aws:sagemaker:region:account-id:domain/domain-id`  | 
|  `[ CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)`  |  `sagemaker:CreateEndpoint` `kms:CreateGrant`(연결된 `EndPointConfig`에 `KmsKeyId`가 지정된 경우에만 필요함)  |  `arn:aws:sagemaker:region:account-id:endpoint/endpointName` `arn:aws:sagemaker:region:account-id:endpoint-config/endpointConfigName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)  |  `sagemaker:CreateEndpointConfig`  |  `arn:aws:sagemaker:region:account-id:endpoint-config/endpointConfigName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html)  |  `sagemaker:CreateFlowDefinition` `iam:PassRole`  |  `arn:aws:sagemaker:region:account-id:flow-definition/flowDefinitionName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHumanTaskUi.html)  |  `sagemaker:CreateHumanTaskUi`  |  `arn:aws:sagemaker:region:account-id:human-task-ui/humanTaskUiName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html)  |  `sagemaker:CreateInferenceRecommendationsJob` `iam:PassRole` 다음 권한은 암호화 키를 지정한 경우에만 필요합니다. `kms:CreateGrant` `kms:Decrypt` `kms:DescribeKey` `kms:GenerateDataKey`  |  `arn:aws:sagemaker:region:account-id:inference-recommendations-job/inferenceRecommendationsJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html)  |  `sagemaker:CreateHyperParameterTuningJob` `iam:PassRole` 연결된 `ResourceConfig`에 `VolumeKmsKeyId `가 지정되고, 연결된 역할에 이 작업을 허용하는 정책이 없을 경우에만 다음 권한이 필요합니다. `kms:CreateGrant`  |  `arn:aws:sagemaker:region:account-id:hyper-parameter-tuning-job/hyperParameterTuningJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateImage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateImage.html)  |  `sagemaker:CreateImage` `iam:PassRole`  |  `arn:aws:sagemaker:region:account-id:image/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateImageVersion.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateImageVersion.html)  |  `sagemaker:CreateImageVersion`  |  `arn:aws:sagemaker:region:account-id:image-version/imageName/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)  |  sagemaker:CreateLabelingJob iam:PassRole  |  `arn:aws:sagemaker:region:account-id:labeling-job/labelingJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)  |  `sagemaker:CreateModel` `iam:PassRole`  |  `arn:aws:sagemaker:region:account-id:model/modelName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html)  |  `sagemaker:CreateModelPackage`  |  `arn:aws:sagemaker:region:account-id:model-package/modelPackageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackageGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackageGroup.html)  |  `sagemaker:CreateModelPackageGroup`  |  `arn:aws:sagemaker:region:account-id:model-package-group/modelPackageGroupName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html)  |  `sagemaker:CreateNotebookInstance` `iam:PassRole` 다음 권한은 노트북 인스턴스에 VPC를 지정한 경우에만 필요합니다. `ec2:CreateNetworkInterface` `ec2:DescribeSecurityGroups` `ec2:DescribeSubnets` `ec2:DescribeVpcs` 다음 권한은 암호화 키를 지정한 경우에만 필요합니다. `kms:DescribeKey` `kms:CreateGrant` 다음 권한은 프라이빗 Git 리포지토리에 액세스하기 위한 AWS Secrets Manager 암호를 지정한 경우에만 필요합니다. `secretsmanager:GetSecretValue`  |  `arn:aws:sagemaker:region:account-id:notebook-instance/notebookInstanceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePipeline.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePipeline.html)  |  `sagemaker:CreatePipeline` `iam:PassRole`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name` `arn:aws-partition:iam::account-id:role/role-name`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedDomainUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedDomainUrl.html)  |  `sagemaker:CreatePresignedDomainUrl`  |  `arn:aws:sagemaker:region:account-id:app/domain-id/userProfileName`/\$1  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html)  |  `sagemaker:CreatePresignedNotebookInstanceUrl`  |  `arn:aws:sagemaker:region:account-id:notebook-instance/notebookInstanceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html)  |  `sagemaker:CreateProcessingJob` `iam:PassRole` `kms:CreateGrant`(연결된 `ProcessingResources`에 `VolumeKmsKeyId`가 지정되고, 연결된 역할에 이 작업을 허용하는 정책이 없을 경우에만 필요함) `ec2:CreateNetworkInterface` (VPC를 지정한 경우에만 필요함)  |  `arn:aws:sagemaker:region:account-id:processing-job/processingJobName`  | 
|  `[ CreateSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateSpace.html)`  |  `sagemaker:CreateSpace`  |  `arn:aws:sagemaker:region:account-id:space/domain-id/spaceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateStudioLifecycleConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateStudioLifecycleConfig.html)  |  `sagemaker:CreateStudioLifecycleConfig`  |  `arn:aws:sagemaker:region:account-id:studio-lifecycle-config/.*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)  |  `sagemaker:CreateTrainingJob` `iam:PassRole` `kms:CreateGrant`(연결된 `ResourceConfig`에 `VolumeKmsKeyId`가 지정되고, 연결된 역할에 이 작업을 허용하는 정책이 없을 경우에만 필요함)  |  `arn:aws:sagemaker:region:account-id:training-job/trainingJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingPlan.html)  |  `sagemaker:CreateTrainingPlan` `sagemaker:CreateReservedCapacity` `sagemaker:AddTags`  |  `arn:aws:sagemaker:region:account-id:training-plan/*"` `arn:aws:sagemaker:region:account-id:reserved-capacity/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html)  |  `sagemaker:CreateTransformJob` `kms:CreateGrant`(연결된 `TransformResources`에 `VolumeKmsKeyId`가 지정되고, 연결된 역할에 이 작업을 허용하는 정책이 없을 경우에만 필요함)  |  `arn:aws:sagemaker:region:account-id:transform-job/transformJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html)  |  `sagemaker:CreateUserProfile` `iam:PassRole`  |  `arn:aws:sagemaker:region:account-id:user-profile/domain-id/userProfileName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html)  |  `sagemaker:CreateWorkforce` `cognito-idp:DescribeUserPoolClient` `cognito-idp:UpdateUserPool` `cognito-idp:DescribeUserPool` `cognito-idp:UpdateUserPoolClient`  | arn:aws:sagemaker:region:account-id:workforce/\$1 | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkteam.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkteam.html)  |  `sagemaker:CreateWorkteam` `cognito-idp:DescribeUserPoolClient` `cognito-idp:UpdateUserPool` `cognito-idp:DescribeUserPool` `cognito-idp:UpdateUserPoolClient`  |  `arn:aws:sagemaker:region:account-id:workteam/private-crowd/work team name`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteApp.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteApp.html)  |  `sagemaker:DeleteApp`  |  `arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/app-type/appName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteAppImageConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteAppImageConfig.html)  |  `sagemaker:DeleteAppImageConfig`  |  `arn:aws:sagemaker:region:account-id:app-image-config/appImageConfigName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteDomain.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteDomain.html)  |  `sagemaker:DeleteDomain`  |  `arn:aws:sagemaker:region:account-id:domain/domainId`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html)  |  `sagemaker:DeleteEndpoint`  |  `arn:aws:sagemaker:region:account-id:endpoint/endpointName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpointConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpointConfig.html)  |  `sagemaker:DeleteEndpointConfig`  |  `arn:aws:sagemaker:region:account-id:endpoint-config/endpointConfigName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteFlowDefinition.html)  |  `sagemaker:DeleteFlowDefinition`  |  `arn:aws:sagemaker:region:account-id:flow-definition/flowDefinitionName`  | 
|  `[DeleteHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DeleteHumanLoop.html)`  |  `sagemaker:DeleteHumanLoop`  |  `arn:aws:sagemaker:region:account-id:human-loop/humanLoopName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteImage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteImage.html)  |  `sagemaker:DeleteImage`  |  `arn:aws:sagemaker:region:account-id:image/imageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteImageVersion.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteImageVersion.html)  |  `sagemaker:DeleteImageVersion`  |  `arn:aws:sagemaker:region:account-id:image-version/imageName/versionNumber`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModel.html)  |  `sagemaker:DeleteModel`  |  `arn:aws:sagemaker:region:account-id:model/modelName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModelPackage.html)  |  `sagemaker:DeleteModelPackage`  |  `arn:aws:sagemaker:region:account-id:model-package/modelPackageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModelPackageGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModelPackageGroup.html)  |  `sagemaker:DeleteModelPackageGroup`  |  `arn:aws:sagemaker:region:account-id:model-package-group/modelPackageGroupName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModelPackageGroupPolicy.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModelPackageGroupPolicy.html)  |  `sagemaker:DeleteModelPackageGroupPolicy`  |  `arn:aws:sagemaker:region:account-id:model-package-group/modelPackageGroupName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteNotebookInstance.html)  |  `sagemaker:DeleteNotebookInstance` 다음 권한은 노트북 인스턴스에 VPC를 지정한 경우에만 필요합니다. `ec2:DeleteNetworkInterface` 다음 권한은 노트북 인스턴스를 생성할 때 암호화 키를 지정한 경우에만 필요합니다. `kms:DescribeKey`  |  `arn:aws:sagemaker:region:account-id:notebook-instance/notebookInstanceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeletePipeline.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeletePipeline.html)  |  `sagemaker:DeletePipeline`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name`  | 
|  `[DeleteSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteSpace.html)`  |  `sagemaker:DeleteSpace`  |  `arn:aws:sagemaker:region:account-id:space/domain-id/spaceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteTags.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteTags.html)  |  `sagemaker:DeleteTags`  |  `arn:aws:sagemaker:region:account-id:*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteUserProfile.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteUserProfile.html)  |  `sagemaker:DeleteUserProfile`  |  `arn:aws:sagemaker:region:account-id:user-profile/domain-id/userProfileName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkforce.html)  |  `sagemaker:DeleteWorkforce`  |  `arn:aws:sagemaker:region:account-id:workforce/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkteam.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkteam.html)  |  `sagemaker:DeleteWorkteam`  |  `arn:aws:sagemaker:region:account-id:workteam/private-crowd/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeApp.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeApp.html)  |  `sagemaker:DescribeApp`  |  `arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/app-type/appName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAppImageConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAppImageConfig.html)  |  `sagemaker:DescribeAppImageConfig`  |  `arn:aws:sagemaker:region:account-id:app-image-config/appImageConfigName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html)  |  `sagemaker:DescribeAutoMLJob`  | arn:aws:sagemaker:region:account-id:automl-job/autoMLJobName | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)  |  `sagemaker:DescribeAutoMLJobV2`  | arn:aws:sagemaker:region:account-id:automl-job/autoMLJobName | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeDomain.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeDomain.html)  |  `sagemaker:DescribeDomain`  |  `arn:aws:sagemaker:region:account-id:domain/domainId`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)  |  `sagemaker:DescribeEndpoint`  |  `arn:aws:sagemaker:region:account-id:endpoint/endpointName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpointConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpointConfig.html)  |  `sagemaker:DescribeEndpointConfig`  |  `arn:aws:sagemaker:region:account-id:endpoint-config/endpointConfigName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFlowDefinition.html)  |  `sagemaker:DescribeFlowDefinition`  |  `arn:aws:sagemaker:region:account-id:flow-definition/flowDefinitionName`  | 
|  `[DescribeHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DescribeHumanLoop.html)`  |  `sagemaker:DescribeHumanLoop`  |  `arn:aws:sagemaker:region:account-id:human-loop/humanLoopName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeHumanTaskUi.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeHumanTaskUi.html)  |  `sagemaker:DescribeHumanTaskUi`  |  `arn:aws:sagemaker:region:account-id:human-task-ui/humanTaskUiName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeHyperParameterTuningJob.html)  |  `sagemaker:DescribeHyperParameterTuningJob`  |  `arn:aws:sagemaker:region:account-id:hyper-parameter-tuning-job/hyperParameterTuningJob`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeImage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeImage.html)  |  `sagemaker:DescribeImage`  |  `arn:aws:sagemaker:region:account-id:image/imageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeImageVersion.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeImageVersion.html)  |  `sagemaker:DescribeImageVersion`  |  `arn:aws:sagemaker:region:account-id:image-version/imageName/versionNumber`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeLabelingJob.html)  |  `sagemaker:DescribeLabelingJob`  |  `arn:aws:sagemaker:region:account-id:labeling-job/labelingJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModel.html)  |  `sagemaker:DescribeModel`  |  `arn:aws:sagemaker:region:account-id:model/modelName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html)  |  `sagemaker:DescribeModelPackage`  |  `arn:aws:sagemaker:region:account-id:model-package/modelPackageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackageGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackageGroup.html)  |  `sagemaker:DescribeModelPackageGroup`  |  `arn:aws:sagemaker:region:account-id:model-package-group/modelPackageGroupName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeNotebookInstance.html)  |  `sagemaker:DescribeNotebookInstance `  |  `arn:aws:sagemaker:region:account-id:notebook-instance/notebookInstanceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribePipeline.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribePipeline.html)  |  `sagemaker:DescribePipeline`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribePipelineDefinitionForExecution.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribePipelineDefinitionForExecution.html)  |  `sagemaker:DescribePipelineDefinitionForExecution`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name/execution/execution-id`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribePipelineExecution.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribePipelineExecution.html)  |  `sagemaker:DescribePipelineExecution`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name/execution/execution-id`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeProcessingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeProcessingJob.html)  |  `sagemaker:DescribeProcessingJob`  |  `arn:aws:sagemaker:region:account-id:processing-job/processingjobname`  | 
|  `[DescribeSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeSpace.html)`  |  `sagemaker:DescribeSpace`  |  `arn:aws:sagemaker:region:account-id:space/domain-id/spaceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeSubscribedWorkteam.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeSubscribedWorkteam.html)  |  `sagemaker:DescribeSubscribedWorkteam` `aws-marketplace:ViewSubscriptions`  |  `arn:aws:sagemaker:region:account-id:workteam/vendor-crowd/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingJob.html)  |  `sagemaker:DescribeTrainingJob`  |  `arn:aws:sagemaker:region:account-id:training-job/trainingjobname`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html)  |  `sagemaker:DescribeTransformJob`  |  `arn:aws:sagemaker:region:account-id:transform-job/transformjobname`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeUserProfile.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeUserProfile.html)  |  `sagemaker:DescribeUserProfile`  |  `arn:aws:sagemaker:region:account-id:user-profile/domain-id/userProfileName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html)  |  `sagemaker:DescribeWorkforce`  |  `arn:aws:sagemaker:region:account-id:workforce/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkteam.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkteam.html)  |  `sagemaker:DescribeWorkteam`  |  `arn:aws:sagemaker:region:account-id:workteam/private-crowd/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_GetModelPackageGroupPolicy.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_GetModelPackageGroupPolicy.html)  |  `sagemaker:GetModelPackageGroupPolicy`  |  `arn:aws:sagemaker:region:account-id:model-package-group/modelPackageGroupName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html)  |  `sagemaker:InvokeEndpoint`  |  `arn:aws:sagemaker:region:account-id:endpoint/endpointName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListAppImageConfigs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListAppImageConfigs.html)  |  `sagemaker:ListAppImageConfigs`  |  `arn:aws:sagemaker:region:account-id:app-image-config/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListApps.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListApps.html)  |  `sagemaker:ListApps`  |  `arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListDomains.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListDomains.html)  |  `sagemaker:ListDomains`  |  `arn:aws:sagemaker:region:account-id:domain/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListEndpointConfigs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListEndpointConfigs.html)  |  `sagemaker:ListEndpointConfigs`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListEndpoints.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListEndpoints.html)  |  `sagemaker:ListEndpoints`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListFlowDefinitions.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListFlowDefinitions.html)  |  `sagemaker:ListFlowDefinitions`  |  `*`  | 
|  `[ListHumanLoops](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_ListHumanLoops.html)`  |  `sagemaker:ListHumanLoops`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListHumanTaskUis.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListHumanTaskUis.html)  |  `sagemaker:ListHumanTaskUis`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListHyperParameterTuningJobs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListHyperParameterTuningJobs.html)  |  `sagemaker:ListHyperParameterTuningJobs`  |  `arn:aws:sagemaker:region:account-id:hyper-parameter-tuning-job/hyperParameterTuningJob`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListImages.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListImages.html)  |  `sagemaker:ListImages`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListImageVersions.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListImageVersions.html)  |  `sagemaker:ListImageVersions`  |  `arn:aws:sagemaker:region:account-id:image/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListLabelingJobs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListLabelingJobs.html)  |  `sagemaker:ListLabelingJobs`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListLabelingJobsForWorkteam.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListLabelingJobsForWorkteam.html)  |  `sagemaker:ListLabelingJobForWorkteam`  |  `*`  | 
|  `[ ListModelPackageGroups](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModelPackageGroups.html)`  |  `sagemaker:ListModelPackageGroups`  |  `arn:aws:sagemaker:region:account-id :model-package-group/ModelPackageGroupName`  | 
|  `[ ListModelPackages](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModelPackages.html)`  |  `sagemaker:ListModelPackages`  |  `arn:aws:sagemaker:region:account-id :model-package/ModelPackageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModels.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModels.html)  |  `sagemaker:ListModels`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListNotebookInstances.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListNotebookInstances.html)  |  `sagemaker:ListNotebookInstances`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelineExecutions.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelineExecutions.html)  |  `sagemaker:ListPipelineExecutions`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelineExecutionSteps.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelineExecutionSteps.html)  |  `sagemaker:ListPipelineExecutionSteps`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name/execution/execution-id`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelineParametersForExecution.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelineParametersForExecution.html)  |  `sagemaker:ListPipelineParametersForExecution`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name/execution/execution-id`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelines.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListPipelines.html)  |  `sagemaker:ListPipelines`  | \$1 | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListProcessingJobs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListProcessingJobs.html)  |  `sagemaker:ListProcessingJobs`  |  `*`  | 
|  `[ListSpaces](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListSpaces.html)`  |  `sagemaker:ListSpaces`  |  `arn:aws:sagemaker:region:account-id:space/domain-id/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListSubscribedWorkteams.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListSubscribedWorkteams.html)  |  `sagemaker:ListSubscribedWorkteams` `aws-marketplace:ViewSubscriptions`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTags.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTags.html)  |  `sagemaker:ListTags`  |  `arn:aws:sagemaker:region:account-id:*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingJobs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingJobs.html)  |  `sagemaker:ListTrainingJobs`  |  `*`  | 
|  `[ ListTrainingJobsForHyperParameterTuningJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingJobsForHyperParameterTuningJob.html)`  |  `sagemaker:ListTrainingJobsForHyperParameterTuningJob`  |  `arn:aws:sagemaker:region:account-id:hyper-parameter-tuning-job/hyperParameterTuningJob`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTransformJobs.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTransformJobs.html)  |  `sagemaker:ListTransformJobs`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListUserProfiles.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListUserProfiles.html)  |  `sagemaker:ListUserProfiles`  |  `arn:aws:sagemaker:region:account-id:user-profile/domain-id/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListWorkforces.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListWorkforces.html)  |  `sagemaker:ListWorkforces`  | \$1 | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListWorkteams.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListWorkteams.html)  |  `sagemaker:ListWorkteams`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_PutModelPackageGroupPolicy.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_PutModelPackageGroupPolicy.html)  |  `sagemaker:PutModelPackageGroupPolicy`  |  `arn:aws:sagemaker:region:account-id:model-package-group/modelPackageGroupName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RetryPipelineExecution.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RetryPipelineExecution.html)  |  `sagemaker:RetryPipelineExecution`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name/execution/execution-id`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Search.html)  |  `sagemaker:Search`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SendPipelineExecutionStepFailure.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SendPipelineExecutionStepFailure.html)  |  `sagemaker:SendPipelineExecutionStepFailure`  |  `*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SendPipelineExecutionStepSuccess.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_SendPipelineExecutionStepSuccess.html)  |  `sagemaker:SendPipelineExecutionStepSuccess`  |  `*`  | 
|  `[StartHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StartHumanLoop.html)`  |  `sagemaker:StartHumanLoop`  |  `arn:aws:sagemaker:region:account-id:human-loop/humanLoopName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartNotebookInstance.html)  |  `sagemaker:StartNotebookInstance` 다음 권한은 노트북 인스턴스를 생성할 때 VPC를 지정한 경우에만 필요합니다. `ec2:CreateNetworkInterface` `ec2:DescribeNetworkInterfaces` `ec2:DescribeSecurityGroups` `ec2:DescribeSubnets` `ec2:DescribeVpcs` 다음 권한은 노트북 인스턴스를 생성할 때 암호화 키를 지정한 경우에만 필요합니다. `kms:DescribeKey` `kms:CreateGrant` 다음 권한은 노트북 인스턴스를 생성할 때 프라이빗 Git 리포지토리에 액세스하기 위한 AWS Secrets Manager 암호를 지정한 경우에만 필요합니다. `secretsmanager:GetSecretValue`  |  `arn:aws:sagemaker:region:account-id:notebook-instance/notebookInstanceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html)  |  `sagemaker:StartPipelineExecution`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name`  | 
|  `[StopHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StopHumanLoop.html)`  |  `sagemaker:StopHumanLoop`  |  `arn:aws:sagemaker:region:account-id:human-loop/humanLoopName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopHyperParameterTuningJob.html)  |  `sagemaker:StopHyperParameterTuningJob`  |  `arn:aws:sagemaker:region:account-id:hyper-parameter-tuning-job/hyperParameterTuningJob`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopLabelingJob.html)  |  `sagemaker:StopLabelingJob`  |  `arn:aws:sagemaker:region:account-id:labeling-job/labelingJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopNotebookInstance.html)  |  `sagemaker:StopNotebookInstance`  |  `arn:aws:sagemaker:region:account-id:notebook-instance/notebookInstanceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopPipelineExecution.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopPipelineExecution.html)  |  `sagemaker:StopPipelineExecution`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name/execution/execution-id`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopProcessingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopProcessingJob.html)  |  `sagemaker:StopProcessingJob`  |  `arn:aws:sagemaker:region:account-id:processing-job/processingJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopTrainingJob.html)  |  `sagemaker:StopTrainingJob`  |  `arn:aws:sagemaker:region:account-id:training-job/trainingJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopTransformJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopTransformJob.html)  |  `sagemaker:StopTransformJob`  |  `arn:aws:sagemaker:region:account-id:transform-job/transformJobName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateAppImageConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateAppImageConfig.html)  |  `sagemaker:UpdateAppImageConfig`  |  `arn:aws:sagemaker:region:account-id:app-image-config/appImageConfigName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html)  |  `sagemaker:UpdateDomain`  |  `arn:aws:sagemaker:region:account-id:domain/domainId`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)  |  `sagemaker:UpdateEndpoint`  |  `arn:aws:sagemaker:region:account-id:endpoint/endpointName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html)  |  `sagemaker:UpdateEndpointWeightsAndCapacities`  |  `arn:aws:sagemaker:region:account-id:endpoint/endpointName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateImage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateImage.html)  |  `sagemaker:UpdateImage` `iam:PassRole`  |  `arn:aws:sagemaker:region:account-id:image/imageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateModelPackage.html)  |  `sagemaker:UpdateModelPackage`  |  `arn:aws:sagemaker:region:account-id:model-package/modelPackageName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html)  |  `sagemaker:UpdateNotebookInstance` `iam:PassRole`  |  `arn:aws:sagemaker:region:account-id:notebook-instance/notebookInstanceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdatePipeline.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdatePipeline.html)  |  `sagemaker:UpdatePipeline` `iam:PassRole`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name` `arn:aws-partition:iam::account-id:role/role-name`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdatePipelineExecution.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdatePipelineExecution.html)  |  `sagemaker:UpdatePipelineExecution`  |  `arn:aws-partition:sagemaker:region:account-id:pipeline/pipeline-name/execution/execution-id`  | 
|  `[UpdateSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateSpace.html)`  |  `sagemaker:UpdateSpace`  |  `arn:aws:sagemaker:region:account-id:space/domain-id/spaceName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateUserProfile.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateUserProfile.html)  |  `sagemaker:UpdateUserProfile`  |  `arn:aws:sagemaker:region:account-id:user-profile/domain-id/userProfileName`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html)  |  `sagemaker:UpdateWorkforce`  |  `arn:aws:sagemaker:region:account-id:workforce/*`  | 
|  [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkteam.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkteam.html)  |  `sagemaker:UpdateWorkteam`  |  `arn:aws:sagemaker:region:account-id:workteam/private-crowd/*`  | 



# AWS Amazon SageMaker AI에 대한 관리형 정책
<a name="security-iam-awsmanpol"></a>

사용자, 그룹 및 역할에 권한을 추가하려면 정책을 직접 작성하는 것보다 AWS 관리형 정책을 사용하는 것이 더 쉽습니다. 팀에 필요한 권한만 제공하는 [IAM 고객 관리형 정책을 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)하기 위해서는 시간과 전문 지식이 필요합니다. 빠르게 시작하려면 AWS 관리형 정책을 사용할 수 있습니다. 이러한 정책은 일반적인 사용 사례를 다루며 AWS 계정에서 사용할 수 있습니다. AWS 관리형 정책에 대한 자세한 내용은 *IAM 사용 설명서*의 [AWS 관리형 정책을](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) 참조하세요.

AWS 서비스는 AWS 관리형 정책을 유지 관리하고 업데이트합니다. AWS 관리형 정책에서는 권한을 변경할 수 없습니다. 서비스는 때때로 추가 권한을 AWS 관리형 정책에 추가하여 새로운 기능을 지원합니다. 이 유형의 업데이트는 정책이 연결된 모든 자격 증명(사용자, 그룹 및 역할)에 적용됩니다. 서비스는 새로운 기능이 시작되거나 새 태스크를 사용할 수 있을 때 AWS 관리형 정책에 업데이트됩니다. 서비스는 AWS 관리형 정책에서 권한을 제거하지 않으므로 정책 업데이트로 인해 기존 권한이 손상되지 않습니다.

또한는 여러 서비스에 걸쳐 있는 직무에 대한 관리형 정책을 AWS 지원합니다. 예를 들어 관리`ReadOnlyAccess` AWS 형 정책은 모든 AWS 서비스 및 리소스에 대한 읽기 전용 액세스를 제공합니다. 서비스가 새 기능을 시작하면는 새 작업 및 리소스에 대한 읽기 전용 권한을 AWS 추가합니다. 직무 정책의 목록과 설명은 IAM 사용 설명서의 [직무에 관한AWS 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)을 참조하세요.**

**중요**  
사용 사례를 수행할 수 있는 가장 제한된 정책을 사용하는 것이 좋습니다.

계정의 사용자에게 연결할 수 있는 다음 AWS 관리형 정책은 Amazon SageMaker AI에만 해당됩니다.
+ **`AmazonSageMakerFullAccess`** – Amazon SageMaker AI 및 SageMaker AI 지리 공간 리소스 및 지원되는 작업에 대한 전체 액세스 권한을 부여합니다. 제한 없는 Amazon S3 액세스를 제공하지만 특정 `sagemaker`태그가 포함된 버킷 및 객체를 지원합니다. 이 정책은 모든 IAM 역할을 Amazon SageMaker AI로 전달할 수 있도록 허용하지만 'AmazonSageMaker'가 포함된 IAM 역할만 AWS Glue AWS Step Functions, 및 AWS RoboMaker 서비스로 전달할 수 있도록 허용합니다.
+ **`AmazonSageMakerReadOnly`** - Amazon SageMaker AI 리소스에 대한 읽기 전용 액세스 권한을 부여합니다.

다음 AWS 관리형 정책은 계정의 사용자에게 연결할 수 있지만 권장되지 않습니다.
+ [https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator) - 모든 AWS 서비스 및 계정 내 모든 리소스에 대한 모든 작업을 허용합니다.
+ [https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_data-scientist](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_data-scientist) – 데이터 사이언티스트가 마주하는 대부분의 사용 사례(주로 분석 및 비즈니스 인텔리전스)를 처리하는 폭넓은 권한을 부여합니다.

IAM 콘솔에 로그인하고 이 콘솔에서 정책을 검색하여 이러한 권한 정책을 검토할 수 있습니다.

필요에 따라 Amazon SageMaker AI 작업 및 리소스에 대한 권한을 허용하는 고유의 사용자 지정 IAM 정책을 생성할 수도 있습니다. 정책이 필요한 사용자 또는 그룹에 이러한 사용자 지정 정책을 연결할 수 있습니다.

**Topics**
+ [AWS 관리형 정책: AmazonSageMakerFullAccess](#security-iam-awsmanpol-AmazonSageMakerFullAccess)
+ [AWS 관리형 정책: AmazonSageMakerReadOnly](#security-iam-awsmanpol-AmazonSageMakerReadOnly)
+ [AWS Amazon SageMaker Canvas에 대한 관리형 정책](security-iam-awsmanpol-canvas.md)
+ [AWS Amazon SageMaker 특성 저장소에 대한 관리형 정책](security-iam-awsmanpol-feature-store.md)
+ [AWS Amazon SageMaker 지리 공간에 대한 관리형 정책](security-iam-awsmanpol-geospatial.md)
+ [AWS Amazon SageMaker Ground Truth에 대한 관리형 정책](security-iam-awsmanpol-ground-truth.md)
+ [AWS Amazon SageMaker HyperPod에 대한 관리형 정책](security-iam-awsmanpol-hyperpod.md)
+ [AWS SageMaker AI 모델 거버넌스를 위한 관리형 정책](security-iam-awsmanpol-governance.md)
+ [AWS 모델 레지스트리에 대한 관리형 정책](security-iam-awsmanpol-model-registry.md)
+ [AWS SageMaker 노트북에 대한 관리형 정책](security-iam-awsmanpol-notebooks.md)
+ [AWS Amazon SageMaker 파트너 AI 앱에 대한 관리형 정책](security-iam-awsmanpol-partner-apps.md)
+ [AWS SageMaker Pipelines에 대한 관리형 정책](security-iam-awsmanpol-pipelines.md)
+ [AWS SageMaker 훈련 계획에 대한 관리형 정책](security-iam-awsmanpol-training-plan.md)
+ [AWS SageMaker 프로젝트 및 JumpStart에 대한 관리형 정책](security-iam-awsmanpol-sc.md)
+ [AWS 관리형 정책에 대한 SageMaker AI 업데이트](#security-iam-awsmanpol-updates)

## AWS 관리형 정책: AmazonSageMakerFullAccess
<a name="security-iam-awsmanpol-AmazonSageMakerFullAccess"></a>

이 정책은 위탁자가 모든 Amazon SageMaker AI 및 SageMaker AI 지리 공간 리소스 및 작업에 대한 전체 액세스가 가능한 관리 권한을 부여합니다. 또한 이 정책은 관련 서비스에 대한 선택적 액세스를 제공합니다. 이 정책은 모든 IAM 역할을 Amazon SageMaker AI로 전달하도록 허용하지만 "AmazonSageMaker"가 포함된 IAM 역할만 AWS Glue AWS Step Functions및 AWS RoboMaker 서비스로 전달하도록 허용합니다. Amazon SageMaker AI 도메인을 생성할 권한은 포함되지 않습니다. 도메인을 생성하는 데 필요한 정책에 대한 자세한 내용은 [Amazon SageMaker AI 사전 조건 충족](gs-set-up.md)섹션을 참조하세요.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `application-autoscaling` - 위탁자가 SageMaker AI 실시간 추론 엔드포인트를 자동으로 규모 조정할 수 있습니다.
+ `athena` - 보안 주체가 데이터 카탈로그, 데이터베이스 및 테이블 메타데이터 목록을 쿼리할 수 있도록 허용합니다 Amazon Athena.
+ `aws-marketplace` - 보안 주체가 AWS AI Marketplace 구독을 볼 수 있도록 허용합니다. AWS Marketplace에서 구독된 SageMaker AI 소프트웨어에 액세스하려면 이 정보가 필요합니다.
+ `cloudformation` - 보안 주체가 SageMaker AI JumpStart 솔루션 및 파이프라인을 사용하기 위한 AWS CloudFormation 템플릿을 가져올 수 있도록 허용합니다. SageMaker JumpStart는 SageMaker AI를 다른 AWS 서비스에 연결하는 종합적인 기계 학습 솔루션을 실행하는 데 필요한 리소스를 생성합니다. SageMaker AI Pipelines은 Service Catalog의 지원을 받는 새 프로젝트를 생성합니다.
+ `cloudwatch` - 보안 주체가 CloudWatch 지표를 게시하고, 경보와 상호 작용하고, 계정의 CloudWatch Logs에 로그를 업로드할 수 있습니다.
+ `codebuild` - 보안 주체가 SageMaker AI 파이프라인 및 프로젝트에 대한 AWS CodeBuild 아티팩트를 저장할 수 있도록 허용합니다.
+ `codecommit` - SageMaker AI 노트북 인스턴스와 AWS CodeCommit 통합하는 데 필요합니다.
+ `cognito-idp` - 프라이빗 작업 인력 및 작업 팀을 정의하기 위한 Amazon SageMaker Ground Truth에 필요합니다.
+ `ec2` - SageMaker AI 작업, 모델, 엔드포인트 및 노트북 인스턴스에 대해 Amazon VPC를 지정할 때 SageMaker AI가 Amazon EC2 리소스 및 네트워크 인터페이스를 관리하는 데 필요합니다.
+ `ecr` - Amazon SageMaker Studio Classic(사용자 지정 이미지), 훈련, 처리, 배치 추론 및 추론 엔드포인트에 대한 Docker 아티팩트를 가져오고 저장하는 데 필요합니다. 이는 SageMaker AI에서 자체 컨테이너를 사용할 때도 필요합니다. 사용자를 대신하여 사용자 지정 이미지를 생성하고 제거하려면 SageMaker AI JumpStart 솔루션에 대한 추가 권한이 필요합니다.
+ `elasticfilesystem` - 보안 주체가 Amazon Elastic File System에 액세스할 수 있도록 허용합니다. 이는 SageMaker AI가 기계 학습 모델 훈련을 위해 Amazon Elastic File System의 데이터 소스를 사용하는 데 필요합니다.
+ `fsx` - 보안 주체에게 Amazon FSx에 대한 액세스 권한을 허용합니다. 이는 SageMaker AI가 기계 학습 모델 훈련을 위해 Amazon FSx의 데이터 소스를 사용하는 데 필요합니다.
+ `glue` - SageMaker AI 노트북 인스턴스 내에서의 추론 파이프라인 사전 처리에 필요합니다.
+ `groundtruthlabeling` - Ground Truth 레이블 지정 작업에 필요합니다. `groundtruthlabeling` 엔드포인트는 Ground Truth 콘솔을 통해 액세스할 수 있습니다.
+ `iam` - SageMaker AI 콘솔에 사용 가능한 IAM 역할에 대한 액세스 권한을 부여하고 서비스 연결 역할을 생성하는 데 필요합니다.
+ `kms` - SageMaker AI 콘솔에 사용 가능한 AWS KMS 키에 대한 액세스 권한을 부여하고 작업 및 엔드포인트에서 지정된 AWS KMS 별칭에 대해 해당 키를 검색하는 데 필요합니다.
+ `lambda` - 보안 주체가 AWS Lambda 함수 목록을 간접 호출하고 가져올 수 있습니다.
+ `logs` - SageMaker AI 작업 및 엔드포인트가 로그 스트림을 게시하도록 허용하는 데 필요합니다.
+ `redshift` - 보안 주체가 Amazon Redshift 클러스터 자격 증명에 액세스할 수 있도록 허용합니다.
+ `redshift-data` - 보안 주체가 Amazon Redshift의 데이터를 사용하여 명령문을 실행, 설명 및 취소하고, 명령문 결과를 가져오고, 스키마와 테이블을 나열할 수 있도록 허용합니다.
+ `robomaker` - 보안 주체가 AWS RoboMaker 시뮬레이션 애플리케이션 및 작업을 생성, 설명 가져오기 및 삭제할 수 있는 전체 액세스 권한을 갖도록 허용합니다. 이는 노트북 인스턴스에서 보강 학습 예제를 실행하는 데도 필요합니다.
+ `s3, s3express` - 위탁자가 SageMaker AI와 관련된 Amazon S3 및 Amazon S3 Express 리소스에 대한 전체 액세스 권한을 갖도록 허용하지만 Amazon S3 또는 Amazon S3 Express 전체에 대한 액세스는 허용하지 않습니다.
+ `sagemaker` - 위탁자가 SageMaker AI 사용자 프로필에 태그를 나열하고 SageMaker AI 앱 및 스페이스에 태그를 추가하도록 허용합니다. sagemaker:WorkteamType 'private-crowd' 또는 'vendor-crowd'의 SageMaker AI 흐름 정의에만 액세스하도록 허용합니다. 훈련 계획 기능에 액세스할 수 있는 모든 AWS 리전에서 SageMaker 훈련 작업 및 SageMaker HyperPod 클러스터에서 SageMaker AI 훈련 계획 및 예약 용량을 사용하고 설명할 수 있습니다.
+ `sagemaker` 및 `sagemaker-geospatial` - 위탁자에게 SageMaker AI 도메인 및 사용자 프로필에 대한 읽기 전용 액세스를 허용합니다.
+ `secretsmanager` – 보안 주체에게 AWS Secrets Manager에 대한 전체 액세스 권한을 허용합니다. 보안 주체는 데이터베이스와 다른 서비스의 자격 증명을 안전하게 암호화, 저장 및 검색할 수 있습니다. 이는 GitHub를 사용하는 SageMaker AI 코드 리포지토리가 있는 SageMaker AI 노트북 인스턴스에도 필요합니다.
+ `servicecatalog` - 보안 주체가 Service Catalog를 사용할 수 있도록 허용합니다. 보안 주체는 AWS 리소스를 사용하여 배포된 서버, 데이터베이스, 웹 사이트 또는 애플리케이션과 같은 프로비저닝된 제품을 생성, 목록 가져오기, 업데이트 또는 종료할 수 있습니다. 이는 SageMaker AI JumpStart 및 프로젝트에서 Service Catalog 제품을 찾고 읽고 사용자에서 AWS 리소스를 시작하는 데 필요합니다.
+ `sns` - 보안 주체가 Amazon SNS 주제 목록을 볼 수 있도록 허용합니다. 이는 사용자에게 추론이 완료되었음을 알리기 위해 비동기 추론이 활성화된 엔드포인트에 필요합니다.
+ `states` - SageMaker AI JumpStart 및 파이프라인이 Service Catalog를 사용하여 Step Function 리소스를 생성하는 데 필요합니다.
+ `tag` - SageMaker AI Pipelines이 Studio에서 렌더링하는 데 필요합니다. Studio Classic에는 특정 `sagemaker:project-id` 태그 키로 태그가 지정된 리소스가 필요합니다. 이를 위해서는 `tag:GetResources`권한이 필요합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAllNonAdminSageMakerActions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:*",
        "sagemaker-geospatial:*"
      ],
      "NotResource": [
        "arn:aws:sagemaker:*:*:domain/*",
        "arn:aws:sagemaker:*:*:user-profile/*",
        "arn:aws:sagemaker:*:*:app/*",
        "arn:aws:sagemaker:*:*:space/*",
        "arn:aws:sagemaker:*:*:partner-app/*",
        "arn:aws:sagemaker:*:*:flow-definition/*",
        "arn:aws:sagemaker:*:*:training-plan/*",
        "arn:aws:sagemaker:*:*:reserved-capacity/*"
      ]
    },
    {
      "Sid": "AllowAddTagsForSpace",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:space/*"
      ],
      "Condition": {
        "StringEquals": {
          "sagemaker:TaggingAction": "CreateSpace"
        }
      }
    },
    {
      "Sid": "AllowAddTagsForApp",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:app/*"
      ]
    },
    {
      "Sid": "AllowUseOfTrainingPlanResources",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateTrainingJob",
        "sagemaker:CreateCluster",
        "sagemaker:UpdateCluster",
        "sagemaker:DescribeTrainingPlan"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:training-plan/*",
        "arn:aws:sagemaker:*:*:reserved-capacity/*"
      ]
    },
    {
      "Sid": "AllowStudioActions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreatePresignedDomainUrl",
        "sagemaker:DescribeDomain",
        "sagemaker:ListDomains",
        "sagemaker:DescribeUserProfile",
        "sagemaker:ListUserProfiles",
        "sagemaker:DescribeSpace",
        "sagemaker:ListSpaces",
        "sagemaker:DescribeApp",
        "sagemaker:ListApps"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowAppActionsForUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:*:*:app/*/*/*/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "AllowAppActionsForSharedSpaces",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:*:*:app/${sagemaker:DomainId}/*/*/*",
      "Condition": {
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Shared"
          ]
        }
      }
    },
    {
      "Sid": "AllowMutatingActionsOnSharedSpacesWithoutOwner",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:*:*:space/${sagemaker:DomainId}/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "RestrictMutatingActionsOnSpacesToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:*:*:space/${sagemaker:DomainId}/*",
      "Condition": {
        "ArnLike": {
          "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:*:*:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private",
            "Shared"
          ]
        }
      }
    },
    {
      "Sid": "RestrictMutatingActionsOnPrivateSpaceAppsToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:*:*:app/${sagemaker:DomainId}/*/*/*",
      "Condition": {
        "ArnLike": {
          "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:*:*:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private"
          ]
        }
      }
    },
    {
      "Sid": "AllowFlowDefinitionActions",
      "Effect": "Allow",
      "Action": "sagemaker:*",
      "Resource": [
        "arn:aws:sagemaker:*:*:flow-definition/*"
      ],
      "Condition": {
        "StringEqualsIfExists": {
          "sagemaker:WorkteamType": [
            "private-crowd",
            "vendor-crowd"
          ]
        }
      }
    },
    {
      "Sid": "AllowAWSServiceActions",
      "Effect": "Allow",
      "Action": [
        "application-autoscaling:DeleteScalingPolicy",
        "application-autoscaling:DeleteScheduledAction",
        "application-autoscaling:DeregisterScalableTarget",
        "application-autoscaling:DescribeScalableTargets",
        "application-autoscaling:DescribeScalingActivities",
        "application-autoscaling:DescribeScalingPolicies",
        "application-autoscaling:DescribeScheduledActions",
        "application-autoscaling:PutScalingPolicy",
        "application-autoscaling:PutScheduledAction",
        "application-autoscaling:RegisterScalableTarget",
        "aws-marketplace:ViewSubscriptions",
        "cloudformation:GetTemplateSummary",
        "cloudwatch:DeleteAlarms",
        "cloudwatch:DescribeAlarms",
        "cloudwatch:GetMetricData",
        "cloudwatch:GetMetricStatistics",
        "cloudwatch:ListMetrics",
        "cloudwatch:PutMetricAlarm",
        "cloudwatch:PutMetricData",
        "codecommit:BatchGetRepositories",
        "codecommit:CreateRepository",
        "codecommit:GetRepository",
        "codecommit:List*",
        "cognito-idp:AdminAddUserToGroup",
        "cognito-idp:AdminCreateUser",
        "cognito-idp:AdminDeleteUser",
        "cognito-idp:AdminDisableUser",
        "cognito-idp:AdminEnableUser",
        "cognito-idp:AdminRemoveUserFromGroup",
        "cognito-idp:CreateGroup",
        "cognito-idp:CreateUserPool",
        "cognito-idp:CreateUserPoolClient",
        "cognito-idp:CreateUserPoolDomain",
        "cognito-idp:DescribeUserPool",
        "cognito-idp:DescribeUserPoolClient",
        "cognito-idp:List*",
        "cognito-idp:UpdateUserPool",
        "cognito-idp:UpdateUserPoolClient",
        "ec2:CreateNetworkInterface",
        "ec2:CreateNetworkInterfacePermission",
        "ec2:CreateVpcEndpoint",
        "ec2:DeleteNetworkInterface",
        "ec2:DeleteNetworkInterfacePermission",
        "ec2:DescribeDhcpOptions",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeRouteTables",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets",
        "ec2:DescribeVpcEndpoints",
        "ec2:DescribeVpcs",
        "ecr:BatchCheckLayerAvailability",
        "ecr:BatchGetImage",
        "ecr:CreateRepository",
        "ecr:Describe*",
        "ecr:GetAuthorizationToken",
        "ecr:GetDownloadUrlForLayer",
        "ecr:StartImageScan",
        "elasticfilesystem:DescribeFileSystems",
        "elasticfilesystem:DescribeMountTargets",
        "fsx:DescribeFileSystems",
        "glue:CreateJob",
        "glue:DeleteJob",
        "glue:GetJob*",
        "glue:GetTable*",
        "glue:GetWorkflowRun",
        "glue:ResetJobBookmark",
        "glue:StartJobRun",
        "glue:StartWorkflowRun",
        "glue:UpdateJob",
        "groundtruthlabeling:*",
        "iam:ListRoles",
        "kms:DescribeKey",
        "kms:ListAliases",
        "lambda:ListFunctions",
        "logs:CreateLogDelivery",
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:DeleteLogDelivery",
        "logs:Describe*",
        "logs:GetLogDelivery",
        "logs:GetLogEvents",
        "logs:ListLogDeliveries",
        "logs:PutLogEvents",
        "logs:PutResourcePolicy",
        "logs:UpdateLogDelivery",
        "robomaker:CreateSimulationApplication",
        "robomaker:DescribeSimulationApplication",
        "robomaker:DeleteSimulationApplication",
        "robomaker:CreateSimulationJob",
        "robomaker:DescribeSimulationJob",
        "robomaker:CancelSimulationJob",
        "secretsmanager:ListSecrets",
        "servicecatalog:Describe*",
        "servicecatalog:List*",
        "servicecatalog:ScanProvisionedProducts",
        "servicecatalog:SearchProducts",
        "servicecatalog:SearchProvisionedProducts",
        "sns:ListTopics",
        "tag:GetResources"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowECRActions",
      "Effect": "Allow",
      "Action": [
        "ecr:SetRepositoryPolicy",
        "ecr:CompleteLayerUpload",
        "ecr:BatchDeleteImage",
        "ecr:UploadLayerPart",
        "ecr:DeleteRepositoryPolicy",
        "ecr:InitiateLayerUpload",
        "ecr:DeleteRepository",
        "ecr:PutImage"
      ],
      "Resource": [
        "arn:aws:ecr:*:*:repository/*sagemaker*"
      ]
    },
    {
      "Sid": "AllowCodeCommitActions",
      "Effect": "Allow",
      "Action": [
        "codecommit:GitPull",
        "codecommit:GitPush"
      ],
      "Resource": [
        "arn:aws:codecommit:*:*:*sagemaker*",
        "arn:aws:codecommit:*:*:*SageMaker*",
        "arn:aws:codecommit:*:*:*Sagemaker*"
      ]
    },
    {
      "Sid": "AllowCodeBuildActions",
      "Action": [
        "codebuild:BatchGetBuilds",
        "codebuild:StartBuild"
      ],
      "Resource": [
        "arn:aws:codebuild:*:*:project/sagemaker*",
        "arn:aws:codebuild:*:*:build/*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowStepFunctionsActions",
      "Action": [
        "states:DescribeExecution",
        "states:GetExecutionHistory",
        "states:StartExecution",
        "states:StopExecution",
        "states:UpdateStateMachine"
      ],
      "Resource": [
        "arn:aws:states:*:*:statemachine:*sagemaker*",
        "arn:aws:states:*:*:execution:*sagemaker*:*"
      ],
      "Effect": "Allow"
    },
    {
      "Sid": "AllowSecretManagerActions",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:DescribeSecret",
        "secretsmanager:GetSecretValue",
        "secretsmanager:CreateSecret"
      ],
      "Resource": [
        "arn:aws:secretsmanager:*:*:secret:AmazonSageMaker-*"
      ]
    },
    {
      "Sid": "AllowReadOnlySecretManagerActions",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:DescribeSecret",
        "secretsmanager:GetSecretValue"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "secretsmanager:ResourceTag/SageMaker": "true"
        }
      }
    },
    {
      "Sid": "AllowServiceCatalogProvisionProduct",
      "Effect": "Allow",
      "Action": [
        "servicecatalog:ProvisionProduct"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowServiceCatalogTerminateUpdateProvisionProduct",
      "Effect": "Allow",
      "Action": [
        "servicecatalog:TerminateProvisionedProduct",
        "servicecatalog:UpdateProvisionedProduct"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "servicecatalog:userLevel": "self"
        }
      }
    },
    {
      "Sid": "AllowS3ObjectActions",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:AbortMultipartUpload"
      ],
      "Resource": [
        "arn:aws:s3:::*SageMaker*",
        "arn:aws:s3:::*Sagemaker*",
        "arn:aws:s3:::*sagemaker*",
        "arn:aws:s3:::*aws-glue*"
      ]
    },
    {
      "Sid": "AllowS3GetObjectWithSageMakerExistingObjectTag",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::*"
      ],
      "Condition": {
        "StringEqualsIgnoreCase": {
          "s3:ExistingObjectTag/SageMaker": "true"
        }
      }
    },
    {
      "Sid": "AllowS3GetObjectWithServiceCatalogProvisioningExistingObjectTag",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::*"
      ],
      "Condition": {
        "StringEquals": {
          "s3:ExistingObjectTag/servicecatalog:provisioning": "true"
        }
      }
    },
    {
      "Sid": "AllowS3BucketActions",
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:GetBucketLocation",
        "s3:ListBucket",
        "s3:ListAllMyBuckets",
        "s3:GetBucketCors",
        "s3:PutBucketCors"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowS3BucketACL",
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketAcl",
        "s3:PutObjectAcl"
      ],
      "Resource": [
        "arn:aws:s3:::*SageMaker*",
        "arn:aws:s3:::*Sagemaker*",
        "arn:aws:s3:::*sagemaker*"
      ]
    },
    {
      "Sid": "AllowLambdaInvokeFunction",
      "Effect": "Allow",
      "Action": [
        "lambda:InvokeFunction"
      ],
      "Resource": [
        "arn:aws:lambda:*:*:function:*SageMaker*",
        "arn:aws:lambda:*:*:function:*sagemaker*",
        "arn:aws:lambda:*:*:function:*Sagemaker*",
        "arn:aws:lambda:*:*:function:*LabelingFunction*"
      ]
    },
    {
      "Sid": "AllowCreateServiceLinkedRoleForSageMakerApplicationAutoscaling",
      "Action": "iam:CreateServiceLinkedRole",
      "Effect": "Allow",
      "Resource": "arn:aws:iam::*:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "sagemaker.application-autoscaling.amazonaws.com"
        }
      }
    },
    {
      "Sid": "AllowCreateServiceLinkedRoleForRobomaker",
      "Effect": "Allow",
      "Action": "iam:CreateServiceLinkedRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:AWSServiceName": "robomaker.amazonaws.com"
        }
      }
    },
    {
      "Sid": "AllowSNSActions",
      "Effect": "Allow",
      "Action": [
        "sns:Subscribe",
        "sns:CreateTopic",
        "sns:Publish"
      ],
      "Resource": [
        "arn:aws:sns:*:*:*SageMaker*",
        "arn:aws:sns:*:*:*Sagemaker*",
        "arn:aws:sns:*:*:*sagemaker*"
      ]
    },
    {
      "Sid": "AllowPassRoleForSageMakerRoles",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::*:role/*AmazonSageMaker*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": [
            "glue.amazonaws.com",
            "robomaker.amazonaws.com",
            "states.amazonaws.com"
          ]
        }
      }
    },
    {
      "Sid": "AllowPassRoleToSageMaker",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::*:role/*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "sagemaker.amazonaws.com"
        }
      }
    },
    {
      "Sid": "AllowAthenaActions",
      "Effect": "Allow",
      "Action": [
        "athena:ListDataCatalogs",
        "athena:ListDatabases",
        "athena:ListTableMetadata",
        "athena:GetQueryExecution",
        "athena:GetQueryResults",
        "athena:StartQueryExecution",
        "athena:StopQueryExecution"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AllowGlueCreateTable",
      "Effect": "Allow",
      "Action": [
        "glue:CreateTable"
      ],
      "Resource": [
        "arn:aws:glue:*:*:table/*/sagemaker_tmp_*",
        "arn:aws:glue:*:*:table/sagemaker_featurestore/*",
        "arn:aws:glue:*:*:catalog",
        "arn:aws:glue:*:*:database/*"
      ]
    },
    {
      "Sid": "AllowGlueUpdateTable",
      "Effect": "Allow",
      "Action": [
        "glue:UpdateTable"
      ],
      "Resource": [
        "arn:aws:glue:*:*:table/sagemaker_featurestore/*",
        "arn:aws:glue:*:*:catalog",
        "arn:aws:glue:*:*:database/sagemaker_featurestore"
      ]
    },
    {
      "Sid": "AllowGlueDeleteTable",
      "Effect": "Allow",
      "Action": [
        "glue:DeleteTable"
      ],
      "Resource": [
        "arn:aws:glue:*:*:table/*/sagemaker_tmp_*",
        "arn:aws:glue:*:*:catalog",
        "arn:aws:glue:*:*:database/*"
      ]
    },
    {
      "Sid": "AllowGlueGetTablesAndDatabases",
      "Effect": "Allow",
      "Action": [
        "glue:GetDatabases",
        "glue:GetTable",
        "glue:GetTables"
      ],
      "Resource": [
        "arn:aws:glue:*:*:table/*",
        "arn:aws:glue:*:*:catalog",
        "arn:aws:glue:*:*:database/*"
      ]
    },
    {
      "Sid": "AllowGlueGetAndCreateDatabase",
      "Effect": "Allow",
      "Action": [
        "glue:CreateDatabase",
        "glue:GetDatabase"
      ],
      "Resource": [
        "arn:aws:glue:*:*:catalog",
        "arn:aws:glue:*:*:database/sagemaker_featurestore",
        "arn:aws:glue:*:*:database/sagemaker_processing",
        "arn:aws:glue:*:*:database/default",
        "arn:aws:glue:*:*:database/sagemaker_data_wrangler"
      ]
    },
    {
      "Sid": "AllowRedshiftDataActions",
      "Effect": "Allow",
      "Action": [
        "redshift-data:ExecuteStatement",
        "redshift-data:DescribeStatement",
        "redshift-data:CancelStatement",
        "redshift-data:GetStatementResult",
        "redshift-data:ListSchemas",
        "redshift-data:ListTables"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AllowRedshiftGetClusterCredentials",
      "Effect": "Allow",
      "Action": [
        "redshift:GetClusterCredentials"
      ],
      "Resource": [
        "arn:aws:redshift:*:*:dbuser:*/sagemaker_access*",
        "arn:aws:redshift:*:*:dbname:*"
      ]
    },
    {
      "Sid": "AllowListTagsForUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:ListTags"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:user-profile/*"
      ]
    },
    {
      "Sid": "AllowCloudformationListStackResources",
      "Effect": "Allow",
      "Action": [
        "cloudformation:ListStackResources"
      ],
      "Resource": "arn:aws:cloudformation:*:*:stack/SC-*"
    },
    {
      "Sid": "AllowS3ExpressObjectActions",
      "Effect": "Allow",
      "Action": [
        "s3express:CreateSession"
      ],
      "Resource": [
        "arn:aws:s3express:*:*:bucket/*SageMaker*",
        "arn:aws:s3express:*:*:bucket/*Sagemaker*",
        "arn:aws:s3express:*:*:bucket/*sagemaker*",
        "arn:aws:s3express:*:*:bucket/*aws-glue*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "AllowS3ExpressCreateBucketActions",
      "Effect": "Allow",
      "Action": [
        "s3express:CreateBucket"
      ],
      "Resource": [
        "arn:aws:s3express:*:*:bucket/*SageMaker*",
        "arn:aws:s3express:*:*:bucket/*Sagemaker*",
        "arn:aws:s3express:*:*:bucket/*sagemaker*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "AllowS3ExpressListBucketActions",
      "Effect": "Allow",
      "Action": [
        "s3express:ListAllMyDirectoryBuckets"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## AWS 관리형 정책: AmazonSageMakerReadOnly
<a name="security-iam-awsmanpol-AmazonSageMakerReadOnly"></a>

이 정책은 AWS Management Console 및 SDK를 통해 Amazon SageMaker AI에 대한 읽기 전용 액세스 권한을 부여합니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `application-autoscaling` - 사용자가 확장 가능한 SageMaker AI 실시간 추론 엔드포인트에 대한 설명을 찾아볼 수 있도록 허용합니다.
+ `aws-marketplace` - 사용자가 AWS AI Marketplace 구독을 볼 수 있도록 허용합니다.
+ `cloudwatch` - 사용자가 CloudWatch 경보를 수신할 수 있도록 허용합니다.
+ `cognito-idp` - Amazon SageMaker Ground Truth가 프라이빗 작업 인력 및 작업 팀에 대한 설명과 목록을 찾아보는 데 필요합니다.
+ `ecr` - 훈련 및 추론을 위한 도커 아티팩트를 가져오고 저장하는 데 필요합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:Describe*",
                "sagemaker:List*",
                "sagemaker:BatchGetMetrics",
                "sagemaker:GetDeviceRegistration",
                "sagemaker:GetDeviceFleetReport",
                "sagemaker:GetSearchSuggestions",
                "sagemaker:BatchGetRecord",
                "sagemaker:GetRecord",
                "sagemaker:Search",
                "sagemaker:QueryLineage",
                "sagemaker:GetLineageGroupPolicy",
                "sagemaker:BatchDescribeModelPackage",
                "sagemaker:GetModelPackageGroupPolicy"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "application-autoscaling:DescribeScalableTargets",
                "application-autoscaling:DescribeScalingActivities",
                "application-autoscaling:DescribeScalingPolicies",
                "application-autoscaling:DescribeScheduledActions",
                "aws-marketplace:ViewSubscriptions",
                "cloudwatch:DescribeAlarms",
                "cognito-idp:DescribeUserPool",
                "cognito-idp:DescribeUserPoolClient",
                "cognito-idp:ListGroups",
                "cognito-idp:ListIdentityProviders",
                "cognito-idp:ListUserPoolClients",
                "cognito-idp:ListUserPools",
                "cognito-idp:ListUsers",
                "cognito-idp:ListUsersInGroup",
                "ecr:Describe*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# AWS Amazon SageMaker Canvas에 대한 관리형 정책
<a name="security-iam-awsmanpol-canvas"></a>

이러한 AWS 관리형 정책은 Amazon SageMaker Canvas를 사용하는 데 필요한 권한을 추가합니다. 정책은 AWS 계정에서 사용할 수 있으며 SageMaker AI 콘솔에서 생성된 실행 역할에서 사용됩니다.

**Topics**
+ [AWS 관리형 정책: AmazonSageMakerCanvasFullAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess)
+ [AWS 관리형 정책: AmazonSageMakerCanvasDataPrepFullAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasDataPrepFullAccess)
+ [AWS 관리형 정책: AmazonSageMakerCanvasDirectDeployAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasDirectDeployAccess)
+ [AWS 관리형 정책: AmazonSageMakerCanvasAIServicesAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess)
+ [AWS 관리형 정책: AmazonSageMakerCanvasBedrockAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasBedrockAccess)
+ [AWS 관리형 정책: AmazonSageMakerCanvasForecastAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasForecastAccess)
+ [AWS 관리형 정책: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy](#security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy)
+ [AWS 관리형 정책: AmazonSageMakerCanvasSMDataScienceAssistantAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess)
+ [Amazon SageMaker Canvas 관리형 정책에 대한 Amazon SageMaker AI 업데이트](#security-iam-awsmanpol-canvas-updates)

## AWS 관리형 정책: AmazonSageMakerCanvasFullAccess
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess"></a>

이 정책은 AWS Management Console 및 SDK를 통해 Amazon SageMaker Canvas에 대한 전체 액세스를 허용하는 권한을 부여합니다. 또한이 정책은 관련 서비스[예: Amazon Simple Storage Service(Amazon S3), AWS Identity and Access Management (IAM), Amazon Virtual Private Cloud(Amazon VPC), Amazon Elastic Container Registry(Amazon ECR), Amazon CloudWatch Logs, Amazon Redshift AWS Secrets Manager, Amazon SageMaker Autopilot, SageMaker Model Registry, Amazon Forecast]에 대한 선택적 액세스를 제공합니다.

이 정책은 고객이 SageMaker Canvas의 모든 기능을 실험하고 시작할 수 있도록 돕기 위한 것입니다. 보다 세밀한 제어를 위해 고객이 프로덕션 워크로드로 이동할 때 자체적으로 범위가 축소된 버전을 빌드하는 것이 좋습니다. 자세한 내용은 [IAM 정책 유형: 사용 방법 및 시기](https://aws.amazon.com/blogs/security/iam-policy-types-how-and-when-to-use-them/)를 참조하세요.

** 권한 세부 정보**

이 AWS 관리형 정책에는 다음 권한이 포함됩니다.
+ `sagemaker` - 위탁자가 ARN에 'Canvas', 'canvas' 또는 'model-compilation'이 포함된 리소스에서 SageMaker AI 모델을 생성하고 호스팅할 수 있습니다. 또한 사용자는 SageMaker Canvas 모델을 동일한 AWS 계정의 SageMaker AI 모델 레지스트리에 등록할 수 있습니다. 또한 위탁자가 SageMaker 훈련, 변환 및 AutoML 작업을 만들고 관리하도록 허용합니다.
+ `application-autoscaling` - 위탁자가 SageMaker AI 추론 엔드포인트를 자동으로 규모 조정할 수 있도록 허용합니다.
+ `athena` - 위탁자가 Amazon Athena에서 데이터 카탈로그, 데이터베이스 및 테이블 메타데이터 목록을 쿼리하고 카탈로그의 테이블에 액세스하도록 허용합니다.
+ `cloudwatch` – 위탁자가 Amazon CloudWatch 경보를 만들고 관리하도록 허용합니다.
+ `ec2` - 보안 주체가 Amazon VPC 엔드포인트를 생성할 수 있도록 허용합니다.
+ `ecr` - 보안 주체가 컨테이너 이미지에 대한 정보를 가져올 수 있도록 허용합니다.
+ `emr-serverless` - 위탁자가 Amazon EMR Serverless 애플리케이션 및 작업 실행을 만들고 관리하도록 허용합니다. 또한 위탁자가 SageMaker Canvas 리소스에 태그를 지정하도록 허용합니다.
+ `forecast` - 보안 주체가 Amazon Forecast를 사용할 수 있도록 허용합니다.
+ `glue` - 보안 주체가 AWS Glue 카탈로그의 테이블, 데이터베이스 및 파티션을 검색할 수 있도록 허용합니다.
+ `iam` - 위탁자가 Amazon SageMaker AI, Amazon Forecast 및 Amazon EMR Serverless에 IAM 역할을 전달하도록 허용합니다. 또한 위탁자가 서비스 연결 역할을 만들도록 허용합니다.
+ `kms` - 보안 주체가 태그가 지정된 AWS KMS 키를 읽을 수 있도록 허용합니다`Source:SageMakerCanvas`.
+ `logs` - 보안 주체가 훈련 작업 및 엔드포인트의 로그를 게시할 수 있도록 허용합니다.
+ `quicksight` - 보안 주체가 Quick 계정의 네임스페이스를 나열할 수 있도록 허용합니다.
+ `rds` - 보안 주체가 프로비저닝된 Amazon RDS 인스턴스에 대한 정보를 반환할 수 있도록 허용합니다.
+ `redshift` - 보안 주체가 모든 Amazon Redshift 클러스터의 “sagemaker\$1access\$1” dbuser에 대한 자격 증명을 얻을 수 있도록 허용합니다(해당 사용자가 있는 경우).
+ `redshift-data` - 보안 주체가 Amazon Redshift 데이터 API를 사용하여 Amazon Redshift에서 쿼리를 실행할 수 있도록 허용합니다. 이렇게 하면 Redshift 데이터 API 자체에만 액세스할 수 있으며 Amazon Redshift 클러스터에 직접 액세스할 수는 없습니다. 자세한 내용은 [Amazon Redshift 데이터 API 사용](https://docs.aws.amazon.com/redshift/latest/mgmt/data-api.html)을 참조하세요.
+ `s3` - 보안 주체가 Amazon S3 버킷에서 객체를 추가하고 검색할 수 있도록 허용합니다. 이러한 객체는 이름에 “SageMaker", "Sagemaker" 또는 "sagemaker"가 포함된 객체로 제한됩니다. 또한 보안 주체는 특정 리전에서 ARN이 “jumpstart-cache-prod-”로 시작하는 Amazon S3 버킷에서 객체를 검색할 수 있도록 허용합니다.
+ `secretsmanager` - 보안 주체가 Secrets Manager를 사용하여 고객 자격 증명을 저장하여 Snowflake 데이터베이스에 연결할 수 있도록 허용합니다.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SageMakerUserDetailsAndPackageOperations",
            "Effect": "Allow",
            "Action": [
                "sagemaker:DescribeDomain",
                "sagemaker:DescribeUserProfile",
                "sagemaker:ListTags",
                "sagemaker:ListModelPackages",
                "sagemaker:ListModelPackageGroups",
                "sagemaker:ListEndpoints"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SageMakerPackageGroupOperations",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateModelPackageGroup",
                "sagemaker:CreateModelPackage",
                "sagemaker:DescribeModelPackageGroup",
                "sagemaker:DescribeModelPackage"
            ],
            "Resource": [
                "arn:aws:sagemaker:*:*:model-package/*",
                "arn:aws:sagemaker:*:*:model-package-group/*"
            ]
        },
        {
            "Sid": "SageMakerTrainingOperations",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateCompilationJob",
                "sagemaker:CreateEndpoint",
                "sagemaker:CreateEndpointConfig",
                "sagemaker:CreateModel",
                "sagemaker:CreateProcessingJob",
                "sagemaker:CreateAutoMLJob",
                "sagemaker:CreateAutoMLJobV2",
                "sagemaker:CreateTrainingJob",
                "sagemaker:CreateTransformJob",
                "sagemaker:DeleteEndpoint",
                "sagemaker:DescribeCompilationJob",
                "sagemaker:DescribeEndpoint",
                "sagemaker:DescribeEndpointConfig",
                "sagemaker:DescribeModel",
                "sagemaker:DescribeProcessingJob",
                "sagemaker:DescribeAutoMLJob",
                "sagemaker:DescribeAutoMLJobV2",
                "sagemaker:DescribeTrainingJob",
                "sagemaker:DescribeTransformJob",
                "sagemaker:ListCandidatesForAutoMLJob",
                "sagemaker:StopAutoMLJob",
                "sagemaker:StopTrainingJob",
                "sagemaker:StopTransformJob",
                "sagemaker:AddTags",
                "sagemaker:DeleteApp"
            ],
            "Resource": [
                "arn:aws:sagemaker:*:*:*Canvas*",
                "arn:aws:sagemaker:*:*:*canvas*",
                "arn:aws:sagemaker:*:*:*model-compilation-*"
            ]
        },
        {
            "Sid": "SageMakerHostingOperations",
            "Effect": "Allow",
            "Action": [
                "sagemaker:DeleteEndpointConfig",
                "sagemaker:DeleteModel",
                "sagemaker:InvokeEndpoint",
                "sagemaker:UpdateEndpointWeightsAndCapacities",
                "sagemaker:InvokeEndpointAsync"
            ],
            "Resource": [
                "arn:aws:sagemaker:*:*:*Canvas*",
                "arn:aws:sagemaker:*:*:*canvas*"
            ]
        },
        {
            "Sid": "EC2VPCOperation",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateVpcEndpoint",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeVpcEndpointServices"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ECROperations",
            "Effect": "Allow",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        },
        {
            "Sid": "IAMGetOperations",
            "Effect": "Allow",
            "Action": [
                "iam:GetRole"
            ],
            "Resource": "arn:aws:iam::*:role/*"
        },
        {
            "Sid": "IAMPassOperation",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "sagemaker.amazonaws.com"
                }
            }
        },
        {
            "Sid": "LoggingOperation",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/*"
        },
        {
            "Sid": "S3Operations",
            "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*"
            ]
        },
        {
            "Sid": "ReadSageMakerJumpstartArtifacts",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::jumpstart-cache-prod-us-west-2/*",
                "arn:aws:s3:::jumpstart-cache-prod-us-east-1/*",
                "arn:aws:s3:::jumpstart-cache-prod-us-east-2/*",
                "arn:aws:s3:::jumpstart-cache-prod-eu-west-1/*",
                "arn:aws:s3:::jumpstart-cache-prod-eu-central-1/*",
                "arn:aws:s3:::jumpstart-cache-prod-ap-south-1/*",
                "arn:aws:s3:::jumpstart-cache-prod-ap-northeast-2/*",
                "arn:aws:s3:::jumpstart-cache-prod-ap-northeast-1/*",
                "arn:aws:s3:::jumpstart-cache-prod-ap-southeast-1/*",
                "arn:aws:s3:::jumpstart-cache-prod-ap-southeast-2/*"
            ]
        },
        {
            "Sid": "S3ListOperations",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "GlueOperations",
            "Effect": "Allow",
            "Action": "glue:SearchTables",
            "Resource": [
                "arn:aws:glue:*:*:table/*/*",
                "arn:aws:glue:*:*:database/*",
                "arn:aws:glue:*:*:catalog"
            ]
        },
        {
            "Sid": "SecretsManagerARNBasedOperation",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue",
                "secretsmanager:CreateSecret",
                "secretsmanager:PutResourcePolicy"
            ],
            "Resource": [
                "arn:aws:secretsmanager:*:*:secret:AmazonSageMaker-*"
            ]
        },
        {
            "Sid": "SecretManagerTagBasedOperation",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "secretsmanager:ResourceTag/SageMaker": "true"
                }
            }
        },
        {
            "Sid": "RedshiftOperations",
            "Effect": "Allow",
            "Action": [
                "redshift-data:ExecuteStatement",
                "redshift-data:DescribeStatement",
                "redshift-data:CancelStatement",
                "redshift-data:GetStatementResult",
                "redshift-data:ListSchemas",
                "redshift-data:ListTables",
                "redshift-data:DescribeTable"
            ],
            "Resource": "*"
        },
        {
            "Sid": "RedshiftGetCredentialsOperation",
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials"
            ],
            "Resource": [
                "arn:aws:redshift:*:*:dbuser:*/sagemaker_access*",
                "arn:aws:redshift:*:*:dbname:*"
            ]
        },
        {
            "Sid": "ForecastOperations",
            "Effect": "Allow",
            "Action": [
                "forecast:CreateExplainabilityExport",
                "forecast:CreateExplainability",
                "forecast:CreateForecastEndpoint",
                "forecast:CreateAutoPredictor",
                "forecast:CreateDatasetImportJob",
                "forecast:CreateDatasetGroup",
                "forecast:CreateDataset",
                "forecast:CreateForecast",
                "forecast:CreateForecastExportJob",
                "forecast:CreatePredictorBacktestExportJob",
                "forecast:CreatePredictor",
                "forecast:DescribeExplainabilityExport",
                "forecast:DescribeExplainability",
                "forecast:DescribeAutoPredictor",
                "forecast:DescribeForecastEndpoint",
                "forecast:DescribeDatasetImportJob",
                "forecast:DescribeDataset",
                "forecast:DescribeForecast",
                "forecast:DescribeForecastExportJob",
                "forecast:DescribePredictorBacktestExportJob",
                "forecast:GetAccuracyMetrics",
                "forecast:InvokeForecastEndpoint",
                "forecast:GetRecentForecastContext",
                "forecast:DescribePredictor",
                "forecast:TagResource",
                "forecast:DeleteResourceTree"
            ],
            "Resource": [
                "arn:aws:forecast:*:*:*Canvas*"
            ]
        },
        {
            "Sid": "RDSOperation",
            "Effect": "Allow",
            "Action": "rds:DescribeDBInstances",
            "Resource": "*"
        },
        {
            "Sid": "IAMPassOperationForForecast",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "forecast.amazonaws.com"
                }
            }
        },
        {
            "Sid": "AutoscalingOperations",
            "Effect": "Allow",
            "Action": [
                "application-autoscaling:PutScalingPolicy",
                "application-autoscaling:RegisterScalableTarget"
            ],
            "Resource": "arn:aws:application-autoscaling:*:*:scalable-target/*",
            "Condition": {
                "StringEquals": {
                    "application-autoscaling:service-namespace": "sagemaker",
                    "application-autoscaling:scalable-dimension": "sagemaker:variant:DesiredInstanceCount"
                }
            }
        },
        {
            "Sid": "AsyncEndpointOperations",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:DescribeAlarms",
                "sagemaker:DescribeEndpointConfig"
            ],
            "Resource": "*"
        },
        {
            "Sid": "DescribeScalingOperations",
            "Effect": "Allow",
            "Action": [
                "application-autoscaling:DescribeScalingActivities"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "SageMakerCloudWatchUpdate",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricAlarm",
                "cloudwatch:DeleteAlarms"
            ],
            "Resource": [
                "arn:aws:cloudwatch:*:*:alarm:TargetTracking*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:CalledViaLast": "application-autoscaling.amazonaws.com"
                }
            }
        },
        {
            "Sid": "AutoscalingSageMakerEndpointOperation",
            "Action": "iam:CreateServiceLinkedRole",
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "sagemaker.application-autoscaling.amazonaws.com"
                }
            }
        },
        {
            "Sid": "AthenaOperation",
            "Action": [
                "athena:ListTableMetadata",
                "athena:ListDataCatalogs",
                "athena:ListDatabases"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "GlueOperation",
            "Action": [
                "glue:GetDatabases",
                "glue:GetPartitions",
                "glue:GetTables"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:glue:*:*:table/*",
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "QuicksightOperation",
            "Action": [
                "quicksight:ListNamespaces"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "AllowUseOfKeyInAccount",
            "Effect": "Allow",
            "Action": [
                "kms:DescribeKey"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/Source": "SageMakerCanvas",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessCreateApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:CreateApplication",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:StopApplication",
                "emr-serverless:GetApplication",
                "emr-serverless:StartApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::*:role/service-role/AmazonSageMakerCanvasEMRSExecutionAccess-*",
                "arn:aws:iam::*:role/AmazonSageMakerCanvasEMRSExecutionAccess-*"
            ],            
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

## AWS 관리형 정책: AmazonSageMakerCanvasDataPrepFullAccess
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasDataPrepFullAccess"></a>

이 정책은 Amazon SageMaker Canvas의 데이터 준비 기능에 대한 전체 액세스를 허용하는 권한을 부여합니다. 또한이 정책은 데이터 준비 기능[예: Amazon Simple Storage Service(Amazon S3),(IAM), Amazon EMR, Amazon EventBridge, Amazon Redshift, AWS Identity and Access Management ( AWS Key Management Service AWS KMS) 및]과 통합되는 서비스에 대한 최소 권한 권한을 제공합니다 AWS Secrets Manager.

** 권한 세부 정보**

이 AWS 관리형 정책에는 다음 권한이 포함됩니다.
+ `sagemaker` – 위탁자가 처리 작업, 훈련 작업, 추론 파이프라인, AutoML 작업 및 특성 그룹에 액세스하도록 허용합니다.
+ `athena` - 위탁자가 Amazon Athena에서 데이터 카탈로그, 데이터베이스 및 테이블 메타데이터 목록을 쿼리하도록 허용합니다.
+ `elasticmapreduce` - 위탁자가 Amazon EMR 클러스터를 읽고 나열하도록 허용합니다.
+ `emr-serverless` - 위탁자가 Amazon EMR Serverless 애플리케이션 및 작업 실행을 만들고 관리하도록 허용합니다. 또한 위탁자가 SageMaker Canvas 리소스에 태그를 지정하도록 허용합니다.
+ `events` - 위탁자가 예약된 작업에 대한 Amazon EventBridge 규칙을 만들고 읽고 업데이트하고 대상을 추가하도록 허용합니다.
+ `glue` - 보안 주체가 AWS Glue 카탈로그의 데이터베이스에서 테이블을 가져오고 검색할 수 있습니다.
+ `iam` - 위탁자가 Amazon SageMaker AI, EventBridge 및 Amazon EMR Serverless에 IAM 역할을 전달하도록 허용합니다. 또한 위탁자가 서비스 연결 역할을 만들도록 허용합니다.
+ `kms` - 보안 주체가 작업 및 엔드포인트에 저장된 AWS KMS 별칭을 검색하고 연결된 KMS 키에 액세스할 수 있도록 허용합니다.
+ `logs` - 보안 주체가 훈련 작업 및 엔드포인트의 로그를 게시할 수 있도록 허용합니다.
+ `redshift` - 위탁자가 Amazon Redshift 데이터베이스에 액세스하기 위한 자격 증명을 가져오도록 허용합니다.
+ `redshift-data` - 위탁자가 Amazon Redshift 쿼리를 실행, 취소, 설명, 나열하고 결과를 가져오도록 허용합니다. 또한 위탁자가 Amazon Redshift 스키마 및 테이블을 나열하도록 허용합니다.
+ `s3` - 보안 주체가 Amazon S3 버킷에서 객체를 추가하고 검색할 수 있도록 허용합니다. 이러한 객체는 이름에 'SageMaker', 'Sagemaker' 또는 'sagemaker'가 포함되거나 대소문자 구분 없이 'SageMaker' 태그가 지정된 객체로 제한됩니다.
+ `secretsmanager` - 위탁자가 Secrets Manager를 사용하여 고객 데이터베이스 자격 증명을 저장하고 검색하도록 허용합니다.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SageMakerListFeatureGroupOperation",
            "Effect": "Allow",
            "Action": "sagemaker:ListFeatureGroups",
            "Resource": "*"
        },
        {
            "Sid": "SageMakerFeatureGroupOperations",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateFeatureGroup",
                "sagemaker:DescribeFeatureGroup"
            ],
            "Resource": "arn:aws:sagemaker:*:*:feature-group/*"
        },
        {
            "Sid": "SageMakerProcessingJobOperations",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateProcessingJob",
                "sagemaker:DescribeProcessingJob",
                "sagemaker:AddTags"
            ],
            "Resource": "arn:aws:sagemaker:*:*:processing-job/*canvas-data-prep*"
        },
        {
            "Sid": "SageMakerProcessingJobListOperation",
            "Effect": "Allow",
            "Action": "sagemaker:ListProcessingJobs",
            "Resource": "*"
        },
        {
            "Sid": "SageMakerPipelineOperations",
            "Effect": "Allow",
            "Action": [
                "sagemaker:DescribePipeline",
                "sagemaker:CreatePipeline",
                "sagemaker:UpdatePipeline",
                "sagemaker:DeletePipeline",
                "sagemaker:StartPipelineExecution",
                "sagemaker:ListPipelineExecutionSteps",
                "sagemaker:DescribePipelineExecution"
            ],
            "Resource": "arn:aws:sagemaker:*:*:pipeline/*canvas-data-prep*"
        },
        {
            "Sid": "KMSListOperations",
            "Effect": "Allow",
            "Action": "kms:ListAliases",
            "Resource": "*"
        },
        {
            "Sid": "KMSOperations",
            "Effect": "Allow",
            "Action": "kms:DescribeKey",
            "Resource": "arn:aws:kms:*:*:key/*"
        },
        {
            "Sid": "S3Operations",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:GetBucketCors",
                "s3:GetBucketLocation",
                "s3:AbortMultipartUpload"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "S3GetObjectOperation",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/SageMaker": "true"
                },
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "S3ListOperations",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "IAMListOperations",
            "Effect": "Allow",
            "Action": "iam:ListRoles",
            "Resource": "*"
        },
        {
            "Sid": "IAMGetOperations",
            "Effect": "Allow",
            "Action": "iam:GetRole",
            "Resource": "arn:aws:iam::*:role/*"
        },
        {
            "Sid": "IAMPassOperation",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "sagemaker.amazonaws.com",
                        "events.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "EventBridgePutOperation",
            "Effect": "Allow",
            "Action": [
                "events:PutRule"
            ],
            "Resource": "arn:aws:events:*:*:rule/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-data-prep-job": "true"
                }
            }
        },
        {
            "Sid": "EventBridgeOperations",
            "Effect": "Allow",
            "Action": [
                "events:DescribeRule",
                "events:PutTargets"
            ],
            "Resource": "arn:aws:events:*:*:rule/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-data-prep-job": "true"
                }
            }
        },
        {
            "Sid": "EventBridgeTagBasedOperations",
            "Effect": "Allow",
            "Action": [
                "events:TagResource"
            ],
            "Resource": "arn:aws:events:*:*:rule/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-data-prep-job": "true",
                    "aws:ResourceTag/sagemaker:is-canvas-data-prep-job": "true"
                }
            }
        },
        {
            "Sid": "EventBridgeListTagOperation",
            "Effect": "Allow",
            "Action": "events:ListTagsForResource",
            "Resource": "*"
        },
        {
            "Sid": "GlueOperations",
            "Effect": "Allow",
            "Action": [
                "glue:GetDatabases",
                "glue:GetTable",
                "glue:GetTables",
                "glue:SearchTables"
            ],
            "Resource": [
                "arn:aws:glue:*:*:table/*",
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/*"
            ]
        },
        {
            "Sid": "EMROperations",
            "Effect": "Allow",
            "Action": [
                "elasticmapreduce:DescribeCluster",
                "elasticmapreduce:ListInstanceGroups"
            ],
            "Resource": "arn:aws:elasticmapreduce:*:*:cluster/*"
        },
        {
            "Sid": "EMRListOperation",
            "Effect": "Allow",
            "Action": "elasticmapreduce:ListClusters",
            "Resource": "*"
        },
        {
            "Sid": "AthenaListDataCatalogOperation",
            "Effect": "Allow",
            "Action": "athena:ListDataCatalogs",
            "Resource": "*"
        },
        {
            "Sid": "AthenaQueryExecutionOperations",
            "Effect": "Allow",
            "Action": [
                "athena:GetQueryExecution",
                "athena:GetQueryResults",
                "athena:StartQueryExecution",
                "athena:StopQueryExecution"
            ],
            "Resource": "arn:aws:athena:*:*:workgroup/*"
        },
        {
            "Sid": "AthenaDataCatalogOperations",
            "Effect": "Allow",
            "Action": [
                "athena:ListDatabases",
                "athena:ListTableMetadata"
            ],
            "Resource": "arn:aws:athena:*:*:datacatalog/*"
        },
        {
            "Sid": "RedshiftOperations",
            "Effect": "Allow",
            "Action": [
                "redshift-data:DescribeStatement",
                "redshift-data:CancelStatement",
                "redshift-data:GetStatementResult"
            ],
            "Resource": "*"
        },
        {
            "Sid": "RedshiftArnBasedOperations",
            "Effect": "Allow",
            "Action": [
                "redshift-data:ExecuteStatement",
                "redshift-data:ListSchemas",
                "redshift-data:ListTables"
            ],
            "Resource": "arn:aws:redshift:*:*:cluster:*"
        },
        {
            "Sid": "RedshiftGetCredentialsOperation",
            "Effect": "Allow",
            "Action": "redshift:GetClusterCredentials",
            "Resource": [
                "arn:aws:redshift:*:*:dbuser:*/sagemaker_access*",
                "arn:aws:redshift:*:*:dbname:*"
            ]
        },
        {
            "Sid": "SecretsManagerARNBasedOperation",
            "Effect": "Allow",
            "Action": "secretsmanager:CreateSecret",
            "Resource": "arn:aws:secretsmanager:*:*:secret:AmazonSageMaker-*"
        },
        {
            "Sid": "SecretManagerTagBasedOperation",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:*:*:secret:AmazonSageMaker-*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/SageMaker": "true",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "RDSOperation",
            "Effect": "Allow",
            "Action": "rds:DescribeDBInstances",
            "Resource": "*"
        },
        {
            "Sid": "LoggingOperation",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/studio:*"
        },
        {
            "Sid": "EMRServerlessCreateApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:CreateApplication",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:GetApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::*:role/service-role/AmazonSageMakerCanvasEMRSExecutionAccess-*",
                "arn:aws:iam::*:role/AmazonSageMakerCanvasEMRSExecutionAccess-*"
            ],            
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

## AWS 관리형 정책: AmazonSageMakerCanvasDirectDeployAccess
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasDirectDeployAccess"></a>

이 정책은 Amazon SageMaker Canvas가 Amazon SageMaker AI 엔드포인트를 생성하고 관리하는 데 필요한 권한을 부여합니다.

** 권한 세부 정보**

이 AWS 관리형 정책에는 다음 권한이 포함됩니다.
+ `sagemaker` - 위탁자가 'Canvas' 또는 'canvas'로 시작하는 ARN 리소스 이름을 사용하여 SageMaker AI 엔드포인트를 생성하고 관리할 수 있도록 허용합니다.
+ `cloudwatch` - 보안 주체가 Amazon CloudWatch 지표 데이터를 검색할 수 있도록 허용합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SageMakerEndpointPerms",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateEndpoint",
                "sagemaker:CreateEndpointConfig",
                "sagemaker:DeleteEndpoint",
                "sagemaker:DescribeEndpoint",
                "sagemaker:DescribeEndpointConfig",
                "sagemaker:InvokeEndpoint",
                "sagemaker:UpdateEndpoint"
            ],
            "Resource": [
                "arn:aws:sagemaker:*:*:Canvas*",
                "arn:aws:sagemaker:*:*:canvas*"
            ]
        },
        {
            "Sid": "ReadCWInvocationMetrics",
            "Effect": "Allow",
            "Action": "cloudwatch:GetMetricData",
            "Resource": "*"
        }
    ]
}
```

------

## AWS 관리형 정책: AmazonSageMakerCanvasAIServicesAccess
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess"></a>

이 정책은 Amazon SageMaker Canvas에 Amazon Textract, Amazon Rekognition, Amazon Comprehend 및 Amazon Bedrock을 사용할 수 있는 권한을 부여합니다.

** 권한 세부 정보**

이 AWS 관리형 정책에는 다음 권한이 포함됩니다.
+ `textract` - 보안 주체가 Amazon Textract를 사용하여 이미지 내에서 문서, 비용 및 보안 인증을 탐지할 수 있도록 허용합니다.
+ `rekognition` - 보안 주체가 Amazon Rekognition을 사용하여 이미지 내의 레이블과 텍스트를 감지할 수 있도록 허용합니다.
+ `comprehend` - 보안 주체가 Amazon Comprehend를 사용하여 텍스트 문서 내에서 감정 및 모국어, 이름이 지정된 개인 식별 정보(PII) 항목을 탐지할 수 있도록 허용합니다.
+ `bedrock` - 보안 주체가 Amazon Bedrock을 사용하여 파운데이션 모델을 나열하고 호출할 수 있도록 허용합니다.
+ `iam` – 위탁자가 IAM 역할을 Amazon Bedrock에 전달하도록 허용합니다.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Textract",
            "Effect": "Allow",
            "Action": [
                "textract:AnalyzeDocument",
                "textract:AnalyzeExpense",
                "textract:AnalyzeID",
                "textract:StartDocumentAnalysis",
                "textract:StartExpenseAnalysis",
                "textract:GetDocumentAnalysis",
                "textract:GetExpenseAnalysis"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Rekognition",
            "Effect": "Allow",
            "Action": [
                "rekognition:DetectLabels",
                "rekognition:DetectText"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Comprehend",
            "Effect": "Allow",
            "Action": [
                "comprehend:BatchDetectDominantLanguage",
                "comprehend:BatchDetectEntities",
                "comprehend:BatchDetectSentiment",
                "comprehend:DetectPiiEntities",
                "comprehend:DetectEntities",
                "comprehend:DetectSentiment",
                "comprehend:DetectDominantLanguage"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Bedrock",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:ListFoundationModels",
                "bedrock:InvokeModelWithResponseStream"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CreateBedrockResourcesPermission",
            "Effect": "Allow",
            "Action": [
                "bedrock:CreateModelCustomizationJob",
                "bedrock:CreateProvisionedModelThroughput",
                "bedrock:TagResource"
            ],
            "Resource": [
                "arn:aws:bedrock:*:*:model-customization-job/*",
                "arn:aws:bedrock:*:*:custom-model/*",
                "arn:aws:bedrock:*:*:provisioned-model/*"
            ],
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:TagKeys": [
                        "SageMaker",
                        "Canvas"
                    ]
                },
                "StringEquals": {
                    "aws:RequestTag/SageMaker": "true",
                    "aws:RequestTag/Canvas": "true",
                    "aws:ResourceTag/SageMaker": "true",
                    "aws:ResourceTag/Canvas": "true"
                }
            }
        },
        {
            "Sid": "GetStopAndDeleteBedrockResourcesPermission",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetModelCustomizationJob",
                "bedrock:GetCustomModel",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:StopModelCustomizationJob",
                "bedrock:DeleteProvisionedModelThroughput"
            ],
            "Resource": [
                "arn:aws:bedrock:*:*:model-customization-job/*",
                "arn:aws:bedrock:*:*:custom-model/*",
                "arn:aws:bedrock:*:*:provisioned-model/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/SageMaker": "true",
                    "aws:ResourceTag/Canvas": "true"
                }
            }
        },
        {
            "Sid": "FoundationModelPermission",
            "Effect": "Allow",
            "Action": [
                "bedrock:CreateModelCustomizationJob"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/*"
            ]
        },
        {
            "Sid": "BedrockFineTuningPassRole",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::*:role/*"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "bedrock.amazonaws.com"
                }
            }
        }
    ]
}
```

## AWS 관리형 정책: AmazonSageMakerCanvasBedrockAccess
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasBedrockAccess"></a>

이 정책은 Amazon Bedrock과 함께 Amazon SageMaker Canvas를 사용하는 데 일반적으로 필요한 권한을 부여합니다.

** 권한 세부 정보**

이 AWS 관리형 정책에는 다음 권한이 포함됩니다.
+ `s3` - 위탁자가 'sagemaker-\$1/Canvas' 디렉터리에서 Amazon S3 버킷의 객체를 추가하고 검색하도록 허용합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3CanvasAccess",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::sagemaker-*/Canvas",
                "arn:aws:s3:::sagemaker-*/Canvas/*"
            ]
        },
        {
            "Sid": "S3BucketAccess",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::sagemaker-*"
            ]
        }
    ]
}
```

------

## AWS 관리형 정책: AmazonSageMakerCanvasForecastAccess
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasForecastAccess"></a>

이 정책은 Amazon Forecast와 함께 Amazon SageMaker Canvas 사용하는 데 일반적으로 필요한 권한을 부여합니다.

** 권한 세부 정보**

이 AWS 관리형 정책에는 다음 권한이 포함됩니다.
+ `s3` - 보안 주체가 Amazon S3 버킷에서 객체를 추가하고 검색할 수 있도록 허용합니다. 이러한 객체는 이름이 “sagemaker-”로 시작하는 객체로 제한됩니다.

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

****  

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

------

## AWS 관리형 정책: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy"></a>

이 정책은 Amazon SageMaker Canvas에서 대규모 데이터 처리에 사용하는 Amazon S3와 같은 AWS 서비스에 대해 Amazon EMR Serverless에 권한을 부여합니다. Amazon SageMaker 

** 권한 세부 정보**

이 AWS 관리형 정책에는 다음 권한이 포함됩니다.
+ `s3` - 보안 주체가 Amazon S3 버킷에서 객체를 추가하고 검색할 수 있도록 허용합니다. 이러한 객체는 이름에 'SageMaker' 또는 'sagemaker'가 포함되거나 대소문자 구분 없이 'SageMaker' 태그가 지정된 객체로 제한됩니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3Operations",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:GetBucketCors",
                "s3:GetBucketLocation",
                "s3:AbortMultipartUpload"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*sagemaker*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "S3GetObjectOperation",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/SageMaker": "true"
                },
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "S3ListOperations",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

------

## AWS 관리형 정책: AmazonSageMakerCanvasSMDataScienceAssistantAccess
<a name="security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess"></a>

이 정책은 Amazon SageMaker Canvas의 사용자에게 Amazon Q Developer와의 대화를 시작할 수 있는 권한을 부여합니다. 이 기능을 사용하려면 Amazon Q Developer와 SageMaker AI Data Science Assistant 서비스 둘 다에 대한 권한이 필요합니다.

** 권한 세부 정보**

이 AWS 관리형 정책에는 다음 권한이 포함됩니다.
+ `q` - 위탁자가 Amazon Q Developer에 프롬프트를 보낼 수 있도록 허용합니다.
+ `sagemaker-data-science-assistant` - 위탁자가 SageMaker Canvas Data Science Assistant 서비스에 프롬프트를 보낼 수 있도록 허용합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SageMakerDataScienceAssistantAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker-data-science-assistant:SendConversation"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "AmazonQDeveloperAccess",
            "Effect": "Allow",
            "Action": [
                "q:SendMessage",
                "q:StartConversation"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

------

## Amazon SageMaker Canvas 관리형 정책에 대한 Amazon SageMaker AI 업데이트
<a name="security-iam-awsmanpol-canvas-updates"></a>

이 서비스가 이러한 변경 사항을 추적하기 시작한 이후부터 SageMaker Canvas의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다.


| 정책 | 버전 | 변경 | Date | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerCanvasSMDataScienceAssistantAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess) - 기존 정책에 대한 업데이트  | 2 |  `q:StartConversation` 권한을 추가합니다.  | 2025년 1월 14일 | 
|  [AmazonSageMakerCanvasSMDataScienceAssistantAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess) - 새 정책  | 1 |  초기 정책  | 2024년 12월 4일 | 
|  [AmazonSageMakerCanvasDataPrepFullAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasDataPrepFullAccess) - 기존 정책에 대한 업데이트  | 4 |  `IAMPassOperationForEMRServerless` 권한에 리소스를 추가합니다.  | 2024년 8월 16일 | 
|  [AmazonSageMakerCanvasFullAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess) - 기존 정책에 대한 업데이트  | 11 |  `IAMPassOperationForEMRServerless` 권한에 리소스를 추가합니다.  | 2024년 8월 15일 | 
|  [AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy](#security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy) - 새 정책  | 1 |  초기 정책  | 2024년 7월 26일 | 
|  AmazonSageMakerCanvasDataPrepFullAccess - 기존 정책 업데이트  | 3 |  `emr-serverless:CreateApplication`, `emr-serverless:ListApplications`, `emr-serverless:UpdateApplication`, `emr-serverless:GetApplication`, `emr-serverless:StartJobRun`, `emr-serverless:ListJobRuns`, `emr-serverless:GetJobRun`, `emr-serverless:CancelJobRun` 및 `emr-serverless:TagResource` 권한을 추가합니다.  | 2024년 7월 18일 | 
| AmazonSageMakerCanvasFullAccess - 기존 정책에 대한 업데이트 | 10 |  `application-autoscaling:DescribeScalingActivities`, `iam:PassRole`, `kms:DescribeKey` 및 `quicksight:ListNamespaces` 권한을 추가합니다. `sagemaker:CreateTrainingJob`, `sagemaker:CreateTransformJob`, `sagemaker:DescribeTrainingJob`, `sagemaker:DescribeTransformJob`, `sagemaker:StopAutoMLJob`, `sagemaker:StopTrainingJob` 및 `sagemaker:StopTransformJob` 권한을 추가합니다. `athena:ListTableMetadata`, `athena:ListDataCatalogs`및 `athena:ListDatabases`권한 추가. `glue:GetDatabases`, `glue:GetPartitions`및 `glue:GetTables`권한 추가. `emr-serverless:CreateApplication`, `emr-serverless:ListApplications`, `emr-serverless:UpdateApplication`, `emr-serverless:StopApplication`, `emr-serverless:GetApplication`, `emr-serverless:StartApplication`, `emr-serverless:StartJobRun`, `emr-serverless:ListJobRuns`, `emr-serverless:GetJobRun`, `emr-serverless:CancelJobRun` 및 `emr-serverless:TagResource` 권한을 추가합니다.  | 2024년 7월 9일 | 
|  [AmazonSageMakerCanvasBedrockAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasBedrockAccess) - 새 정책  | 1 |  초기 정책  | 2024년 2월 2일 | 
| AmazonSageMakerCanvasFullAccess - 기존 정책에 대한 업데이트 | 9 |  `sagemaker:ListEndpoints` 권한을 추가합니다.  | 2024년 1월 24일 | 
| AmazonSageMakerCanvasFullAccess - 기존 정책에 대한 업데이트 | 8 |  `sagemaker:UpdateEndpointWeightsAndCapacities`, `sagemaker:DescribeEndpointConfig`, `sagemaker:InvokeEndpointAsync`, `athena:ListDataCatalogs`, `athena:GetQueryExecution`, `athena:GetQueryResults`, `athena:StartQueryExecution`, `athena:StopQueryExecution`, `athena:ListDatabases`, `cloudwatch:DescribeAlarms`, `cloudwatch:PutMetricAlarm`, `cloudwatch:DeleteAlarms` 및 `iam:CreateServiceLinkedRole` 권한을 추가합니다.  | 2023년 12월 8일 | 
|  AmazonSageMakerCanvasDataPrepFullAccess - 기존 정책 업데이트  | 2 |  이전 정책인 버전 1의 의도를 적용하기 위한 소규모 업데이트입니다. 추가 또는 삭제된 권한은 없습니다.  | 2023년 12월 7일 | 
|  [AmazonSageMakerCanvasAIServicesAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) - 기존 정책에 대한 업데이트  | 3 |  `bedrock:InvokeModelWithResponseStream`, `bedrock:GetModelCustomizationJob`, `bedrock:StopModelCustomizationJob`, `bedrock:GetCustomModel`, `bedrock:GetProvisionedModelThroughput`, `bedrock:DeleteProvisionedModelThroughput`, `bedrock:TagResource`, `bedrock:CreateModelCustomizationJob`, `bedrock:CreateProvisionedModelThroughput` 및 `iam:PassRole` 권한을 추가합니다.  | 2023년 11월 29일 | 
|  AmazonSageMakerCanvasDataPrepFullAccess - 새 정책  | 1 |  초기 정책  | 2023년 10월 26일 | 
|  [AmazonSageMakerCanvasDirectDeployAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasDirectDeployAccess) - 새 정책  | 1 |  초기 정책  | 2023년 10월 6일 | 
| AmazonSageMakerCanvasFullAccess - 기존 정책에 대한 업데이트 | 7 |  `sagemaker:DeleteEndpointConfig`, `sagemaker:DeleteModel`및 `sagemaker:InvokeEndpoint`권한 추가. 또한 특정 리전의 JumpStart 리소스에 대한 `s3:GetObject` 권한을 추가합니다.  | 2023년 9월 29일 | 
|  AmazonSageMakerCanvasAIServicesAccess - 기존 정책 업데이트  | 2 |  `bedrock:InvokeModel` 및 `bedrock:ListFoundationModels`권한을 추가합니다.  | 2023년 9월 29일 | 
| AmazonSageMakerCanvasFullAccess - 기존 정책에 대한 업데이트 | 6 |  `rds:DescribeDBInstances` 권한을 추가합니다.  | 2023년 8월 29일 | 
| AmazonSageMakerCanvasFullAccess - 기존 정책에 대한 업데이트 | 5 |  `application-autoscaling:PutScalingPolicy` 및 `application-autoscaling:RegisterScalableTarget`권한을 추가합니다.  | 2023년 7월 24일 | 
| AmazonSageMakerCanvasFullAccess - 기존 정책에 대한 업데이트 | 4 |  `sagemaker:CreateModelPackage`, `sagemaker:CreateModelPackageGroup`, `sagemaker:DescribeModelPackage`, `sagemaker:DescribeModelPackageGroup`, `sagemaker:ListModelPackages`및 `sagemaker:ListModelPackageGroups`권한을 추가합니다.  | 2023년 5월 4일 | 
| AmazonSageMakerCanvasFullAccess - 기존 정책에 대한 업데이트  | 3 |  `sagemaker:CreateAutoMLJobV2`, `sagemaker:DescribeAutoMLJobV2`및 `glue:SearchTables`권한 추가.  | 2023년 3월 24일 | 
|  AmazonSageMakerCanvasAIServicesAccess - 새 정책  | 1 |  초기 정책  | 2023년 3월 23일 | 
| AmazonSageMakerCanvasFullAccess - 기존 정책에 대한 업데이트 | 2 |  `forecast:DeleteResourceTree` 권한을 추가합니다.  | 2022년 12월 6일 | 
| AmazonSageMakerCanvasFullAccess - 새 정책 | 1 |  초기 정책  | 2022년 9월 8일 | 
|  [AmazonSageMakerCanvasForecastAccess](#security-iam-awsmanpol-AmazonSageMakerCanvasForecastAccess) - 새 정책  | 1 |  초기 정책  | 2022년 8월 24일 | 

# AWS Amazon SageMaker 특성 저장소에 대한 관리형 정책
<a name="security-iam-awsmanpol-feature-store"></a>

이러한 AWS 관리형 정책은 특성 저장소를 사용하는 데 필요한 권한을 추가합니다. 정책은 AWS 계정에서 사용할 수 있으며 SageMaker AI 콘솔에서 생성된 실행 역할에서 사용됩니다.

**Topics**
+ [AWS 관리형 정책: AmazonSageMakerFeatureStoreAccess](#security-iam-awsmanpol-AmazonSageMakerFeatureStoreAccess)
+ [Amazon SageMaker Feature Store 관리형 정책에 대한 Amazon SageMaker AI 업데이트](#security-iam-awsmanpol-feature-store-updates)

## AWS 관리형 정책: AmazonSageMakerFeatureStoreAccess
<a name="security-iam-awsmanpol-AmazonSageMakerFeatureStoreAccess"></a>

이 정책은 Amazon SageMaker 특성 저장소 특성 그룹에 오프라인 저장소를 활성화하는 데 필요한 권한을 부여합니다.

** 권한 세부 정보**

이 AWS 관리형 정책에는 다음 권한이 포함됩니다.
+ `s3` - 보안 주체가 오프라인 저장소 Amazon S3 버킷에 데이터를 쓸 수 있도록 허용합니다. 이러한 버킷은 이름에 “SageMaker", "Sagemaker" 또는 "sagemaker"가 포함된 것으로 제한됩니다.
+ `s3` - 보안 주체가 오프라인 저장소 S3 버킷의 `metadata`폴더에 유지되는 기존 매니페스트 파일을 읽을 수 있도록 허용합니다.
+ `glue` - 보안 주체가 AWS Glue 테이블을 읽고 업데이트할 수 있도록 허용합니다. 이러한 권한은 `sagemaker_featurestore`폴더 내 테이블로 제한됩니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetBucketAcl",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*/metadata/*",
                "arn:aws:s3:::*Sagemaker*/metadata/*",
                "arn:aws:s3:::*sagemaker*/metadata/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "glue:GetTable",
                "glue:UpdateTable"
            ],
            "Resource": [
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/sagemaker_featurestore",
                "arn:aws:glue:*:*:table/sagemaker_featurestore/*"
            ]
        }
    ]
}
```

------

## Amazon SageMaker Feature Store 관리형 정책에 대한 Amazon SageMaker AI 업데이트
<a name="security-iam-awsmanpol-feature-store-updates"></a>

이 서비스가 이러한 변경 사항을 추적하기 시작한 이후부터 특성 저장소의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다. 이 페이지의 변경 사항에 대한 자동 알림을 받으려면 SageMaker AI [Document history 페이지](doc-history.md)에서 RSS 피드를 구독하세요.


| 정책 | 버전 | 변경 | Date | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerFeatureStoreAccess](#security-iam-awsmanpol-AmazonSageMakerFeatureStoreAccess) - 기존 정책에 대한 업데이트  | 3 |  `s3:GetObject`, `glue:GetTable`및 `glue:UpdateTable`권한 추가.  | 2022년 12월 5일 | 
| AmazonSageMakerFeatureStoreAccess - 기존 정책에 대한 업데이트 | 2 |  `s3:PutObjectAcl` 권한을 추가합니다.  | 2021년 2월 23일 | 
| AmazonSageMakerFeatureStoreAccess - 새 정책 | 1 |  초기 정책  | 2020년 12월 1일 | 

# AWS Amazon SageMaker 지리 공간에 대한 관리형 정책
<a name="security-iam-awsmanpol-geospatial"></a>

이러한 AWS 관리형 정책은 SageMaker 지리 공간을 사용하는 데 필요한 권한을 추가합니다. 정책은 AWS 계정에서 사용할 수 있으며 SageMaker AI 콘솔에서 생성된 실행 역할에서 사용됩니다.

**Topics**
+ [AWS 관리형 정책: AmazonSageMakerGeospatialFullAccess](#security-iam-awsmanpol-AmazonSageMakerGeospatialFullAccess)
+ [AWS 관리형 정책: AmazonSageMakerGeospatialExecutionRole](#security-iam-awsmanpol-AmazonSageMakerGeospatialExecutionRole)
+ [Amazon SageMaker AI 지리 공간 관리형 정책에 대한 Amazon SageMaker 업데이트](#security-iam-awsmanpol-geospatial-updates)

## AWS 관리형 정책: AmazonSageMakerGeospatialFullAccess
<a name="security-iam-awsmanpol-AmazonSageMakerGeospatialFullAccess"></a>

이 정책은 AWS Management Console 및 SDK를 통해 Amazon SageMaker 지리 공간에 대한 전체 액세스를 허용하는 권한을 부여합니다.

** 권한 세부 정보**

이 AWS 관리형 정책에는 다음 권한이 포함됩니다.
+ `sagemaker-geospatial` - 보안 주체가 모든 SageMaker 지리 공간 리소스에 대한 모든 액세스 권한을 허용합니다.
+ `iam` - 보안 주체가 IAM 역할을 SageMaker 지리 공간으로 전달할 수 있도록 허용합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sagemaker-geospatial:*",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": ["iam:PassRole"],
      "Resource": "arn:aws:iam::*:role/*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": [
            "sagemaker-geospatial.amazonaws.com"
           ]
        }
      }
    }
  ]
}
```

------

## AWS 관리형 정책: AmazonSageMakerGeospatialExecutionRole
<a name="security-iam-awsmanpol-AmazonSageMakerGeospatialExecutionRole"></a>

이 정책은 SageMaker 지리 공간 사용에 일반적으로 필요한 권한을 부여합니다.

** 권한 세부 정보**

이 AWS 관리형 정책에는 다음 권한이 포함됩니다.
+ `s3` - 보안 주체가 Amazon S3 버킷에서 객체를 추가하고 검색할 수 있도록 허용합니다. 이러한 오브젝트는 이름에 “SageMaker", "Sagemaker" 또는 "sagemaker”가 포함된 객체로 제한됩니다.
+ `sagemaker-geospatial` - 보안 주체는 `GetEarthObservationJob`API를 통해 지구 관측 작업에 액세스할 수 있도록 허용합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
          "s3:AbortMultipartUpload",
          "s3:PutObject",
          "s3:GetObject",
          "s3:ListBucketMultipartUploads"
      ],
      "Resource": [
        "arn:aws:s3:::*SageMaker*",
        "arn:aws:s3:::*Sagemaker*",
        "arn:aws:s3:::*sagemaker*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "sagemaker-geospatial:GetEarthObservationJob",
      "Resource": "arn:aws:sagemaker-geospatial:*:*:earth-observation-job/*"
    },
    {
      "Effect": "Allow",
      "Action": "sagemaker-geospatial:GetRasterDataCollection",
      "Resource": "arn:aws:sagemaker-geospatial:*:*:raster-data-collection/*"
    }
  ]
}
```

------

## Amazon SageMaker AI 지리 공간 관리형 정책에 대한 Amazon SageMaker 업데이트
<a name="security-iam-awsmanpol-geospatial-updates"></a>

이 서비스가 이러한 변경 사항을 추적하기 시작한 이후부터 SageMaker 지리 공간의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다.


| 정책 | 버전 | 변경 | Date | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerGeospatialExecutionRole](#security-iam-awsmanpol-AmazonSageMakerGeospatialExecutionRole) - 업데이트된 정책  | 2 |  `sagemaker-geospatial:GetRasterDataCollection` 권한을 추가합니다.  | 2023년 5월 10일 | 
|  [AmazonSageMakerGeospatialFullAccess](#security-iam-awsmanpol-AmazonSageMakerGeospatialFullAccess) - 새 정책  | 1 |  초기 정책  | 2022년 11월 30일 | 
| AmazonSageMakerGeospatialExecutionRole - 새 정책 | 1 |  초기 정책  | 2022년 11월 30일 | 

# AWS Amazon SageMaker Ground Truth에 대한 관리형 정책
<a name="security-iam-awsmanpol-ground-truth"></a>

이러한 AWS 관리형 정책은 SageMaker AI Ground Truth를 사용하는 데 필요한 권한을 추가합니다. 정책은 AWS 계정에서 사용할 수 있으며 SageMaker AI 콘솔에서 생성된 실행 역할에서 사용됩니다.

**Topics**
+ [AWS 관리형 정책: AmazonSageMakerGroundTruthExecution](#security-iam-awsmanpol-gt-AmazonSageMakerGroundTruthExecution)
+ [SageMaker AI Ground Truth 관리형 정책에 대한 Amazon SageMaker AI 업데이트](#security-iam-awsmanpol-groundtruth-updates)

## AWS 관리형 정책: AmazonSageMakerGroundTruthExecution
<a name="security-iam-awsmanpol-gt-AmazonSageMakerGroundTruthExecution"></a>

이 AWS 관리형 정책은 SageMaker AI Ground Truth를 사용하는 데 일반적으로 필요한 권한을 부여합니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `lambda` - 보안 주체가 이름에 "sagemaker" (case-insensitive), "GtRecipe" 또는 "LabelingFunction"이 포함된 Lambda 함수를 간접 호출할 수 있도록 허용합니다.
+ `s3` - 보안 주체가 Amazon S3 버킷에서 객체를 추가하고 검색할 수 있도록 허용합니다. 이러한 객체는 대소문자를 구분하지 않고 이름에 "groundtruth" 또는 "sagemaker"가 포함되거나 “SageMaker” 태그가 지정된 객체로 제한됩니다.
+ `cloudwatch` - 보안 주체가 CloudWatch 지표를 게시할 수 있도록 허용합니다.
+ `logs` - 보안 주체가 로그 스트림을 생성 및 액세스하고 로그 이벤트를 게시할 수 있도록 허용합니다.
+ `sqs` - 보안 주체가 Amazon SQS 대기열을 생성하고 Amazon SQS 메시지를 보내고 받을 수 있도록 허용합니다. 이러한 권한은 이름에 “GroundTruth”가 포함된 대기열로 제한됩니다.
+ `sns` - 보안 주체가 대소문자를 구분하지 않고 이름에 "groundtruth" 또는 "sagemaker"가 포함된 Amazon SNS 주제를 구독하고 메시지를 게시할 수 있도록 허용합니다.
+ `ec2` - 보안 주체가 VPC 엔드포인트 서비스 이름에 “sagemaker-task-resources” 또는 “labeling”이 포함된 Amazon VPC 엔드포인트를 생성, 설명 및 삭제할 수 있도록 허용합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CustomLabelingJobs",
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction"
            ],
            "Resource": [
                "arn:aws:lambda:*:*:function:*GtRecipe*",
                "arn:aws:lambda:*:*:function:*LabelingFunction*",
                "arn:aws:lambda:*:*:function:*SageMaker*",
                "arn:aws:lambda:*:*:function:*sagemaker*",
                "arn:aws:lambda:*:*:function:*Sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::*GroundTruth*",
                "arn:aws:s3:::*Groundtruth*",
                "arn:aws:s3:::*groundtruth*",
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/SageMaker": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CloudWatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        },
        {
            "Sid": "StreamingQueue",
            "Effect": "Allow",
            "Action": [
                "sqs:CreateQueue",
                "sqs:DeleteMessage",
                "sqs:GetQueueAttributes",
                "sqs:GetQueueUrl",
                "sqs:ReceiveMessage",
                "sqs:SendMessage",
                "sqs:SetQueueAttributes"
            ],
            "Resource": "arn:aws:sqs:*:*:*GroundTruth*"
        },
        {
            "Sid": "StreamingTopicSubscribe",
            "Effect": "Allow",
            "Action": "sns:Subscribe",
            "Resource": [
                "arn:aws:sns:*:*:*GroundTruth*",
                "arn:aws:sns:*:*:*Groundtruth*",
                "arn:aws:sns:*:*:*groundTruth*",
                "arn:aws:sns:*:*:*groundtruth*",
                "arn:aws:sns:*:*:*SageMaker*",
                "arn:aws:sns:*:*:*Sagemaker*",
                "arn:aws:sns:*:*:*sageMaker*",
                "arn:aws:sns:*:*:*sagemaker*"
            ],
            "Condition": {
                "StringEquals": {
                    "sns:Protocol": "sqs"
                },
                "StringLike": {
                    "sns:Endpoint": "arn:aws:sqs:*:*:*GroundTruth*"
                }
            }
        },
        {
            "Sid": "StreamingTopic",
            "Effect": "Allow",
            "Action": [
                "sns:Publish"
            ],
            "Resource": [
                "arn:aws:sns:*:*:*GroundTruth*",
                "arn:aws:sns:*:*:*Groundtruth*",
                "arn:aws:sns:*:*:*groundTruth*",
                "arn:aws:sns:*:*:*groundtruth*",
                "arn:aws:sns:*:*:*SageMaker*",
                "arn:aws:sns:*:*:*Sagemaker*",
                "arn:aws:sns:*:*:*sageMaker*",
                "arn:aws:sns:*:*:*sagemaker*"
            ]
        },
        {
            "Sid": "StreamingTopicUnsubscribe",
            "Effect": "Allow",
            "Action": [
                "sns:Unsubscribe"
            ],
            "Resource": "*"
        },
        {
            "Sid": "WorkforceVPC",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateVpcEndpoint",
                "ec2:DescribeVpcEndpoints",
                "ec2:DeleteVpcEndpoints"
            ],
            "Resource": "*",
            "Condition": {
                "StringLikeIfExists": {
                    "ec2:VpceServiceName": [
                        "*sagemaker-task-resources*",
                        "aws.sagemaker*labeling*"
                    ]
                }
            }
        }
    ]
}
```

------

## SageMaker AI Ground Truth 관리형 정책에 대한 Amazon SageMaker AI 업데이트
<a name="security-iam-awsmanpol-groundtruth-updates"></a>

이 서비스가 이러한 변경 사항을 추적하기 시작한 이후부터 Amazon SageMaker AI Ground Truth의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다.


| 정책 | 버전 | 변경 | Date | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerGroundTruthExecution](#security-iam-awsmanpol-gt-AmazonSageMakerGroundTruthExecution) - 기존 정책에 대한 업데이트  | 3 |  `ec2:CreateVpcEndpoint`, `ec2:DescribeVpcEndpoints`및 `ec2:DeleteVpcEndpoints`권한 추가.  | 2022년 4월 29일 | 
| AmazonSageMakerGroundTruthExecution - 기존 정책에 대한 업데이트 | 2 |  `sqs:SendMessageBatch` 권한을 제거합니다.  | 2022년 4월 11일 | 
| AmazonSageMakerGroundTruthExecution - 새 정책 | 1 |  초기 정책  | 2020년 7월 20일 | 

# AWS Amazon SageMaker HyperPod에 대한 관리형 정책
<a name="security-iam-awsmanpol-hyperpod"></a>

다음 AWS 관리형 정책은 Amazon SageMaker HyperPod를 사용하는 데 필요한 권한을 추가합니다. 정책은 AWS 계정에서 사용할 수 있으며 SageMaker AI 콘솔 또는 HyperPod 서비스 연결 역할에서 생성된 실행 역할에 사용됩니다.

**Topics**
+ [AWS 관리형 정책: AmazonSageMakerHyperPodTrainingOperatorAccess](security-iam-awsmanpol-AmazonSageMakerHyperPodTrainingOperatorAccess.md)
+ [AWS 관리형 정책: AmazonSageMakerHyperPodObservabilityAdminAccess](security-iam-awsmanpol-AmazonSageMakerHyperPodObservabilityAdminAccess.md)
+ [AWS 관리형 정책: AmazonSageMakerHyperPodServiceRolePolicy](security-iam-awsmanpol-AmazonSageMakerHyperPodServiceRolePolicy.md)
+ [AWS 관리형 정책: AmazonSageMakerClusterInstanceRolePolicy](security-iam-awsmanpol-AmazonSageMakerClusterInstanceRolePolicy.md)
+ [SageMaker HyperPod 관리형 정책에 대한 Amazon SageMaker AI 업데이트](#security-iam-awsmanpol-hyperpod-updates)

# AWS 관리형 정책: AmazonSageMakerHyperPodTrainingOperatorAccess
<a name="security-iam-awsmanpol-AmazonSageMakerHyperPodTrainingOperatorAccess"></a>

이 정책은 SageMaker HyperPod 훈련 운영자를 설정하는 데 필요한 관리 권한을 제공합니다. 이를 통해 SageMaker HyperPod 및 Amazon EKS 추가 기능에 액세스할 수 있습니다. 이 정책에는 계정의 SageMaker HyperPod 리소스를 설명할 수 있는 권한이 포함되어 있습니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `sagemaker:DescribeClusterNode` - 사용자가 HyperPod 클러스터에 대한 정보를 반환할 수 있도록 허용합니다.

이 정책의 권한을 보려면 AWS 관리형 정책 참조의 [AmazonSageMakerHyperPodTrainingOperatorAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerHyperPodTrainingOperatorAccess.html)를 참조하세요.

# AWS 관리형 정책: AmazonSageMakerHyperPodObservabilityAdminAccess
<a name="security-iam-awsmanpol-AmazonSageMakerHyperPodObservabilityAdminAccess"></a>

이 정책은 Amazon SageMaker HyperPod 관찰성을 설정하는 데 필요한 관리 권한을 제공합니다. 이를 통해 Amazon Managed Service for Prometheus, Amazon Managed Grafana 및 Amazon Elastic Kubernetes Service 추가 기능에 액세스할 수 있습니다. 이 정책에는 계정의 모든 Amazon Managed Grafana 작업 영역에서 ServiceAccountTokens을 통한 Grafana HTTP API에 대한 광범위한 액세스도 포함됩니다.

**권한 세부 정보**  
다음 목록은 이 정책에 포함된 권한의 개요를 제공합니다.
+ `prometheus` - Amazon Managed Service for Prometheus 작업 영역 및 규칙 그룹을 생성하고 관리합니다.
+ `grafana` - Amazon Managed Grafana 작업 영역 및 서비스 계정을 생성하고 관리합니다.
+ `eks` - `amazon-sagemaker-hyperpod-observability` Amazon EKS 추가 기능을 생성하고 관리합니다.
+ `iam` - 특정 IAM 서비스 역할을 Amazon Managed Grafana 및 Amazon EKS에 전달합니다.
+ `sagemaker` - SageMaker HyperPod 클러스터를 나열하고 설명합니다.
+ `sso` - Amazon Managed Grafana 설정을 위한 IAM Identity Center 애플리케이션 인스턴스를 생성하고 관리합니다.
+ `tag` - Amazon Managed Service for Prometheus, Amazon Managed Grafana 및 Amazon EKS 추가 기능 리소스에 태그를 지정합니다.

정책 JSON을 보려면 [AmazonSageMakerHyperPodObservabilityAdminAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerHyperPodObservabilityAdminAccess.html)를 참조하세요.

# AWS 관리형 정책: AmazonSageMakerHyperPodServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerHyperPodServiceRolePolicy"></a>

SageMaker HyperPod는 역할에 `AmazonSageMakerHyperPodServiceRolePolicy`가 연결된 `AWSServiceRoleForSageMakerHyperPod`라는 서비스 연결 역할을 만들고 사용합니다. 이 정책은 Amazon SageMaker HyperPod에 Amazon EKS 및 Amazon CloudWatch와 같은 관련 AWS 서비스에 대한 권한을 부여합니다.

서비스 연결 역할을 사용하면 필요한 권한을 수동으로 추가할 필요가 없으므로 SageMaker HyperPod를 더 쉽게 설정할 수 있습니다. SageMaker HyperPod가 서비스 연결 역할의 권한을 정의하므로 다르게 정의되지 않은 한, SageMaker HyperPod만 해당 역할을 수임할 수 있습니다. 정의된 권한에는 신뢰 정책과 권한 정책이 포함되며 이 권한 정책은 다른 IAM 엔터티에 연결할 수 없습니다.

먼저 관련 리소스를 삭제한 후에만 서비스 연결 역할을 삭제할 수 있습니다. 이렇게 하면 리소스에 대한 액세스 권한을 부주의로 삭제할 수 없기 때문에 SageMaker HyperPod 리소스가 보호됩니다.

서비스 연결 역할을 지원하는 다른 서비스에 대한 자세한 내용은 [AWS IAM으로 작업하는 서비스를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) 참조하고 **서비스 연결 역할** 열에서 **예**인 서비스를 찾습니다. 해당 서비스에 대한 서비스 연결 역할 설명서를 보려면 **예** 링크를 선택합니다.

`AmazonSageMakerHyperPodServiceRolePolicy`는 SageMaker HyperPod가 지정된 리소스에서 사용자를 대신해 다음 작업을 완료하도록 허용합니다.

** 권한 세부 정보**

이 서비스 연결 역할 정책에는 다음 권한이 포함됩니다.
+ `eks` – 위탁자가 Amazon Elastic Kubernetes Service(Amazon EKS) 클러스터 정보를 읽도록 허용합니다.
+ `logs` - 위탁자가 Amazon CloudWatch 로그 스트림을 `/aws/sagemaker/Clusters`에 게시하도록 허용합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EKSClusterDescribePermissions",
      "Effect": "Allow",
      "Action": "eks:DescribeCluster",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "CloudWatchLogGroupPermissions",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/Clusters/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid": "CloudWatchLogStreamPermissions",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/Clusters/*:log-stream:*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    }
  ]
}
```

------

사용자, 그룹 또는 역할이 서비스 연결 역할을 생성, 편집 또는 삭제할 수 있도록 사용 권한을 구성해야 합니다. 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 권한](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)을 참조하세요.

## SageMaker HyperPod에 대한 서비스 연결 역할 만들기
<a name="create-slr"></a>

서비스 연결 역할은 수동으로 생성할 필요가 없습니다. SageMaker AI 콘솔 AWS CLI, 또는 AWS SDKs를 사용하여 SageMaker HyperPod 클러스터를 생성하면 SageMaker HyperPod가 서비스 연결 역할을 생성합니다.

이 서비스 연결 역할을 삭제했지만 다시 만들어야 하는 경우 동일한 프로세스(새로운 SageMaker HyperPod 클러스터 만들기)를 사용하여 계정에서 역할을 다시 만들 수 있습니다.

## SageMaker HyperPod에 대한 서비스 연결 역할 편집
<a name="edit-slr"></a>

SageMaker HyperPod는 `AWSServiceRoleForSageMakerHyperPod` 서비스 연결 역할을 편집하도록 허용하지 않습니다. 서비스 연결 역할을 생성한 후에는 다양한 개체가 역할을 참조할 수 있기 때문에 역할 이름을 변경할 수 없습니다. 하지만 IAM을 사용하여 역할의 설명을 편집할 수 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 편집](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)을 참조하세요.

## SageMaker HyperPod에 대한 서비스 연결 역할 삭제
<a name="delete-slr"></a>

서비스 연결 역할이 필요한 기능 또는 서비스가 더 이상 필요 없는 경우에는 해당 역할을 삭제하는 것이 좋습니다. 따라서 적극적으로 모니터링하거나 유지하지 않는 미사용 엔터티가 없도록 합니다. 단, 서비스 연결 역할에 대한 리소스를 먼저 정리해야 수동으로 삭제할 수 있습니다.

**서비스 연결 역할을 사용하여 SageMaker HyperPod 클러스터 리소스를 삭제하는 방법**

다음 옵션 중 하나를 사용하여 SageMaker HyperPod 클러스터 리소스를 삭제합니다.
+ SageMaker AI 콘솔을 사용하여 [SageMaker HyperPod 클러스터 삭제](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-operate-slurm-console-ui.html#sagemaker-hyperpod-operate-slurm-console-ui-delete-cluster)
+ [를 사용하여 SageMaker HyperPod 클러스터 삭제](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-operate-slurm-cli-command.html#sagemaker-hyperpod-operate-slurm-cli-command-delete-cluster) AWS CLI

**참고**  
리소스를 삭제하려 할 때 SageMaker HyperPod 서비스가 역할을 사용 중이면 삭제에 실패할 수 있습니다. 이 문제가 발생하면 몇 분 기다렸다가 작업을 다시 시도하세요.

**IAM을 사용하여 수동으로 서비스 연결 역할을 삭제하려면 다음을 수행하세요.**

IAM 콘솔 AWS CLI, 또는 AWS API를 사용하여 `AWSServiceRoleForSageMakerHyperPod` 서비스 연결 역할을 삭제합니다. 자세한 내용은 IAM 사용 설명서의 [서비스 연결 역할 삭제](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)**를 참조하십시오.

## SageMaker HyperPod 서비스 연결 역할이 지원되는 리전
<a name="slr-regions"></a>

SageMaker HyperPod는 서비스를 사용할 수 있는 모든 리전에서 서비스 연결 역할 사용을 지원합니다. 자세한 내용은 [Prerequisites for SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-prerequisites.html)를 참조하세요.

# AWS 관리형 정책: AmazonSageMakerClusterInstanceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerClusterInstanceRolePolicy"></a>

이 정책은 Amazon SageMaker HyperPod를 사용하는 데 일반적으로 필요한 권한을 부여합니다.

** 권한 세부 정보**

이 AWS 관리형 정책에는 다음 권한이 포함됩니다.
+ `cloudwatch` - 위탁자가 Amazon CloudWatch 지표를 게시하도록 허용합니다.
+ `logs` - 위탁자가 Amazon CloudWatch 로그 스트림을 게시하도록 허용합니다.
+ `s3` – 위탁자가 계정의 Amazon S3 버킷에서 수명 주기 스크립트 파일을 나열하고 검색하도록 허용합니다. 이러한 버킷은 이름이 'sagemaker-'로 시작하는 버킷으로 제한됩니다.
+ `ssmmessages` - 위탁자가 AWS Systems Manager에 대한 연결을 열도록 허용합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Sid" : "CloudwatchLogStreamPublishPermissions",
      "Effect" : "Allow",
      "Action" : [
        "logs:PutLogEvents",
        "logs:CreateLogStream",
        "logs:DescribeLogStreams"
      ],
      "Resource" : [
        "arn:aws:logs:*:*:log-group:/aws/sagemaker/Clusters/*:log-stream:*"
      ]
    },
    {
      "Sid" : "CloudwatchLogGroupCreationPermissions",
      "Effect" : "Allow",
      "Action" : [
        "logs:CreateLogGroup"
      ],
      "Resource" : [
        "arn:aws:logs:*:*:log-group:/aws/sagemaker/Clusters/*"
      ]
    },
    {
      "Sid" : "CloudwatchPutMetricDataAccess",
      "Effect" : "Allow",
      "Action" : [
        "cloudwatch:PutMetricData"
      ],
      "Resource" : [
        "*"
      ],
      "Condition" : {
        "StringEquals" : {
          "cloudwatch:namespace" : "/aws/sagemaker/Clusters"
        }
      }
    },
    {
      "Sid" : "DataRetrievalFromS3BucketPermissions",
      "Effect" : "Allow",
      "Action" : [
        "s3:ListBucket",
        "s3:GetObject"
      ],
      "Resource" : [
        "arn:aws:s3:::sagemaker-*"
      ],
      "Condition" : {
        "StringEquals" : {
          "aws:ResourceAccount" : "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Sid" : "SSMConnectivityPermissions",
      "Effect" : "Allow",
      "Action" : [
        "ssmmessages:CreateControlChannel",
        "ssmmessages:CreateDataChannel",
        "ssmmessages:OpenControlChannel",
        "ssmmessages:OpenDataChannel"
      ],
      "Resource" : "*"
    }
  ]
}
```

------

## SageMaker HyperPod 관리형 정책에 대한 Amazon SageMaker AI 업데이트
<a name="security-iam-awsmanpol-hyperpod-updates"></a>

이 서비스가 이러한 변경 사항을 추적하기 시작한 이후부터 SageMaker HyperPod의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다. 이 페이지의 변경 사항에 대한 자동 알림을 받으려면 SageMaker AI [Document history 페이지](doc-history.md)에서 RSS 피드를 구독하세요.


| 정책 | 버전 | 변경 | Date | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerHyperPodTrainingOperatorAccess](security-iam-awsmanpol-AmazonSageMakerHyperPodTrainingOperatorAccess.md) - 새 정책  | 1 |  초기 정책  | 2025년 8월 22일 | 
|  [AmazonSageMakerHyperPodObservabilityAdminAccess](security-iam-awsmanpol-AmazonSageMakerHyperPodObservabilityAdminAccess.md) - 업데이트된 정책  | 2 |  역할 범위 축소를 수정하여 `service-role` 접두사를 포함하도록 정책을 업데이트했습니다. 엔드투엔드 관리 작업에 필요한 `eks:DeletePodIdentityAssociation` 및 `eks:UpdatePodIdentityAssociation`에 대한 권한도 추가했습니다.  | 2025년 8월 19일 | 
|  [AmazonSageMakerHyperPodObservabilityAdminAccess](security-iam-awsmanpol-AmazonSageMakerHyperPodObservabilityAdminAccess.md) - 새 정책  | 1 |  초기 정책  | 2025년 7월 10일 | 
|  [AmazonSageMakerHyperPodServiceRolePolicy](security-iam-awsmanpol-AmazonSageMakerHyperPodServiceRolePolicy.md) - 새 정책  | 1 |  초기 정책  | 2024년 9월 9일 | 
|  [AmazonSageMakerClusterInstanceRolePolicy](security-iam-awsmanpol-AmazonSageMakerClusterInstanceRolePolicy.md) - 새 정책  | 1 |  초기 정책  | 2023년 11월 29일 | 

# AWS SageMaker AI 모델 거버넌스를 위한 관리형 정책
<a name="security-iam-awsmanpol-governance"></a>

이 AWS 관리형 정책은 SageMaker AI 모델 거버넌스를 사용하는 데 필요한 권한을 추가합니다. 이 정책은 AWS 계정에서 사용할 수 있으며 SageMaker AI 콘솔에서 생성된 실행 역할에 사용됩니다.

**Topics**
+ [AWS 관리형 정책: AmazonSageMakerModelGovernanceUseAccess](#security-iam-awsmanpol-governance-AmazonSageMakerModelGovernanceUseAccess)
+ [SageMaker AI 모델 거버넌스 관리형 정책에 대한 Amazon SageMaker AI 업데이트](#security-iam-awsmanpol-governance-updates)

## AWS 관리형 정책: AmazonSageMakerModelGovernanceUseAccess
<a name="security-iam-awsmanpol-governance-AmazonSageMakerModelGovernanceUseAccess"></a>

이 AWS 관리형 정책은 모든 Amazon SageMaker AI 거버넌스 기능을 사용하는 데 필요한 권한을 부여합니다. 이 정책은 AWS 계정에서 사용할 수 있습니다.

이 정책에는 다음 권한이 포함되어 있습니다.
+ `s3` - Amazon S3에서 객체를 검색합니다. 검색 가능한 객체는 대소문자를 구분하지 않는 이름에 문자열`"sagemaker"`가 포함된 객체로 제한됩니다.
+ `kms` - 콘텐츠 암호화에 사용할 AWS KMS 키를 나열합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowSMMonitoringModelCards",
            "Effect": "Allow",
            "Action": [
                "sagemaker:ListMonitoringAlerts",
                "sagemaker:ListMonitoringExecutions",
                "sagemaker:UpdateMonitoringAlert",
                "sagemaker:StartMonitoringSchedule",
                "sagemaker:StopMonitoringSchedule",
                "sagemaker:ListMonitoringAlertHistory",
                "sagemaker:DescribeModelPackage",
                "sagemaker:DescribeModelPackageGroup",
                "sagemaker:CreateModelCard",
                "sagemaker:DescribeModelCard",
                "sagemaker:UpdateModelCard",
                "sagemaker:DeleteModelCard",
                "sagemaker:ListModelCards",
                "sagemaker:ListModelCardVersions",
                "sagemaker:CreateModelCardExportJob",
                "sagemaker:DescribeModelCardExportJob",
                "sagemaker:ListModelCardExportJobs"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowSMTrainingModelsSearchTags",
            "Effect": "Allow",
            "Action": [
                "sagemaker:ListTrainingJobs",
                "sagemaker:DescribeTrainingJob",
                "sagemaker:ListModels",
                "sagemaker:DescribeModel",
                "sagemaker:Search",     
                "sagemaker:AddTags",
                "sagemaker:DeleteTags",
                "sagemaker:ListTags"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowKMSActions",
            "Effect": "Allow",
            "Action": [
                "kms:ListAliases"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowS3Actions",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:CreateBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
            "Sid": "AllowS3ListActions",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## SageMaker AI 모델 거버넌스 관리형 정책에 대한 Amazon SageMaker AI 업데이트
<a name="security-iam-awsmanpol-governance-updates"></a>

이 서비스가 이러한 변경 사항을 추적하기 시작한 이후부터 SageMaker AI 모델 거버넌스의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다. 이 페이지의 변경 사항에 대한 자동 알림을 받으려면 SageMaker AI [Document history 페이지](doc-history.md)에서 RSS 피드를 구독하세요.


| 정책 | 버전 | 변경 | Date | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerModelGovernanceUseAccess](#security-iam-awsmanpol-governance-AmazonSageMakerModelGovernanceUseAccess) - 기존 정책에 대한 업데이트   | 3 |  문 ID(`Sid`)를 추가합니다.  | 2024년 6월 4일 | 
| AmazonSageMakerModelGovernanceUseAccess - 기존 정책 업데이트 | 2 |  `sagemaker:DescribeModelPackage` 및 `DescribeModelPackageGroup`권한을 추가합니다.  | 2023년 7월 17일 | 
| AmazonSageMakerModelGovernanceUseAccess - 새 정책 | 1 | 초기 정책 | 2022년 11월 30일 | 

# AWS 모델 레지스트리에 대한 관리형 정책
<a name="security-iam-awsmanpol-model-registry"></a>

이러한 AWS 관리형 정책은 모델 레지스트리를 사용하는 데 필요한 권한을 추가합니다. 정책은 AWS 계정에서 사용할 수 있으며 Amazon SageMaker AI 콘솔에서 생성된 실행 역할에서 사용됩니다.

**Topics**
+ [AWS 관리형 정책: AmazonSageMakerModelRegistryFullAccess](#security-iam-awsmanpol-model-registry-AmazonSageMakerModelRegistryFullAccess)
+ [Model Registry 관리형 정책에 대한 Amazon SageMaker AI 업데이트](#security-iam-awsmanpol-model-registry-updates)

## AWS 관리형 정책: AmazonSageMakerModelRegistryFullAccess
<a name="security-iam-awsmanpol-model-registry-AmazonSageMakerModelRegistryFullAccess"></a>

이 AWS 관리형 정책은 Amazon SageMaker AI 도메인 내에서 모든 모델 레지스트리 기능을 사용하는 데 필요한 권한을 부여합니다. 이 정책은 모델 레지스트리 권한을 활성화하도록 모델 레지스트리 설정을 구성할 때 실행 역할에 연결됩니다.

이 정책에는 다음 권한이 포함되어 있습니다.
+ `ecr` - 보안 주체가 Amazon Elastic Container Registry(Amazon ECR) 이미지에 대해 메타데이터를 포함한 정보를 검색할 수 있도록 허용합니다.
+ `iam` - 위탁자가 Amazon SageMaker AI 서비스에 실행 역할을 넘길 수 있도록 허용합니다.
+ `resource-groups` - 보안 주체가 생성, 나열, 태그 지정 및 삭제할 수 있도록 허용합니다 AWS Resource Groups.
+ `s3` - 보안 주체가 모델 버전이 저장된 Amazon Simple Storage Service(S3) 버킷에서 객체를 검색할 수 있도록 허용합니다. 검색 가능한 객체는 대소문자를 구분하지 않는 이름에 문자열`"sagemaker"`가 포함된 객체로 제한됩니다.
+ `sagemaker` - 위탁자가 SageMaker Model Registry를 사용하여 모델을 카탈로그, 관리 및 배포할 수 있도록 허용합니다.
+ `kms` - SageMaker AI 서비스 보안 주체만 권한 부여를 추가하고, 데이터 키를 생성하고, 복호화하고, AWS KMS 키를 읽을 수 있으며, "sagemaker"용으로 태그가 지정된 키만 사용할 수 있습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AmazonSageMakerModelRegistrySageMakerReadPermission",
      "Effect": "Allow",
      "Action": [
        "sagemaker:DescribeAction",
        "sagemaker:DescribeInferenceRecommendationsJob",
        "sagemaker:DescribeModelPackage",
        "sagemaker:DescribeModelPackageGroup",
        "sagemaker:DescribePipeline",
        "sagemaker:DescribePipelineExecution",
        "sagemaker:ListAssociations",
        "sagemaker:ListArtifacts",
        "sagemaker:ListModelMetadata",
        "sagemaker:ListModelPackages",
        "sagemaker:Search",
        "sagemaker:GetSearchSuggestions"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonSageMakerModelRegistrySageMakerWritePermission",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags",
        "sagemaker:CreateModel",
        "sagemaker:CreateModelPackage",
        "sagemaker:CreateModelPackageGroup",
        "sagemaker:CreateEndpoint",
        "sagemaker:CreateEndpointConfig",
        "sagemaker:CreateInferenceRecommendationsJob",
        "sagemaker:DeleteModelPackage",
        "sagemaker:DeleteModelPackageGroup",
        "sagemaker:DeleteTags",
        "sagemaker:UpdateModelPackage"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonSageMakerModelRegistryS3GetPermission",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::*SageMaker*",
        "arn:aws:s3:::*Sagemaker*",
        "arn:aws:s3:::*sagemaker*"
      ]
    },
    {
      "Sid": "AmazonSageMakerModelRegistryS3ListPermission",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:ListAllMyBuckets"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonSageMakerModelRegistryECRReadPermission",
      "Effect": "Allow",
      "Action": [
        "ecr:BatchGetImage",
        "ecr:DescribeImages"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonSageMakerModelRegistryIAMPassRolePermission",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::*:role/*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "sagemaker.amazonaws.com"
        }
      }
    },
    {
      "Sid": "AmazonSageMakerModelRegistryTagReadPermission",
      "Effect": "Allow",
      "Action": [
        "tag:GetResources"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonSageMakerModelRegistryResourceGroupGetPermission",
      "Effect": "Allow",
      "Action": [
        "resource-groups:GetGroupQuery"
      ],
      "Resource": "arn:aws:resource-groups:*:*:group/*"
    },
    {
      "Sid": "AmazonSageMakerModelRegistryResourceGroupListPermission",
      "Effect": "Allow",
      "Action": [
        "resource-groups:ListGroupResources"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonSageMakerModelRegistryResourceGroupWritePermission",
      "Effect": "Allow",
      "Action": [
        "resource-groups:CreateGroup",
        "resource-groups:Tag"
      ],
      "Resource": "arn:aws:resource-groups:*:*:group/*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:TagKeys": "sagemaker:collection"
        }
      }
    },
    {
      "Sid": "AmazonSageMakerModelRegistryResourceGroupDeletePermission",
      "Effect": "Allow",
      "Action": "resource-groups:DeleteGroup",
      "Resource": "arn:aws:resource-groups:*:*:group/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/sagemaker:collection": "true"
        }
      }
    },
    {
      "Sid": "AmazonSageMakerModelRegistryResourceKMSPermission",
      "Effect": "Allow",
      "Action": [
        "kms:CreateGrant",
        "kms:DescribeKey",
        "kms:GenerateDataKey",
        "kms:Decrypt"
      ],
      "Resource": "arn:aws:kms:*:*:key/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/sagemaker" : "true"
        },
        "StringLike": {
          "kms:ViaService": "sagemaker.*.amazonaws.com"
        }
      }
    }
  ]
}
```

------

## Model Registry 관리형 정책에 대한 Amazon SageMaker AI 업데이트
<a name="security-iam-awsmanpol-model-registry-updates"></a>

이 서비스가 이러한 변경 사항을 추적하기 시작한 이후부터 모델 레지스트리의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다. 이 페이지의 변경 사항에 대한 자동 알림을 받으려면 SageMaker AI [Document history 페이지](doc-history.md)에서 RSS 피드를 구독하세요.


| 정책 | 버전 | 변경 | Date | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerModelRegistryFullAccess](#security-iam-awsmanpol-model-registry-AmazonSageMakerModelRegistryFullAccess) - 기존 정책에 대한 업데이트 | 2 |  `kms:CreateGrant`, `kms:DescribeKey`, `kms:GenerateDataKey` 및 `kms:Decrypt` 권한을 추가합니다.  | 2024년 6월 6일 | 
| AmazonSageMakerModelRegistryFullAccess - 새 정책 | 1 |  초기 정책  | 2023년 8월 12일 | 

# AWS SageMaker 노트북에 대한 관리형 정책
<a name="security-iam-awsmanpol-notebooks"></a>

이러한 AWS 관리형 정책은 SageMaker 노트북을 사용하는 데 필요한 권한을 추가합니다. 정책은 AWS 계정에서 사용할 수 있으며 SageMaker AI 콘솔에서 생성된 실행 역할에서 사용됩니다.

**Topics**
+ [AWS 관리형 정책: AmazonSageMakerNotebooksServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerNotebooksServiceRolePolicy)
+ [SageMaker AI 노트북 관리형 정책에 대한 Amazon SageMaker AI 업데이트](#security-iam-awsmanpol-notebooks-updates)

## AWS 관리형 정책: AmazonSageMakerNotebooksServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerNotebooksServiceRolePolicy"></a>

이 AWS 관리형 정책은 Amazon SageMaker 노트북을 사용하는 데 일반적으로 필요한 권한을 부여합니다. 이 정책은 Amazon SageMaker Studio Classic에 온보딩할 때 만들어지는 `AWSServiceRoleForAmazonSageMakerNotebooks`에 추가됩니다. 서비스 연결 역할에 대한 자세한 내용은 [서비스 연결 역할](security_iam_service-with-iam.md#security_iam_service-with-iam-roles-service-linked)섹션을 참조하세요. 자세한 내용은 [AmazonSageMakerNotebooksServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerNotebooksServiceRolePolicy.html)를 참조하세요.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `elasticfilesystem` - 보안 주체가 Amazon Elastic File System(EFS) 파일 시스템, 액세스 포인트 및 탑재 대상을 생성하고 삭제할 수 있도록 허용합니다. 이는 *ManagedByAmazonSageMakerResource* 키로 태그가 지정된 항목으로 제한됩니다. 보안 주체가 모든 EFS 파일 시스템, 액세스 포인트 및 탑재 대상을 설명할 수 있도록 허용합니다. 보안 주체가 EFS 액세스 포인트 및 탑재 대상에 대한 태그를 생성하거나 덮어쓸 수 있도록 허용합니다.
+ `ec2` - 보안 주체가 Amazon Elastic Compute Cloud(EC2) 인스턴스에 대한 네트워크 인터페이스 및 보안 그룹을 생성할 수 있도록 허용합니다. 또한 보안 주체가 이러한 리소스에 대한 태그를 생성하고 덮어쓸 수 있도록 허용합니다.
+ `sso` - 보안 주체가 AWS IAM Identity Center에 관리형 애플리케이션 인스턴스를 추가 및 삭제할 수 있도록 허용합니다.
+ `sagemaker` - 위탁자가 SageMaker AI 사용자 프로필 및 SageMaker AI 스페이스를 만들고 읽고 SageMaker AI 스페이스 및 SageMaker AI 앱을 삭제하도록 허용합니다.
+ `fsx` - 위탁자가 Amazon FSx for Lustre 파일 시스템을 설명하고 메타데이터를 사용하여 노트북에 탑재하도록 허용합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {   
            "Sid": "AllowFSxDescribe",
            "Effect": "Allow",
            "Action": [
                "fsx:DescribeFileSystems"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "AllowSageMakerDeleteApp",
            "Effect": "Allow",
            "Action": [
                "sagemaker:DeleteApp"
            ],
            "Resource": "arn:aws:sagemaker:*:*:app/*"
        },
        {
            "Sid": "AllowEFSAccessPointCreation",
            "Effect": "Allow",
            "Action": "elasticfilesystem:CreateAccessPoint",
            "Resource": "arn:aws:elasticfilesystem:*:*:file-system/*",
            "Condition": {
                "StringLike": {
                    "aws:ResourceTag/ManagedByAmazonSageMakerResource": "*",
                    "aws:RequestTag/ManagedByAmazonSageMakerResource": "*"
                }
            }
        },
        {
            "Sid": "AllowEFSAccessPointDeletion",
            "Effect": "Allow",
            "Action": [
                "elasticfilesystem:DeleteAccessPoint"
            ],
            "Resource": "arn:aws:elasticfilesystem:*:*:access-point/*",
            "Condition": {
                "StringLike": {
                    "aws:ResourceTag/ManagedByAmazonSageMakerResource": "*"
                }
            }
        },
        {
            "Sid": "AllowEFSCreation",
            "Effect": "Allow",
            "Action": "elasticfilesystem:CreateFileSystem",
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "aws:RequestTag/ManagedByAmazonSageMakerResource": "*"
                }
            }
        },
        {
            "Sid": "AllowEFSMountWithDeletion",
            "Effect": "Allow",
            "Action": [
                "elasticfilesystem:CreateMountTarget",
                "elasticfilesystem:DeleteFileSystem",
                "elasticfilesystem:DeleteMountTarget"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "aws:ResourceTag/ManagedByAmazonSageMakerResource": "*"
                }
            }
        },
        {
            "Sid": "AllowEFSDescribe",
            "Effect": "Allow",
            "Action": [
                "elasticfilesystem:DescribeAccessPoints",
                "elasticfilesystem:DescribeFileSystems",
                "elasticfilesystem:DescribeMountTargets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowEFSTagging",
            "Effect": "Allow",
            "Action": "elasticfilesystem:TagResource",
            "Resource": [
                "arn:aws:elasticfilesystem:*:*:access-point/*",
                "arn:aws:elasticfilesystem:*:*:file-system/*"
            ],
            "Condition": {
                "StringLike": {
                    "aws:ResourceTag/ManagedByAmazonSageMakerResource": "*"
                }
            }
        },
        {
            "Sid": "AllowEC2Tagging",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": [
                "arn:aws:ec2:*:*:network-interface/*",
                "arn:aws:ec2:*:*:security-group/*"
            ]
        },
        {
            "Sid": "AllowEC2Operations",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:CreateSecurityGroup",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "ec2:ModifyNetworkInterfaceAttribute"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowEC2AuthZ",
            "Effect": "Allow",
            "Action": [
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DeleteSecurityGroup",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupIngress"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "ec2:ResourceTag/ManagedByAmazonSageMakerResource": "*"
                }
            }
        },
        {
            "Sid": "AllowIdcOperations",
            "Effect": "Allow",
            "Action": [
                "sso:CreateManagedApplicationInstance",
                "sso:DeleteManagedApplicationInstance",
                "sso:GetManagedApplicationInstance"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowSagemakerProfileCreation",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateUserProfile",
                "sagemaker:DescribeUserProfile"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowSagemakerSpaceOperationsForCanvasManagedSpaces",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateSpace",
                "sagemaker:DescribeSpace",
                "sagemaker:DeleteSpace",
                "sagemaker:ListTags"
            ],
            "Resource": "arn:aws:sagemaker:*:*:space/*/CanvasManagedSpace-*"
        },
        {
            "Sid": "AllowSagemakerAddTagsForAppManagedSpaces",
            "Effect": "Allow",
            "Action": [
                "sagemaker:AddTags"
            ],
            "Resource": "arn:aws:sagemaker:*:*:space/*/CanvasManagedSpace-*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:TaggingAction": "CreateSpace"
                }
            }
        }
    ]
}
```

------

## SageMaker AI 노트북 관리형 정책에 대한 Amazon SageMaker AI 업데이트
<a name="security-iam-awsmanpol-notebooks-updates"></a>

이 서비스가 이러한 변경 사항을 추적하기 시작한 이후부터 Amazon SageMaker AI의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다.


| 정책 | 버전 | 변경 | Date | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerNotebooksServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerNotebooksServiceRolePolicy) - 기존 정책에 대한 업데이트  | 10 |  `fsx:DescribeFileSystems` 권한을 추가합니다.  | 2024년 11월 14일 | 
|  [AmazonSageMakerNotebooksServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerNotebooksServiceRolePolicy) - 기존 정책에 대한 업데이트  | 9 |  `sagemaker:DeleteApp` 권한을 추가합니다.  | 2024년 7월 24일 | 
| AmazonSageMakerNotebooksServiceRolePolicy - 기존 정책 업데이트 | 8 |  `sagemaker:CreateSpace`, `sagemaker:DescribeSpace`, `sagemaker:DeleteSpace`, `sagemaker:ListTags`및 `sagemaker:AddTags`권한을 추가합니다.  | 2024년 5월 22일 | 
| AmazonSageMakerNotebooksServiceRolePolicy - 기존 정책 업데이트 | 7 |  `elasticfilesystem:TagResource` 권한을 추가합니다.  | 2023년 3월 9일 | 
| AmazonSageMakerNotebooksServiceRolePolicy - 기존 정책 업데이트 | 6 |  `elasticfilesystem:CreateAccessPoint`, `elasticfilesystem:DeleteAccessPoint`및 `elasticfilesystem:DescribeAccessPoints`권한 추가.  | 2023년 1월 12일 | 
|  |  |  SageMaker AI는 AWS 관리형 정책에 대한 변경 사항 추적을 시작했습니다.  | 2021년 6월 1일 | 

# AWS Amazon SageMaker 파트너 AI 앱에 대한 관리형 정책
<a name="security-iam-awsmanpol-partner-apps"></a>

이러한 AWS 관리형 정책은 Amazon SageMaker 파트너 AI 앱을 사용하는 데 필요한 권한을 추가합니다. 정책은 AWS 계정에서 사용할 수 있으며 SageMaker AI 콘솔에서 생성된 실행 역할에서 사용됩니다.

**Topics**
+ [AWS 관리형 정책: AmazonSageMakerPartnerAppsFullAccess](#security-iam-awsmanpol-AmazonSageMakerPartnerAppsFullAccess)
+ [Partner AI App 관리형 정책에 대한 Amazon SageMaker AI 업데이트](#security-iam-awsmanpol-partner-apps-updates)

## AWS 관리형 정책: AmazonSageMakerPartnerAppsFullAccess
<a name="security-iam-awsmanpol-AmazonSageMakerPartnerAppsFullAccess"></a>

Amazon SageMaker Partner AI App에 대한 전체 관리 액세스를 허용합니다.

** 권한 세부 정보**

이 AWS 관리형 정책에는 다음 권한이 포함됩니다.
+ `sagemaker` - Amazon SageMaker Partner AI App 사용자에게 애플리케이션에 액세스하고, 사용 가능한 애플리케이션을 나열하고, 애플리케이션 웹 UI를 시작하고, 애플리케이션 SDK를 사용하여 연결할 수 있는 권한을 부여합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AmazonSageMakerPartnerListAppsPermission",
            "Effect": "Allow",
            "Action": "sagemaker:ListPartnerApps",
            "Resource": "*"
        },
        {
            "Sid": "AmazonSageMakerPartnerAppsPermission",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePartnerAppPresignedUrl",
                "sagemaker:DescribePartnerApp",
                "sagemaker:CallPartnerAppApi"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            },
            "Resource": "arn:aws:sagemaker:*:*:partner-app/*"
        }
    ]
}
```

------

## Partner AI App 관리형 정책에 대한 Amazon SageMaker AI 업데이트
<a name="security-iam-awsmanpol-partner-apps-updates"></a>

이 서비스가 이러한 변경 사항을 추적하기 시작한 이후 파트너 AI 앱의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다. 이 페이지의 변경 사항에 대한 자동 알림을 받으려면 SageMaker AI [Document history 페이지](doc-history.md)에서 RSS 피드를 구독하세요.


| 정책 | 버전 | 변경 | Date | 
| --- | --- | --- | --- | 
| AmazonSageMakerPartnerAppsFullAccess - 새 정책 | 1 |  초기 정책  | 2025년 1월 17일 | 

# AWS SageMaker Pipelines에 대한 관리형 정책
<a name="security-iam-awsmanpol-pipelines"></a>

이러한 AWS 관리형 정책은 SageMaker Pipelines을 사용하는 데 필요한 권한을 추가합니다. 정책은 AWS 계정에서 사용할 수 있으며 SageMaker AI 콘솔에서 생성된 실행 역할에서 사용됩니다.

**Topics**
+ [AWS 관리형 정책: AmazonSageMakerPipelinesIntegrations](#security-iam-awsmanpol-AmazonSageMakerPipelinesIntegrations)
+ [SageMaker AI Pipelines 관리형 정책에 대한 Amazon SageMaker AI 업데이트](#security-iam-awsmanpol-pipelines-updates)

## AWS 관리형 정책: AmazonSageMakerPipelinesIntegrations
<a name="security-iam-awsmanpol-AmazonSageMakerPipelinesIntegrations"></a>

이 AWS 관리형 정책은 SageMaker Pipelines에서 콜백 단계 및 Lambda 단계를 사용하는 데 일반적으로 필요한 권한을 부여합니다. 이 정책은 Amazon SageMaker Studio Classic에 온보딩할 때 만들어지는 `AmazonSageMaker-ExecutionRole`에 추가됩니다. 정책은 파이프라인을 작성하거나 실행하는 데 사용되는 모든 역할에 연결할 수 있습니다.

이 정책은 AWS Lambda 함수를 호출하거나 수동 승인 단계 또는 사용자 지정 워크로드 실행에 사용할 수 있는 콜백 단계를 포함하는 파이프라인을 구축할 때 필요한 적절한 Lambda, Amazon Simple Queue Service(Amazon SQS), Amazon EventBridge 및 IAM 권한을 부여합니다.

Amazon SQS 권한을 사용하면 콜백 메시지를 수신하는 데 필요한 Amazon SQS 대기열을 생성하고 해당 대기열로 메시지를 전송할 수 있습니다.

Lambda 권한을 사용하면 파이프라인 단계에서 사용되는 Lambda 함수를 생성, 읽기, 업데이트 및 삭제하고 해당 Lambda 함수를 간접 호출할 수 있습니다.

이 정책은 파이프라인 Amazon EMR 단계를 실행하는 데 필요한 권한을 Amazon EMR에 부여합니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `elasticmapreduce` - 실행 중인 Amazon EMR 클러스터에서 단계를 읽고, 추가하고, 취소합니다. 새 Amazon EMR 클러스터를 읽고, 생성하고, 종료합니다.
+ `events` - `SageMakerPipelineExecutionEMRClusterStatusUpdateRule`및 `SageMakerPipelineExecutionEMRStepStatusUpdateRule`이라는 EventBridge 규칙을 읽고, 생성하고, 업데이트하고, 대상을 추가합니다.
+ `iam` - AWS Lambda 서비스, Amazon EMR 및 Amazon EC2에 IAM 역할을 전달합니다.
+ `lambda` - Lambda 함수를 생성, 읽기, 업데이트, 삭제 및 호출합니다. 이러한 권한은 이름에 “sagemaker”가 포함된 함수로 제한됩니다.
+ `sqs` - Amazon SQS 대기열을 생성한 후 Amazon SQS 메시지를 보냅니다. 이러한 권한은 이름에 “sagemaker”가 포함된 함수로 제한됩니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "lambda:CreateFunction",
                "lambda:DeleteFunction",
                "lambda:GetFunction",
                "lambda:InvokeFunction",
                "lambda:UpdateFunctionCode"
            ],
            "Resource": [
                "arn:aws:lambda:*:*:function:*sagemaker*",
                "arn:aws:lambda:*:*:function:*sageMaker*",
                "arn:aws:lambda:*:*:function:*SageMaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "sqs:CreateQueue",
                "sqs:SendMessage"
            ],
            "Resource": [
                "arn:aws:sqs:*:*:*sagemaker*",
                "arn:aws:sqs:*:*:*sageMaker*",
                "arn:aws:sqs:*:*:*SageMaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "lambda.amazonaws.com",
                        "elasticmapreduce.amazonaws.com",
                        "ec2.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:DescribeRule",
                "events:PutRule",
                "events:PutTargets"
            ],
            "Resource": [
                "arn:aws:events:*:*:rule/SageMakerPipelineExecutionEMRStepStatusUpdateRule",
                "arn:aws:events:*:*:rule/SageMakerPipelineExecutionEMRClusterStatusUpdateRule"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "elasticmapreduce:AddJobFlowSteps",
                "elasticmapreduce:CancelSteps",
                "elasticmapreduce:DescribeStep",
                "elasticmapreduce:RunJobFlow",
                "elasticmapreduce:DescribeCluster",
                "elasticmapreduce:TerminateJobFlows",
                "elasticmapreduce:ListSteps"
            ],
            "Resource": [
                "arn:aws:elasticmapreduce:*:*:cluster/*"
            ]
        }
    ]
}
```

------

## SageMaker AI Pipelines 관리형 정책에 대한 Amazon SageMaker AI 업데이트
<a name="security-iam-awsmanpol-pipelines-updates"></a>

이 서비스가 이러한 변경 사항을 추적하기 시작한 이후부터 Amazon SageMaker AI의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다.


| 정책 | 버전 | 변경 | Date | 
| --- | --- | --- | --- | 
|  [AmazonSageMakerPipelinesIntegrations](#security-iam-awsmanpol-AmazonSageMakerPipelinesIntegrations) - 기존 정책에 대한 업데이트  | 3 |   `elasticmapreduce:RunJobFlows`, `elasticmapreduce:TerminateJobFlows`, `elasticmapreduce:ListSteps`및 `elasticmapreduce:DescribeCluster`에 대한 권한이 추가되었습니다.  | 2023년 2월 17일 | 
|  [AmazonSageMakerPipelinesIntegrations](#security-iam-awsmanpol-AmazonSageMakerPipelinesIntegrations) - 기존 정책에 대한 업데이트  | 2 |  `lambda:GetFunction`, `events:DescribeRule`, `events:PutRule`, `events:PutTargets`, `elasticmapreduce:AddJobFlowSteps`, `elasticmapreduce:CancelSteps`및 `elasticmapreduce:DescribeStep`에 대한 권한이 추가되었습니다.  | 2022년 4월 20일 | 
| AmazonSageMakerPipelinesIntegrations - 새 정책 | 1 |  초기 정책  | 2021년 7월 30일 | 

# AWS SageMaker 훈련 계획에 대한 관리형 정책
<a name="security-iam-awsmanpol-training-plan"></a>

 이 AWS 관리형 정책은 SageMaker AI에서 Amazon SageMaker 훈련 계획 및 예약 용량을 생성하고 관리하는 데 필요한 권한을 부여합니다. 이 정책은 [SageMaker AI 실행 역할](sagemaker-roles.md)을 포함하여 SageMaker AI 내에서 훈련 계획 및 예약 용량을 생성하고 관리하는 데 사용되는 IAM 역할에 연결할 수 있습니다.

**Topics**
+ [AWS 관리형 정책: AmazonSageMakerTrainingPlanCreateAccess](#security-iam-awsmanpol-AmazonSageMakerTrainingPlanCreateAccess)
+ [SageMaker 훈련 계획 관리형 정책에 대한 Amazon SageMaker AI 업데이트](#security-iam-awsmanpol-training-plan-updates)

## AWS 관리형 정책: AmazonSageMakerTrainingPlanCreateAccess
<a name="security-iam-awsmanpol-AmazonSageMakerTrainingPlanCreateAccess"></a>

이 정책은 SageMaker AI에서 훈련 계획을 생성, 설명, 검색 및 나열하는 데 필요한 권한을 제공합니다. 또한 특정 조건에서 훈련 계획 및 예약 용량 리소스에 태그를 추가하도록 허용합니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `sagemaker` - 훈련 계획 및 예약 용량을 생성하고, 태그 지정 작업이 구체적으로 `CreateTrainingPlan` 또는 `CreateReservedCapacity`일 때 훈련 계획 및 예약 용량에 태그 추가를 허용하고, 훈련 계획 설명을 허용하고, 훈련 계획 오퍼링 검색 및 모든 리소스에 기존 훈련 계획 나열을 허용합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CreateTrainingPlanPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateTrainingPlan",
        "sagemaker:CreateReservedCapacity",
        "sagemaker:DescribeReservedCapacity"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:training-plan/*",
        "arn:aws:sagemaker:*:*:reserved-capacity/*"
      ]
    },
    {
      "Sid": "AggTagsToTrainingPlanPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:training-plan/*",
        "arn:aws:sagemaker:*:*:reserved-capacity/*"
      ],
      "Condition": {
        "StringEquals": {
          "sagemaker:TaggingAction": ["CreateTrainingPlan","CreateReservedCapacity"]
        }
      }
    },
    {
      "Sid": "DescribeTrainingPlanPermissions",
      "Effect": "Allow",
      "Action": "sagemaker:DescribeTrainingPlan",
      "Resource": [
        "arn:aws:sagemaker:*:*:training-plan/*"
      ]
    },
    {
      "Sid": "NonResourceLevelTrainingPlanPermissions",
      "Effect": "Allow",
      "Action": [
        "sagemaker:SearchTrainingPlanOfferings",
        "sagemaker:ListTrainingPlans"
      ],
      "Resource": "*"
    },
    {
      "Sid": "ListUltraServersByReservedCapacityPermissions",
      "Effect": "Allow",
      "Action": "sagemaker:ListUltraServersByReservedCapacity",
      "Resource": [
      "arn:aws:sagemaker:*:*:reserved-capacity/*"
      ]
    }
  ]
}
```

------

## SageMaker 훈련 계획 관리형 정책에 대한 Amazon SageMaker AI 업데이트
<a name="security-iam-awsmanpol-training-plan-updates"></a>

이 서비스가 이러한 변경 사항을 추적하기 시작한 이후부터 Amazon SageMaker AI의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다.


| 정책 | 버전 | 변경 | Date | 
| --- | --- | --- | --- | 
|  AmazonSageMakerTrainingPlanCreateAccess - 업데이트된 정책  | 2 | 특정 예약 용량에 대한 정보를 검색하고 예약 용량에 있는 모든 UltraServers를 나열할 수 있는 권한을 추가하도록 정책을 업데이트했습니다. | 2024년 7월 29일 | 
| AmazonSageMakerTrainingPlanCreateAccess - 새 정책 | 1 |  초기 정책  | 2024년 12월 4일 | 

# AWS SageMaker 프로젝트 및 JumpStart에 대한 관리형 정책
<a name="security-iam-awsmanpol-sc"></a>

이러한 AWS 관리형 정책은 기본 제공 Amazon SageMaker AI 프로젝트 템플릿 및 JumpStart 솔루션을 사용할 수 있는 권한을 추가합니다. 정책은 AWS 계정에서 사용할 수 있으며 SageMaker AI 콘솔에서 생성된 실행 역할에서 사용됩니다.

SageMaker Projects 및 JumpStart는 AWS Service Catalog를 사용하여 고객의 계정에 AWS 리소스를 프로비저닝합니다. 생성된 일부 리소스는 실행 역할을 맡아야 합니다. 예를 들어 AWS Service Catalog가 SageMaker AI 기계 학습 CI/CD 프로젝트에 대해 고객을 대신하여 CodePipeline 파이프라인을 생성하는 경우 해당 파이프라인에는 IAM 역할이 필요합니다.

[AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole) 역할에는 AWS Service Catalog에서 제품의 SageMaker AI 포트폴리오를 시작하는 데 필요한 권한이 있습니다. [AmazonSageMakerServiceCatalogProductsUseRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsUseRole) 역할에는 AWS Service Catalog의 SageMaker AI 제품 포트폴리오를 사용하는 데 필요한 권한이 있습니다. `AmazonSageMakerServiceCatalogProductsLaunchRole` 역할은 프로비저닝된 AWS Service Catalog 제품 리소스에 `AmazonSageMakerServiceCatalogProductsUseRole` 역할을 전달합니다.

**Topics**
+ [AWS 관리형 정책: AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy)
+ [AWS 관리형 정책: AmazonSageMakerPartnerServiceCatalogProductsApiGatewayServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsApiGatewayServiceRolePolicy)
+ [AWS 관리형 정책: AmazonSageMakerPartnerServiceCatalogProductsCloudFormationServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsCloudFormationServiceRolePolicy)
+ [AWS 관리형 정책: AmazonSageMakerPartnerServiceCatalogProductsLambdaServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsLambdaServiceRolePolicy)
+ [AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsApiGatewayServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsApiGatewayServiceRolePolicy)
+ [AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsCloudformationServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCloudformationServiceRolePolicy)
+ [AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy)
+ [AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy)
+ [AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsEventsServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsEventsServiceRolePolicy)
+ [AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsFirehoseServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsFirehoseServiceRolePolicy)
+ [AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsGlueServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsGlueServiceRolePolicy)
+ [AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsLambdaServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsLambdaServiceRolePolicy)
+ [AWS Service Catalog AWS 관리형 정책에 대한 Amazon SageMaker AI 업데이트](#security-iam-awsmanpol-sc-updates)

## AWS 관리형 정책: AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy"></a>

이 서비스 역할 정책은 AWS Service Catalog 서비스에서 Amazon SageMaker AI 포트폴리오의 제품을 프로비저닝하는 데 사용됩니다. 이 정책은 AWS CodePipeline, AWS CodeBuild, AWS CodeCommit AWS Glue AWS CloudFormation등을 포함한 일련의 관련 AWS 서비스에 권한을 부여합니다.

`AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy` 정책은 SageMaker AI 콘솔에서 생성된 `AmazonSageMakerServiceCatalogProductsLaunchRole` 역할에서 사용하기 위한 것입니다. 이 정책은 서비스 카탈로그를 사용하여 SageMaker 프로젝트 및 JumpStart에 대한 AWS 리소스를 고객 계정에 프로비저닝할 수 있는 권한을 추가합니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `apigateway` - 역할이 `sagemaker:launch-source`로 태그가 지정된 API Gateway 엔드포인트를 호출할 수 있도록 허용합니다.
+ `cloudformation` - AWS Service Catalog 가 CloudFormation 스택을 생성, 업데이트 및 삭제할 수 있도록 허용합니다. 또한 Service Catalog가 리소스에 태그를 지정하고 태그 지정을 취소하도록 허용합니다.
+ `codebuild` -에서 수임 AWS Service Catalog 하고 CloudFormation에 전달한 역할이 CodeBuild 프로젝트를 생성, 업데이트 및 삭제할 수 있도록 허용합니다.
+ `codecommit` -가 수임 AWS Service Catalog 하고 CloudFormation에 전달한 역할이 CodeCommit 리포지토리를 생성, 업데이트 및 삭제할 수 있도록 허용합니다.
+ `codepipeline` -가 수임 AWS Service Catalog 하고 CloudFormation에 전달한 역할이 CodePipelines을 생성, 업데이트 및 삭제할 수 있도록 허용합니다.
+ `codeconnections`, `codestar-connections`- 역할이 AWS CodeConnections 및 AWS CodeStar 연결을 전달하도록 허용합니다.
+ `cognito-idp` - 역할이 그룹 및 사용자 풀을 생성, 업데이트 및 삭제할 수 있도록 허용합니다. 또한 리소스에 태그를 지정할 수 있습니다.
+ `ecr` -가 수임 AWS Service Catalog 하고 CloudFormation에 전달한 역할이 Amazon ECR 리포지토리를 생성하고 삭제할 수 있도록 허용합니다. 또한 리소스에 태그를 지정할 수 있습니다.
+ `events` -가 수임 AWS Service Catalog 하고 CloudFormation에 전달한 역할이 EventBridge 규칙을 생성하고 삭제할 수 있도록 허용합니다. CICD 파이프라인의 다양한 구성 요소를 하나로 묶는 데 사용됩니다.
+ `firehose` - 역할이 Firehose 스트림과 상호 작용하도록 허용합니다.
+ `glue` - 역할이 상호 작용할 수 있도록 허용합니다 AWS Glue.
+ `iam` - 역할이 `AmazonSageMakerServiceCatalog`이 앞에 붙은 역할을 전달할 수 있도록 허용합니다. 이는 Projects에서 AWS Service Catalog 제품을 프로비저닝할 때 역할을 AWS Service Catalog로 전달해야 하므로 필요합니다.
+ `lambda` - 역할이 AWS Lambda와 상호 작용할 수 있도록 허용합니다. 또한 리소스에 태그를 지정할 수 있습니다.
+ `logs` - 역할이 로그 스트림을 생성, 삭제 및 액세스할 수 있도록 허용합니다.
+ `s3` -가 수임 AWS Service Catalog 하고 CloudFormation에 전달한 역할이 프로젝트 템플릿 코드가 저장된 Amazon S3 버킷에 액세스할 수 있도록 허용합니다.
+ `sagemaker` - 역할이 다양한 SageMaker AI 서비스와 상호 작용할 수 있도록 허용합니다. 이는 템플릿 프로비저닝 중에는 CloudFormation에서, CICD 파이프라인 실행 중에는 CodeBuild에서 모두 수행됩니다. 또한 엔드포인트, 엔드포인트 구성, 모델, 파이프라인, 프로젝트, 모델 패키지 등의 리소스에 태그를 지정할 수 있습니다.
+ `states` - 역할이 앞에 `sagemaker`가 붙은 Step Functions를 생성, 삭제 및 업데이트할 수 있도록 허용합니다.

이 정책의 권한을 보려면 AWS 관리형 정책 참조의 [AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy.html)를 참조하세요.

## AWS 관리형 정책: AmazonSageMakerPartnerServiceCatalogProductsApiGatewayServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsApiGatewayServiceRolePolicy"></a>

이 정책은 Amazon SageMaker AI 포트폴리오의 프로비저닝된 제품 내에서 Amazon API Gateway에서 사용됩니다. AWS Service Catalog Amazon SageMaker 이 정책은 [AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole)이 역할이 필요한 API Gateway에서 생성한 AWS 리소스로 전달하는 IAM 역할에 연결하기 위한 것입니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `lambda` - 파트너 템플릿으로 생성한 함수를 간접 호출합니다.
+ `sagemaker` - 파트너 템플릿으로 생성한 엔드포인트를 간접 호출합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "lambda:InvokeFunction",
      "Resource": "arn:aws:lambda:*:*:function:sagemaker-*",
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:project-name": "false",
          "aws:ResourceTag/sagemaker:partner": "false"
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "sagemaker:InvokeEndpoint",
      "Resource": "arn:aws:sagemaker:*:*:endpoint/*",
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:project-name": "false",
          "aws:ResourceTag/sagemaker:partner": "false"
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    }
  ]
}
```

------

## AWS 관리형 정책: AmazonSageMakerPartnerServiceCatalogProductsCloudFormationServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsCloudFormationServiceRolePolicy"></a>

이 정책은 Amazon SageMaker AI 포트폴리오의 AWS Service Catalog 프로비저닝된 제품 AWS CloudFormation 내에서에서 사용됩니다. 이 정책은 [AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole)이 역할 CloudFormation 이 필요한에서 생성한 AWS 리소스에 전달하는 IAM 역할에 연결하기 위한 것입니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `iam` - `AmazonSageMakerServiceCatalogProductsLambdaRole`및 `AmazonSageMakerServiceCatalogProductsApiGatewayRole`역할을 전달합니다.
+ `lambda` - AWS Lambda 함수를 생성, 업데이트, 삭제 및 호출하고 Lambda 계층의 버전을 검색, 게시 및 삭제합니다.
+ `apigateway` - Amazon API Gateway 리소스를 생성, 업데이트 및 삭제합니다.
+ `s3` - Amazon Simple Simple Simple S3(Amazon S3) 버킷에서 `lambda-auth-code/layer.zip`파일을 검색합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsLambdaRole"
      ],
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "lambda.amazonaws.com"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsApiGatewayRole"
      ],
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "apigateway.amazonaws.com"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "lambda:DeleteFunction",
        "lambda:UpdateFunctionCode",
        "lambda:ListTags",
        "lambda:InvokeFunction"
      ],
      "Resource": [
        "arn:aws:lambda:*:*:function:sagemaker-*"
      ],
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:project-name": "false",
          "aws:ResourceTag/sagemaker:partner": "false"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "lambda:CreateFunction",
        "lambda:TagResource"
      ],
      "Resource": [
        "arn:aws:lambda:*:*:function:sagemaker-*"
      ],
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:project-name": "false",
          "aws:ResourceTag/sagemaker:partner": "false"
        },
        "ForAnyValue:StringEquals": {
          "aws:TagKeys": [
            "sagemaker:project-name",
            "sagemaker:partner"
          ]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "lambda:PublishLayerVersion",
        "lambda:GetLayerVersion",
        "lambda:DeleteLayerVersion",
        "lambda:GetFunction"
      ],
      "Resource": [
        "arn:aws:lambda:*:*:layer:sagemaker-*",
        "arn:aws:lambda:*:*:function:sagemaker-*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "apigateway:GET",
        "apigateway:DELETE",
        "apigateway:PATCH",
        "apigateway:POST",
        "apigateway:PUT"
      ],
      "Resource": [
        "arn:aws:apigateway:*::/restapis/*",
        "arn:aws:apigateway:*::/restapis"
      ],
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:project-name": "false",
          "aws:ResourceTag/sagemaker:partner": "false"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "apigateway:POST",
        "apigateway:PUT"
      ],
      "Resource": [
        "arn:aws:apigateway:*::/restapis",
        "arn:aws:apigateway:*::/tags/*"
      ],
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:project-name": "false",
          "aws:ResourceTag/sagemaker:partner": "false"
        },
        "ForAnyValue:StringEquals": {
          "aws:TagKeys": [
            "sagemaker:project-name",
            "sagemaker:partner"
          ]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::sagemaker-*/lambda-auth-code/layer.zip"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    }
  ]
}
```

------

## AWS 관리형 정책: AmazonSageMakerPartnerServiceCatalogProductsLambdaServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsLambdaServiceRolePolicy"></a>

이 정책은 Amazon SageMaker AI 포트폴리오의 AWS Service Catalog 프로비저닝된 제품 AWS Lambda 내에서에서 사용됩니다. 이 정책은 [AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole)이 역할이 필요한 Lambda에서 생성한 AWS 리소스에 전달하는 IAM 역할에 연결하기 위한 것입니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `secretsmanager` - 파트너 템플릿을 위해 파트너 제공 보안 정보에서 데이터를 검색합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "secretsmanager:GetSecretValue",
      "Resource": "arn:aws:secretsmanager:*:*:secret:*",
      "Condition": {
        "Null": {
          "aws:ResourceTag/sagemaker:partner": false
        },
        "StringEquals": {
          "aws:ResourceAccount": "${aws:PrincipalAccount}"
        }
      }
    }
  ]
}
```

------

## AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsApiGatewayServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsApiGatewayServiceRolePolicy"></a>

이 정책은 Amazon SageMaker AI 포트폴리오의 프로비저닝된 제품 내에서 Amazon API Gateway에서 사용됩니다. AWS Service Catalog Amazon SageMaker 이 정책은 [AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole)이 역할이 필요한 API Gateway에서 생성한 AWS 리소스로 전달하는 IAM 역할에 연결하기 위한 것입니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `logs` - CloudWatch Logs 그룹, 스트림 및 이벤트를 생성 및 읽고, 이벤트를 업데이트하고, 다양한 리소스를 설명합니다.

  이러한 권한은 로그 그룹 접두사가 “aws/apigateway/”로 시작하는 리소스로 제한됩니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogDelivery",
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:DeleteLogDelivery",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams",
        "logs:DescribeResourcePolicies",
        "logs:DescribeDestinations",
        "logs:DescribeExportTasks",
        "logs:DescribeMetricFilters",
        "logs:DescribeQueries",
        "logs:DescribeQueryDefinitions",
        "logs:DescribeSubscriptionFilters",
        "logs:GetLogDelivery",
        "logs:GetLogEvents",
        "logs:PutLogEvents",
        "logs:PutResourcePolicy",
        "logs:UpdateLogDelivery"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/apigateway/*"
    }
  ]
}
```

------

## AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsCloudformationServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCloudformationServiceRolePolicy"></a>

이 정책은 Amazon SageMaker AI 포트폴리오의 AWS Service Catalog 프로비저닝된 제품 AWS CloudFormation 내에서에서 사용됩니다. 이 정책은 [AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole)이 역할 CloudFormation 이 필요한에서 생성한 AWS 리소스로 전달하는 IAM 역할에 연결하기 위한 것입니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `sagemaker` - 도메인, 사용자 프로필, 앱 및 플로우 정의를 제외한 다양한 SageMaker AI 리소스에 대한 액세스를 허용합니다.
+ `iam` - `AmazonSageMakerServiceCatalogProductsCodeBuildRole`및 `AmazonSageMakerServiceCatalogProductsExecutionRole`역할을 전달합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddAssociation",
        "sagemaker:AddTags",
        "sagemaker:AssociateTrialComponent",
        "sagemaker:BatchDescribeModelPackage",
        "sagemaker:BatchGetMetrics",
        "sagemaker:BatchGetRecord",
        "sagemaker:BatchPutMetrics",
        "sagemaker:CreateAction",
        "sagemaker:CreateAlgorithm",
        "sagemaker:CreateApp",
        "sagemaker:CreateAppImageConfig",
        "sagemaker:CreateArtifact",
        "sagemaker:CreateAutoMLJob",
        "sagemaker:CreateCodeRepository",
        "sagemaker:CreateCompilationJob",
        "sagemaker:CreateContext",
        "sagemaker:CreateDataQualityJobDefinition",
        "sagemaker:CreateDeviceFleet",
        "sagemaker:CreateDomain",
        "sagemaker:CreateEdgePackagingJob",
        "sagemaker:CreateEndpoint",
        "sagemaker:CreateEndpointConfig",
        "sagemaker:CreateExperiment",
        "sagemaker:CreateFeatureGroup",
        "sagemaker:CreateFlowDefinition",
        "sagemaker:CreateHumanTaskUi",
        "sagemaker:CreateHyperParameterTuningJob",
        "sagemaker:CreateImage",
        "sagemaker:CreateImageVersion",
        "sagemaker:CreateInferenceRecommendationsJob",
        "sagemaker:CreateLabelingJob",
        "sagemaker:CreateLineageGroupPolicy",
        "sagemaker:CreateModel",
        "sagemaker:CreateModelBiasJobDefinition",
        "sagemaker:CreateModelExplainabilityJobDefinition",
        "sagemaker:CreateModelPackage",
        "sagemaker:CreateModelPackageGroup",
        "sagemaker:CreateModelQualityJobDefinition",
        "sagemaker:CreateMonitoringSchedule",
        "sagemaker:CreateNotebookInstance",
        "sagemaker:CreateNotebookInstanceLifecycleConfig",
        "sagemaker:CreatePipeline",
        "sagemaker:CreatePresignedDomainUrl",
        "sagemaker:CreatePresignedNotebookInstanceUrl",
        "sagemaker:CreateProcessingJob",
        "sagemaker:CreateProject",
        "sagemaker:CreateTrainingJob",
        "sagemaker:CreateTransformJob",
        "sagemaker:CreateTrial",
        "sagemaker:CreateTrialComponent",
        "sagemaker:CreateUserProfile",
        "sagemaker:CreateWorkforce",
        "sagemaker:CreateWorkteam",
        "sagemaker:DeleteAction",
        "sagemaker:DeleteAlgorithm",
        "sagemaker:DeleteApp",
        "sagemaker:DeleteAppImageConfig",
        "sagemaker:DeleteArtifact",
        "sagemaker:DeleteAssociation",
        "sagemaker:DeleteCodeRepository",
        "sagemaker:DeleteContext",
        "sagemaker:DeleteDataQualityJobDefinition",
        "sagemaker:DeleteDeviceFleet",
        "sagemaker:DeleteDomain",
        "sagemaker:DeleteEndpoint",
        "sagemaker:DeleteEndpointConfig",
        "sagemaker:DeleteExperiment",
        "sagemaker:DeleteFeatureGroup",
        "sagemaker:DeleteFlowDefinition",
        "sagemaker:DeleteHumanLoop",
        "sagemaker:DeleteHumanTaskUi",
        "sagemaker:DeleteImage",
        "sagemaker:DeleteImageVersion",
        "sagemaker:DeleteLineageGroupPolicy",
        "sagemaker:DeleteModel",
        "sagemaker:DeleteModelBiasJobDefinition",
        "sagemaker:DeleteModelExplainabilityJobDefinition",
        "sagemaker:DeleteModelPackage",
        "sagemaker:DeleteModelPackageGroup",
        "sagemaker:DeleteModelPackageGroupPolicy",
        "sagemaker:DeleteModelQualityJobDefinition",
        "sagemaker:DeleteMonitoringSchedule",
        "sagemaker:DeleteNotebookInstance",
        "sagemaker:DeleteNotebookInstanceLifecycleConfig",
        "sagemaker:DeletePipeline",
        "sagemaker:DeleteProject",
        "sagemaker:DeleteRecord",
        "sagemaker:DeleteTags",
        "sagemaker:DeleteTrial",
        "sagemaker:DeleteTrialComponent",
        "sagemaker:DeleteUserProfile",
        "sagemaker:DeleteWorkforce",
        "sagemaker:DeleteWorkteam",
        "sagemaker:DeregisterDevices",
        "sagemaker:DescribeAction",
        "sagemaker:DescribeAlgorithm",
        "sagemaker:DescribeApp",
        "sagemaker:DescribeAppImageConfig",
        "sagemaker:DescribeArtifact",
        "sagemaker:DescribeAutoMLJob",
        "sagemaker:DescribeCodeRepository",
        "sagemaker:DescribeCompilationJob",
        "sagemaker:DescribeContext",
        "sagemaker:DescribeDataQualityJobDefinition",
        "sagemaker:DescribeDevice",
        "sagemaker:DescribeDeviceFleet",
        "sagemaker:DescribeDomain",
        "sagemaker:DescribeEdgePackagingJob",
        "sagemaker:DescribeEndpoint",
        "sagemaker:DescribeEndpointConfig",
        "sagemaker:DescribeExperiment",
        "sagemaker:DescribeFeatureGroup",
        "sagemaker:DescribeFlowDefinition",
        "sagemaker:DescribeHumanLoop",
        "sagemaker:DescribeHumanTaskUi",
        "sagemaker:DescribeHyperParameterTuningJob",
        "sagemaker:DescribeImage",
        "sagemaker:DescribeImageVersion",
        "sagemaker:DescribeInferenceRecommendationsJob",
        "sagemaker:DescribeLabelingJob",
        "sagemaker:DescribeLineageGroup",
        "sagemaker:DescribeModel",
        "sagemaker:DescribeModelBiasJobDefinition",
        "sagemaker:DescribeModelExplainabilityJobDefinition",
        "sagemaker:DescribeModelPackage",
        "sagemaker:DescribeModelPackageGroup",
        "sagemaker:DescribeModelQualityJobDefinition",
        "sagemaker:DescribeMonitoringSchedule",
        "sagemaker:DescribeNotebookInstance",
        "sagemaker:DescribeNotebookInstanceLifecycleConfig",
        "sagemaker:DescribePipeline",
        "sagemaker:DescribePipelineDefinitionForExecution",
        "sagemaker:DescribePipelineExecution",
        "sagemaker:DescribeProcessingJob",
        "sagemaker:DescribeProject",
        "sagemaker:DescribeSubscribedWorkteam",
        "sagemaker:DescribeTrainingJob",
        "sagemaker:DescribeTransformJob",
        "sagemaker:DescribeTrial",
        "sagemaker:DescribeTrialComponent",
        "sagemaker:DescribeUserProfile",
        "sagemaker:DescribeWorkforce",
        "sagemaker:DescribeWorkteam",
        "sagemaker:DisableSagemakerServicecatalogPortfolio",
        "sagemaker:DisassociateTrialComponent",
        "sagemaker:EnableSagemakerServicecatalogPortfolio",
        "sagemaker:GetDeviceFleetReport",
        "sagemaker:GetDeviceRegistration",
        "sagemaker:GetLineageGroupPolicy",
        "sagemaker:GetModelPackageGroupPolicy",
        "sagemaker:GetRecord",
        "sagemaker:GetSagemakerServicecatalogPortfolioStatus",
        "sagemaker:GetSearchSuggestions",
        "sagemaker:InvokeEndpoint",
        "sagemaker:InvokeEndpointAsync",
        "sagemaker:ListActions",
        "sagemaker:ListAlgorithms",
        "sagemaker:ListAppImageConfigs",
        "sagemaker:ListApps",
        "sagemaker:ListArtifacts",
        "sagemaker:ListAssociations",
        "sagemaker:ListAutoMLJobs",
        "sagemaker:ListCandidatesForAutoMLJob",
        "sagemaker:ListCodeRepositories",
        "sagemaker:ListCompilationJobs",
        "sagemaker:ListContexts",
        "sagemaker:ListDataQualityJobDefinitions",
        "sagemaker:ListDeviceFleets",
        "sagemaker:ListDevices",
        "sagemaker:ListDomains",
        "sagemaker:ListEdgePackagingJobs",
        "sagemaker:ListEndpointConfigs",
        "sagemaker:ListEndpoints",
        "sagemaker:ListExperiments",
        "sagemaker:ListFeatureGroups",
        "sagemaker:ListFlowDefinitions",
        "sagemaker:ListHumanLoops",
        "sagemaker:ListHumanTaskUis",
        "sagemaker:ListHyperParameterTuningJobs",
        "sagemaker:ListImageVersions",
        "sagemaker:ListImages",
        "sagemaker:ListInferenceRecommendationsJobs",
        "sagemaker:ListLabelingJobs",
        "sagemaker:ListLabelingJobsForWorkteam",
        "sagemaker:ListLineageGroups",
        "sagemaker:ListModelBiasJobDefinitions",
        "sagemaker:ListModelExplainabilityJobDefinitions",
        "sagemaker:ListModelMetadata",
        "sagemaker:ListModelPackageGroups",
        "sagemaker:ListModelPackages",
        "sagemaker:ListModelQualityJobDefinitions",
        "sagemaker:ListModels",
        "sagemaker:ListMonitoringExecutions",
        "sagemaker:ListMonitoringSchedules",
        "sagemaker:ListNotebookInstanceLifecycleConfigs",
        "sagemaker:ListNotebookInstances",
        "sagemaker:ListPipelineExecutionSteps",
        "sagemaker:ListPipelineExecutions",
        "sagemaker:ListPipelineParametersForExecution",
        "sagemaker:ListPipelines",
        "sagemaker:ListProcessingJobs",
        "sagemaker:ListProjects",
        "sagemaker:ListSubscribedWorkteams",
        "sagemaker:ListTags",
        "sagemaker:ListTrainingJobs",
        "sagemaker:ListTrainingJobsForHyperParameterTuningJob",
        "sagemaker:ListTransformJobs",
        "sagemaker:ListTrialComponents",
        "sagemaker:ListTrials",
        "sagemaker:ListUserProfiles",
        "sagemaker:ListWorkforces",
        "sagemaker:ListWorkteams",
        "sagemaker:PutLineageGroupPolicy",
        "sagemaker:PutModelPackageGroupPolicy",
        "sagemaker:PutRecord",
        "sagemaker:QueryLineage",
        "sagemaker:RegisterDevices",
        "sagemaker:RenderUiTemplate",
        "sagemaker:Search",
        "sagemaker:SendHeartbeat",
        "sagemaker:SendPipelineExecutionStepFailure",
        "sagemaker:SendPipelineExecutionStepSuccess",
        "sagemaker:StartHumanLoop",
        "sagemaker:StartMonitoringSchedule",
        "sagemaker:StartNotebookInstance",
        "sagemaker:StartPipelineExecution",
        "sagemaker:StopAutoMLJob",
        "sagemaker:StopCompilationJob",
        "sagemaker:StopEdgePackagingJob",
        "sagemaker:StopHumanLoop",
        "sagemaker:StopHyperParameterTuningJob",
        "sagemaker:StopInferenceRecommendationsJob",
        "sagemaker:StopLabelingJob",
        "sagemaker:StopMonitoringSchedule",
        "sagemaker:StopNotebookInstance",
        "sagemaker:StopPipelineExecution",
        "sagemaker:StopProcessingJob",
        "sagemaker:StopTrainingJob",
        "sagemaker:StopTransformJob",
        "sagemaker:UpdateAction",
        "sagemaker:UpdateAppImageConfig",
        "sagemaker:UpdateArtifact",
        "sagemaker:UpdateCodeRepository",
        "sagemaker:UpdateContext",
        "sagemaker:UpdateDeviceFleet",
        "sagemaker:UpdateDevices",
        "sagemaker:UpdateDomain",
        "sagemaker:UpdateEndpoint",
        "sagemaker:UpdateEndpointWeightsAndCapacities",
        "sagemaker:UpdateExperiment",
        "sagemaker:UpdateImage",
        "sagemaker:UpdateModelPackage",
        "sagemaker:UpdateMonitoringSchedule",
        "sagemaker:UpdateNotebookInstance",
        "sagemaker:UpdateNotebookInstanceLifecycleConfig",
        "sagemaker:UpdatePipeline",
        "sagemaker:UpdatePipelineExecution",
        "sagemaker:UpdateProject",
        "sagemaker:UpdateTrainingJob",
        "sagemaker:UpdateTrial",
        "sagemaker:UpdateTrialComponent",
        "sagemaker:UpdateUserProfile",
        "sagemaker:UpdateWorkforce",
        "sagemaker:UpdateWorkteam"
      ],
      "NotResource": [
        "arn:aws:sagemaker:*:*:domain/*",
        "arn:aws:sagemaker:*:*:user-profile/*",
        "arn:aws:sagemaker:*:*:app/*",
        "arn:aws:sagemaker:*:*:flow-definition/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsCodeBuildRole",
        "arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsExecutionRole"
      ]
    }
  ]
}
```

------

## AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy"></a>

이 정책은 Amazon SageMaker AI 포트폴리오의 AWS Service Catalog 프로비저닝된 제품 AWS CodeBuild 내에서에서 사용됩니다. 이 정책은 [AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole)이 역할이 필요한 CodeBuild에서 생성한 AWS 리소스로 전달하는 IAM 역할에 연결하기 위한 것입니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `sagemaker` - 다양한 SageMaker AI 리소스에 대한 액세스를 허용합니다.
+ `codecommit` - CodeCommit 아카이브를 CodeBuild 파이프라인에 업로드하고, 업로드 상태를 확인하고, 업로드를 취소하고, 브랜치와 커밋 정보를 가져올 수 있습니다. 이러한 권한은 이름이 “sagemaker-”로 시작하는 리소스로만 제한됩니다.
+ `ecr` - Amazon ECR 리포지토리와 컨테이너 이미지를 생성하고 이미지 레이어를 업로드합니다. 이러한 권한은 이름이 “sagemaker-”로 시작하는 리포지토리로만 제한됩니다.

  `ecr` - 모든 리소스를 읽습니다.
+ `iam` - 다음 역할을 전달합니다.
  + `AmazonSageMakerServiceCatalogProductsCloudformationRole` \$1 AWS CloudFormation.
  + `AmazonSageMakerServiceCatalogProductsCodeBuildRole` \$1 AWS CodeBuild.
  + `AmazonSageMakerServiceCatalogProductsCodePipelineRole` \$1 AWS CodePipeline.
  + `AmazonSageMakerServiceCatalogProductsEventsRole` \$1 Amazon EventBridge.
  + Amazon SageMaker AI에 대한 `AmazonSageMakerServiceCatalogProductsExecutionRole`
+ `logs` - CloudWatch Logs 그룹, 스트림 및 이벤트를 생성 및 읽고, 이벤트를 업데이트하고, 다양한 리소스를 설명합니다.

  이러한 권한은 이름 접두사가 “aws/codebuild/”로 시작하는 리소스로 제한됩니다.
+ `s3` - Amazon S3 버킷을 생성하고, 읽고, 나열할 수 있습니다. 이러한 권한은 이름이 “sagemaker-”로 시작하는 버킷으로 제한됩니다.
+ `codeconnections`, `codestar-connections`- AWS CodeConnections 및 AWS CodeStar 연결을 사용합니다.

이 정책의 권한을 보려면 AWS 관리형 정책 참조의 [AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy.html)를 참조하세요.

## AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy"></a>

이 정책은 Amazon SageMaker AI 포트폴리오의 AWS Service Catalog 프로비저닝된 제품 AWS CodePipeline 내에서에서 사용됩니다. 이 정책은 [AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole)이 역할이 필요한 CodePipeline에서 생성한 AWS 리소스로 전달하는 IAM 역할에 연결하기 위한 것입니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `cloudformation` - CloudFormation 스택을 만들고, 읽고, 삭제하고, 업데이트합니다. 변경 세트를 만들고, 읽고, 삭제하고, 실행합니다. 스택 정책을 설정합니다. 리소스에 태그를 지정하고 태그 지정을 취소합니다. 이러한 권한은 이름이 “sagemaker-”로 시작하는 리소스로만 제한됩니다.
+ `s3` - Amazon S3 버킷을 생성, 읽기, 나열 및 삭제하고, 버킷에서 객체를 추가, 읽기 및 삭제하고, CORS 구성을 읽고 설정하고, 액세스 제어 목록(ACL)을 읽고, 버킷이 있는 AWS 리전을 읽습니다.

  이러한 권한은 이름이 “sagemaker-” 또는 “aws-glue-로 시작하는 버킷으로 제한됩니다.
+ `iam` - `AmazonSageMakerServiceCatalogProductsCloudformationRole`역할을 전달합니다.
+ `codebuild` - CodeBuild 빌드 정보를 얻고 빌드를 시작합니다. 이러한 권한은 이름이 “sagemaker-”로 시작하는 프로젝트 및 빌드 리소스로 제한됩니다.
+ `codecommit` - CodeCommit 아카이브를 CodeBuild 파이프라인에 업로드하고, 업로드 상태를 확인하고, 업로드를 취소하고, 브랜치와 커밋 정보를 가져올 수 있습니다.
+ `codeconnections`, `codestar-connections`- AWS CodeConnections 및 AWS CodeStar 연결을 사용합니다.

이 정책의 권한을 보려면 AWS 관리형 정책 참조의 [AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy.html)를 참조하세요.

## AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsEventsServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsEventsServiceRolePolicy"></a>

이 정책은 Amazon SageMaker AI 포트폴리오의 AWS Service Catalog 프로비저닝된 제품 내에서 Amazon EventBridge에서 사용됩니다. Amazon SageMaker 이 정책은 [AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole)이 역할이 필요한 EventBridge에서 생성한 AWS 리소스로 전달하는 IAM 역할에 연결하기 위한 것입니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `codepipeline` - CodeBuild 실행을 시작합니다. 이러한 권한은 이름이 “sagemaker-”로 시작하는 파이프라인으로 제한됩니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codepipeline:StartPipelineExecution",
      "Resource": "arn:aws:codepipeline:*:*:sagemaker-*"
    }
  ]
}
```

------

## AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsFirehoseServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsFirehoseServiceRolePolicy"></a>

이 정책은 Amazon SageMaker AI 포트폴리오의 AWS Service Catalog 프로비저닝된 제품 내에서 Amazon Data Firehose가 사용합니다. Amazon SageMaker 이 정책은 [AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole)이 역할이 필요한 Firehose에서 생성한 AWS 리소스로 전달하는 IAM 역할에 연결하기 위한 것입니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `firehose` – Firehose 레코드를 전송합니다. 이러한 권한은 전송 스트림 이름이 “sagemaker-”로 시작하는 리소스로 제한됩니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "firehose:PutRecord",
        "firehose:PutRecordBatch"
      ],
      "Resource": "arn:aws:firehose:*:*:deliverystream/sagemaker-*"
    }
  ]
}
```

------

## AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsGlueServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsGlueServiceRolePolicy"></a>

이 정책은 AWS Amazon SageMaker AI 포트폴리오의 AWS Service Catalog 프로비저닝 제품 내에서 Glue가 사용합니다. 이 정책은 [AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole)이 역할이 필요한 Glue에서 생성한 AWS 리소스에 전달하는 IAM 역할에 연결하기 위한 것입니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `glue` - AWS Glue 파티션, 테이블 및 테이블 버전을 생성, 읽기 및 삭제합니다. 이러한 권한은 이름이 “sagemaker-”로 시작하는 리소스로만 제한됩니다. AWS Glue 데이터베이스를 생성하고 읽습니다. 이러한 권한은 이름이 “default”, “global\$1temp”이거나 “sagemaker-”로 시작하는 데이터베이스로 제한됩니다. 사용자 지정 함수를 가져옵니다.
+ `s3` - Amazon S3 버킷을 생성, 읽기, 나열 및 삭제하고, 버킷에서 객체를 추가, 읽기 및 삭제하고, CORS 구성을 읽고 설정하고, 액세스 제어 목록(ACL)을 읽고, 버킷이 있는 AWS 리전을 읽습니다.

  이러한 권한은 이름이 “sagemaker-” 또는 “aws-glue-로 시작하는 버킷으로 제한됩니다.
+ `logs` - CloudWatch Logs 로그 그룹, 스트림 및 전송을 생성, 읽기 및 삭제하고 리소스 정책을 생성합니다.

  이러한 권한은 이름 접두사가 “aws/glue/”로 시작하는 리소스로 제한됩니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:BatchCreatePartition",
        "glue:BatchDeletePartition",
        "glue:BatchDeleteTable",
        "glue:BatchDeleteTableVersion",
        "glue:BatchGetPartition",
        "glue:CreateDatabase",
        "glue:CreatePartition",
        "glue:CreateTable",
        "glue:DeletePartition",
        "glue:DeleteTable",
        "glue:DeleteTableVersion",
        "glue:GetDatabase",
        "glue:GetPartition",
        "glue:GetPartitions",
        "glue:GetTable",
        "glue:GetTables",
        "glue:GetTableVersion",
        "glue:GetTableVersions",
        "glue:SearchTables",
        "glue:UpdatePartition",
        "glue:UpdateTable",
        "glue:GetUserDefinedFunctions"
      ],
      "Resource": [
        "arn:aws:glue:*:*:catalog",
        "arn:aws:glue:*:*:database/default",
        "arn:aws:glue:*:*:database/global_temp",
        "arn:aws:glue:*:*:database/sagemaker-*",
        "arn:aws:glue:*:*:table/sagemaker-*",
        "arn:aws:glue:*:*:tableVersion/sagemaker-*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:DeleteBucket",
        "s3:GetBucketAcl",
        "s3:GetBucketCors",
        "s3:GetBucketLocation",
        "s3:ListAllMyBuckets",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:PutBucketCors"
      ],
      "Resource": [
        "arn:aws:s3:::aws-glue-*",
        "arn:aws:s3:::sagemaker-*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::aws-glue-*",
        "arn:aws:s3:::sagemaker-*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogDelivery",
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:DeleteLogDelivery",
        "logs:Describe*",
        "logs:GetLogDelivery",
        "logs:GetLogEvents",
        "logs:ListLogDeliveries",
        "logs:PutLogEvents",
        "logs:PutResourcePolicy",
        "logs:UpdateLogDelivery"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/glue/*"
    }
  ]
}
```

------

## AWS 관리형 정책: AmazonSageMakerServiceCatalogProductsLambdaServiceRolePolicy
<a name="security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsLambdaServiceRolePolicy"></a>

이 정책은 Amazon SageMaker AI 포트폴리오의 AWS Service Catalog 프로비저닝된 제품 AWS Lambda 내에서에서 사용됩니다. 이 정책은 [AmazonSageMakerServiceCatalogProductsLaunchRole](https://console.aws.amazon.com/iam/home?#/roles/AmazonSageMakerServiceCatalogProductsLaunchRole)이 역할이 필요한 Lambda에서 생성한 AWS 리소스로 전달하는 IAM 역할에 연결하기 위한 것입니다.

**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.
+ `sagemaker` - 다양한 SageMaker AI 리소스에 대한 액세스를 허용합니다.
+ `ecr` - Amazon ECR 리포지토리를 생성 및 삭제하고, 컨테이너 이미지를 생성, 읽기 및 삭제하고, 이미지 레이어를 업로드합니다. 이러한 권한은 이름이 “sagemaker-”로 시작하는 리포지토리로만 제한됩니다.
+ `events` - Amazon EventBridge 규칙을 생성, 읽기 및 삭제하고 대상을 생성 및 제거할 수 있습니다. 이러한 권한은 이름이 “sagemaker-”로 시작하는 규칙으로 제한됩니다.
+ `s3` - Amazon S3 버킷을 생성, 읽기, 나열 및 삭제하고, 버킷에서 객체를 추가, 읽기 및 삭제하고, CORS 구성을 읽고 설정하고, 액세스 제어 목록(ACL)을 읽고, 버킷이 있는 AWS 리전을 읽습니다.

  이러한 권한은 이름이 “sagemaker-” 또는 “aws-glue-로 시작하는 버킷으로 제한됩니다.
+ `iam` - `AmazonSageMakerServiceCatalogProductsExecutionRole`역할을 전달합니다.
+ `logs` - CloudWatch Logs 로그 그룹, 스트림 및 전송을 생성, 읽기 및 삭제하고 리소스 정책을 생성합니다.

  이러한 권한은 이름 접두사가 “aws/lambda/”로 시작하는 리소스로 제한됩니다.
+ `codebuild` - AWS CodeBuild 빌드에 대한 정보를 시작하고 가져옵니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid" : "AmazonSageMakerLambdaECRPermission",
      "Effect": "Allow",
      "Action": [
        "ecr:DescribeImages",
        "ecr:BatchDeleteImage",
        "ecr:CompleteLayerUpload",
        "ecr:CreateRepository",
        "ecr:DeleteRepository",
        "ecr:InitiateLayerUpload",
        "ecr:PutImage",
        "ecr:UploadLayerPart"
      ],
      "Resource": [
        "arn:aws:ecr:*:*:repository/sagemaker-*"
      ]
    },
    {
      "Sid" : "AmazonSageMakerLambdaEventBridgePermission",
      "Effect": "Allow",
      "Action": [
        "events:DeleteRule",
        "events:DescribeRule",
        "events:PutRule",
        "events:PutTargets",
        "events:RemoveTargets"
      ],
      "Resource": [
        "arn:aws:events:*:*:rule/sagemaker-*"
      ]
    },
    {
      "Sid" : "AmazonSageMakerLambdaS3BucketPermission",
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:DeleteBucket",
        "s3:GetBucketAcl",
        "s3:GetBucketCors",
        "s3:GetBucketLocation",
        "s3:ListAllMyBuckets",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:PutBucketCors"
      ],
      "Resource": [
        "arn:aws:s3:::aws-glue-*",
        "arn:aws:s3:::sagemaker-*"
      ]
    },
    {
      "Sid" : "AmazonSageMakerLambdaS3ObjectPermission",
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::aws-glue-*",
        "arn:aws:s3:::sagemaker-*"
      ]
    },
    {
      "Sid" : "AmazonSageMakerLambdaSageMakerPermission",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddAssociation",
        "sagemaker:AddTags",
        "sagemaker:AssociateTrialComponent",
        "sagemaker:BatchDescribeModelPackage",
        "sagemaker:BatchGetMetrics",
        "sagemaker:BatchGetRecord",
        "sagemaker:BatchPutMetrics",
        "sagemaker:CreateAction",
        "sagemaker:CreateAlgorithm",
        "sagemaker:CreateApp",
        "sagemaker:CreateAppImageConfig",
        "sagemaker:CreateArtifact",
        "sagemaker:CreateAutoMLJob",
        "sagemaker:CreateCodeRepository",
        "sagemaker:CreateCompilationJob",
        "sagemaker:CreateContext",
        "sagemaker:CreateDataQualityJobDefinition",
        "sagemaker:CreateDeviceFleet",
        "sagemaker:CreateDomain",
        "sagemaker:CreateEdgePackagingJob",
        "sagemaker:CreateEndpoint",
        "sagemaker:CreateEndpointConfig",
        "sagemaker:CreateExperiment",
        "sagemaker:CreateFeatureGroup",
        "sagemaker:CreateFlowDefinition",
        "sagemaker:CreateHumanTaskUi",
        "sagemaker:CreateHyperParameterTuningJob",
        "sagemaker:CreateImage",
        "sagemaker:CreateImageVersion",
        "sagemaker:CreateInferenceRecommendationsJob",
        "sagemaker:CreateLabelingJob",
        "sagemaker:CreateLineageGroupPolicy",
        "sagemaker:CreateModel",
        "sagemaker:CreateModelBiasJobDefinition",
        "sagemaker:CreateModelExplainabilityJobDefinition",
        "sagemaker:CreateModelPackage",
        "sagemaker:CreateModelPackageGroup",
        "sagemaker:CreateModelQualityJobDefinition",
        "sagemaker:CreateMonitoringSchedule",
        "sagemaker:CreateNotebookInstance",
        "sagemaker:CreateNotebookInstanceLifecycleConfig",
        "sagemaker:CreatePipeline",
        "sagemaker:CreatePresignedDomainUrl",
        "sagemaker:CreatePresignedNotebookInstanceUrl",
        "sagemaker:CreateProcessingJob",
        "sagemaker:CreateProject",
        "sagemaker:CreateTrainingJob",
        "sagemaker:CreateTransformJob",
        "sagemaker:CreateTrial",
        "sagemaker:CreateTrialComponent",
        "sagemaker:CreateUserProfile",
        "sagemaker:CreateWorkforce",
        "sagemaker:CreateWorkteam",
        "sagemaker:DeleteAction",
        "sagemaker:DeleteAlgorithm",
        "sagemaker:DeleteApp",
        "sagemaker:DeleteAppImageConfig",
        "sagemaker:DeleteArtifact",
        "sagemaker:DeleteAssociation",
        "sagemaker:DeleteCodeRepository",
        "sagemaker:DeleteContext",
        "sagemaker:DeleteDataQualityJobDefinition",
        "sagemaker:DeleteDeviceFleet",
        "sagemaker:DeleteDomain",
        "sagemaker:DeleteEndpoint",
        "sagemaker:DeleteEndpointConfig",
        "sagemaker:DeleteExperiment",
        "sagemaker:DeleteFeatureGroup",
        "sagemaker:DeleteFlowDefinition",
        "sagemaker:DeleteHumanLoop",
        "sagemaker:DeleteHumanTaskUi",
        "sagemaker:DeleteImage",
        "sagemaker:DeleteImageVersion",
        "sagemaker:DeleteLineageGroupPolicy",
        "sagemaker:DeleteModel",
        "sagemaker:DeleteModelBiasJobDefinition",
        "sagemaker:DeleteModelExplainabilityJobDefinition",
        "sagemaker:DeleteModelPackage",
        "sagemaker:DeleteModelPackageGroup",
        "sagemaker:DeleteModelPackageGroupPolicy",
        "sagemaker:DeleteModelQualityJobDefinition",
        "sagemaker:DeleteMonitoringSchedule",
        "sagemaker:DeleteNotebookInstance",
        "sagemaker:DeleteNotebookInstanceLifecycleConfig",
        "sagemaker:DeletePipeline",
        "sagemaker:DeleteProject",
        "sagemaker:DeleteRecord",
        "sagemaker:DeleteTags",
        "sagemaker:DeleteTrial",
        "sagemaker:DeleteTrialComponent",
        "sagemaker:DeleteUserProfile",
        "sagemaker:DeleteWorkforce",
        "sagemaker:DeleteWorkteam",
        "sagemaker:DeregisterDevices",
        "sagemaker:DescribeAction",
        "sagemaker:DescribeAlgorithm",
        "sagemaker:DescribeApp",
        "sagemaker:DescribeAppImageConfig",
        "sagemaker:DescribeArtifact",
        "sagemaker:DescribeAutoMLJob",
        "sagemaker:DescribeCodeRepository",
        "sagemaker:DescribeCompilationJob",
        "sagemaker:DescribeContext",
        "sagemaker:DescribeDataQualityJobDefinition",
        "sagemaker:DescribeDevice",
        "sagemaker:DescribeDeviceFleet",
        "sagemaker:DescribeDomain",
        "sagemaker:DescribeEdgePackagingJob",
        "sagemaker:DescribeEndpoint",
        "sagemaker:DescribeEndpointConfig",
        "sagemaker:DescribeExperiment",
        "sagemaker:DescribeFeatureGroup",
        "sagemaker:DescribeFlowDefinition",
        "sagemaker:DescribeHumanLoop",
        "sagemaker:DescribeHumanTaskUi",
        "sagemaker:DescribeHyperParameterTuningJob",
        "sagemaker:DescribeImage",
        "sagemaker:DescribeImageVersion",
        "sagemaker:DescribeInferenceRecommendationsJob",
        "sagemaker:DescribeLabelingJob",
        "sagemaker:DescribeLineageGroup",
        "sagemaker:DescribeModel",
        "sagemaker:DescribeModelBiasJobDefinition",
        "sagemaker:DescribeModelExplainabilityJobDefinition",
        "sagemaker:DescribeModelPackage",
        "sagemaker:DescribeModelPackageGroup",
        "sagemaker:DescribeModelQualityJobDefinition",
        "sagemaker:DescribeMonitoringSchedule",
        "sagemaker:DescribeNotebookInstance",
        "sagemaker:DescribeNotebookInstanceLifecycleConfig",
        "sagemaker:DescribePipeline",
        "sagemaker:DescribePipelineDefinitionForExecution",
        "sagemaker:DescribePipelineExecution",
        "sagemaker:DescribeProcessingJob",
        "sagemaker:DescribeProject",
        "sagemaker:DescribeSubscribedWorkteam",
        "sagemaker:DescribeTrainingJob",
        "sagemaker:DescribeTransformJob",
        "sagemaker:DescribeTrial",
        "sagemaker:DescribeTrialComponent",
        "sagemaker:DescribeUserProfile",
        "sagemaker:DescribeWorkforce",
        "sagemaker:DescribeWorkteam",
        "sagemaker:DisableSagemakerServicecatalogPortfolio",
        "sagemaker:DisassociateTrialComponent",
        "sagemaker:EnableSagemakerServicecatalogPortfolio",
        "sagemaker:GetDeviceFleetReport",
        "sagemaker:GetDeviceRegistration",
        "sagemaker:GetLineageGroupPolicy",
        "sagemaker:GetModelPackageGroupPolicy",
        "sagemaker:GetRecord",
        "sagemaker:GetSagemakerServicecatalogPortfolioStatus",
        "sagemaker:GetSearchSuggestions",
        "sagemaker:InvokeEndpoint",
        "sagemaker:InvokeEndpointAsync",
        "sagemaker:ListActions",
        "sagemaker:ListAlgorithms",
        "sagemaker:ListAppImageConfigs",
        "sagemaker:ListApps",
        "sagemaker:ListArtifacts",
        "sagemaker:ListAssociations",
        "sagemaker:ListAutoMLJobs",
        "sagemaker:ListCandidatesForAutoMLJob",
        "sagemaker:ListCodeRepositories",
        "sagemaker:ListCompilationJobs",
        "sagemaker:ListContexts",
        "sagemaker:ListDataQualityJobDefinitions",
        "sagemaker:ListDeviceFleets",
        "sagemaker:ListDevices",
        "sagemaker:ListDomains",
        "sagemaker:ListEdgePackagingJobs",
        "sagemaker:ListEndpointConfigs",
        "sagemaker:ListEndpoints",
        "sagemaker:ListExperiments",
        "sagemaker:ListFeatureGroups",
        "sagemaker:ListFlowDefinitions",
        "sagemaker:ListHumanLoops",
        "sagemaker:ListHumanTaskUis",
        "sagemaker:ListHyperParameterTuningJobs",
        "sagemaker:ListImageVersions",
        "sagemaker:ListImages",
        "sagemaker:ListInferenceRecommendationsJobs",
        "sagemaker:ListLabelingJobs",
        "sagemaker:ListLabelingJobsForWorkteam",
        "sagemaker:ListLineageGroups",
        "sagemaker:ListModelBiasJobDefinitions",
        "sagemaker:ListModelExplainabilityJobDefinitions",
        "sagemaker:ListModelMetadata",
        "sagemaker:ListModelPackageGroups",
        "sagemaker:ListModelPackages",
        "sagemaker:ListModelQualityJobDefinitions",
        "sagemaker:ListModels",
        "sagemaker:ListMonitoringExecutions",
        "sagemaker:ListMonitoringSchedules",
        "sagemaker:ListNotebookInstanceLifecycleConfigs",
        "sagemaker:ListNotebookInstances",
        "sagemaker:ListPipelineExecutionSteps",
        "sagemaker:ListPipelineExecutions",
        "sagemaker:ListPipelineParametersForExecution",
        "sagemaker:ListPipelines",
        "sagemaker:ListProcessingJobs",
        "sagemaker:ListProjects",
        "sagemaker:ListSubscribedWorkteams",
        "sagemaker:ListTags",
        "sagemaker:ListTrainingJobs",
        "sagemaker:ListTrainingJobsForHyperParameterTuningJob",
        "sagemaker:ListTransformJobs",
        "sagemaker:ListTrialComponents",
        "sagemaker:ListTrials",
        "sagemaker:ListUserProfiles",
        "sagemaker:ListWorkforces",
        "sagemaker:ListWorkteams",
        "sagemaker:PutLineageGroupPolicy",
        "sagemaker:PutModelPackageGroupPolicy",
        "sagemaker:PutRecord",
        "sagemaker:QueryLineage",
        "sagemaker:RegisterDevices",
        "sagemaker:RenderUiTemplate",
        "sagemaker:Search",
        "sagemaker:SendHeartbeat",
        "sagemaker:SendPipelineExecutionStepFailure",
        "sagemaker:SendPipelineExecutionStepSuccess",
        "sagemaker:StartHumanLoop",
        "sagemaker:StartMonitoringSchedule",
        "sagemaker:StartNotebookInstance",
        "sagemaker:StartPipelineExecution",
        "sagemaker:StopAutoMLJob",
        "sagemaker:StopCompilationJob",
        "sagemaker:StopEdgePackagingJob",
        "sagemaker:StopHumanLoop",
        "sagemaker:StopHyperParameterTuningJob",
        "sagemaker:StopInferenceRecommendationsJob",
        "sagemaker:StopLabelingJob",
        "sagemaker:StopMonitoringSchedule",
        "sagemaker:StopNotebookInstance",
        "sagemaker:StopPipelineExecution",
        "sagemaker:StopProcessingJob",
        "sagemaker:StopTrainingJob",
        "sagemaker:StopTransformJob",
        "sagemaker:UpdateAction",
        "sagemaker:UpdateAppImageConfig",
        "sagemaker:UpdateArtifact",
        "sagemaker:UpdateCodeRepository",
        "sagemaker:UpdateContext",
        "sagemaker:UpdateDeviceFleet",
        "sagemaker:UpdateDevices",
        "sagemaker:UpdateDomain",
        "sagemaker:UpdateEndpoint",
        "sagemaker:UpdateEndpointWeightsAndCapacities",
        "sagemaker:UpdateExperiment",
        "sagemaker:UpdateImage",
        "sagemaker:UpdateModelPackage",
        "sagemaker:UpdateMonitoringSchedule",
        "sagemaker:UpdateNotebookInstance",
        "sagemaker:UpdateNotebookInstanceLifecycleConfig",
        "sagemaker:UpdatePipeline",
        "sagemaker:UpdatePipelineExecution",
        "sagemaker:UpdateProject",
        "sagemaker:UpdateTrainingJob",
        "sagemaker:UpdateTrial",
        "sagemaker:UpdateTrialComponent",
        "sagemaker:UpdateUserProfile",
        "sagemaker:UpdateWorkforce",
        "sagemaker:UpdateWorkteam"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:action/*",
        "arn:aws:sagemaker:*:*:algorithm/*",
        "arn:aws:sagemaker:*:*:app-image-config/*",
        "arn:aws:sagemaker:*:*:artifact/*",
        "arn:aws:sagemaker:*:*:automl-job/*",
        "arn:aws:sagemaker:*:*:code-repository/*",
        "arn:aws:sagemaker:*:*:compilation-job/*",
        "arn:aws:sagemaker:*:*:context/*",
        "arn:aws:sagemaker:*:*:data-quality-job-definition/*",
        "arn:aws:sagemaker:*:*:device-fleet/*/device/*",
        "arn:aws:sagemaker:*:*:device-fleet/*",
        "arn:aws:sagemaker:*:*:edge-packaging-job/*",
        "arn:aws:sagemaker:*:*:endpoint/*",
        "arn:aws:sagemaker:*:*:endpoint-config/*",
        "arn:aws:sagemaker:*:*:experiment/*",
        "arn:aws:sagemaker:*:*:experiment-trial/*",
        "arn:aws:sagemaker:*:*:experiment-trial-component/*",
        "arn:aws:sagemaker:*:*:feature-group/*",
        "arn:aws:sagemaker:*:*:human-loop/*",
        "arn:aws:sagemaker:*:*:human-task-ui/*",
        "arn:aws:sagemaker:*:*:hyper-parameter-tuning-job/*",
        "arn:aws:sagemaker:*:*:image/*",
        "arn:aws:sagemaker:*:*:image-version/*/*",
        "arn:aws:sagemaker:*:*:inference-recommendations-job/*",
        "arn:aws:sagemaker:*:*:labeling-job/*",
        "arn:aws:sagemaker:*:*:model/*",
        "arn:aws:sagemaker:*:*:model-bias-job-definition/*",
        "arn:aws:sagemaker:*:*:model-explainability-job-definition/*",
        "arn:aws:sagemaker:*:*:model-package/*",
        "arn:aws:sagemaker:*:*:model-package-group/*",
        "arn:aws:sagemaker:*:*:model-quality-job-definition/*",
        "arn:aws:sagemaker:*:*:monitoring-schedule/*",
        "arn:aws:sagemaker:*:*:notebook-instance/*",
        "arn:aws:sagemaker:*:*:notebook-instance-lifecycle-config/*",
        "arn:aws:sagemaker:*:*:pipeline/*",
        "arn:aws:sagemaker:*:*:pipeline/*/execution/*",
        "arn:aws:sagemaker:*:*:processing-job/*",
        "arn:aws:sagemaker:*:*:project/*",
        "arn:aws:sagemaker:*:*:training-job/*",
        "arn:aws:sagemaker:*:*:transform-job/*",
        "arn:aws:sagemaker:*:*:workforce/*",
        "arn:aws:sagemaker:*:*:workteam/*"
      ]
    },
    {
      "Sid" : "AmazonSageMakerLambdaPassRolePermission",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/service-role/AmazonSageMakerServiceCatalogProductsExecutionRole"
      ]
    },
    {
      "Sid" : "AmazonSageMakerLambdaLogPermission",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogDelivery",
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:DeleteLogDelivery",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams",
        "logs:DescribeResourcePolicies",
        "logs:DescribeDestinations",
        "logs:DescribeExportTasks",
        "logs:DescribeMetricFilters",
        "logs:DescribeQueries",
        "logs:DescribeQueryDefinitions",
        "logs:DescribeSubscriptionFilters",
        "logs:GetLogDelivery",
        "logs:GetLogEvents",
        "logs:ListLogDeliveries",
        "logs:PutLogEvents",
        "logs:PutResourcePolicy",
        "logs:UpdateLogDelivery"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/lambda/*"
    },
    {
      "Sid" : "AmazonSageMakerLambdaCodeBuildPermission",
      "Effect": "Allow",
      "Action": [
        "codebuild:StartBuild",
        "codebuild:BatchGetBuilds"
      ],
      "Resource": "arn:aws:codebuild:*:*:project/sagemaker-*",
      "Condition": {
        "StringLike": {
          "aws:ResourceTag/sagemaker:project-name": "*"
        }
      }
    }
  ]
}
```

------

## AWS Service Catalog AWS 관리형 정책에 대한 Amazon SageMaker AI 업데이트
<a name="security-iam-awsmanpol-sc-updates"></a>

이 서비스가 이러한 변경 사항을 추적하기 시작한 이후부터 Amazon SageMaker AI의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다.


| 정책 | 버전 | 변경 | Date | 
| --- | --- | --- | --- | 
|   [AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy) - 업데이트된 정책  | 10 |  `codestar-connections:PassConnection` 및 `codeconnections:PassConnection` 권한이 업데이트되었습니다.  | 2025년 9월 27일 | 
|   [AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy) - 정책 업데이트  | 3 |  `codestar-connections:UseConnection` 및 `codeconnections:UseConnection` 권한이 업데이트되었습니다.  | 2025년 9월 27일 | 
|   [AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy) - 정책 업데이트  | 3 |  `codestar-connections:UseConnection` 및 `codeconnections:UseConnection` 권한이 업데이트되었습니다.  | 2025년 9월 27일 | 
|   [AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy) - 정책 업데이트  | 9 |  `cloudformation:TagResource`, `cloudformation:UntagResource`및 `codeconnections:PassConnection`권한 추가.  | 2024년 7월 1일 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 업데이트된 정책 | 7 |  정책을 버전 7(v7)로 롤백합니다. `cloudformation:TagResource`, `cloudformation:UntagResource` 및 `codeconnections:PassConnection` 권한을 제거합니다.  | 2024년 6월 12일 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 업데이트된 정책 | 8 |  `cloudformation:TagResource`, `cloudformation:UntagResource`및 `codeconnections:PassConnection`권한 추가.  | 2024년 6월 11일 | 
|   [AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy) - 업데이트된 정책  | 2 |  `codestar-connections:UseConnection` 및 `codeconnections:UseConnection`권한을 추가합니다.  | 2024년 6월 11일 | 
|   [AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy) - 업데이트된 정책  | 2 |  `cloudformation:TagResource`, `cloudformation:UntagResource`, `codestar-connections:UseConnection` 및 `codeconnections:UseConnection` 권한을 추가합니다.  | 2024년 6월 11일 | 
|   [AmazonSageMakerServiceCatalogProductsLambdaServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsLambdaServiceRolePolicy) - 업데이트된 정책  | 2 |  `codebuild:StartBuild` 및 `codebuild:BatchGetBuilds`권한을 추가합니다.  | 2024년 6월 11일 | 
|   [AmazonSageMakerPartnerServiceCatalogProductsApiGatewayServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsApiGatewayServiceRolePolicy)  | 1 | 초기 정책 | 2023년 8월 1일 | 
|   [AmazonSageMakerPartnerServiceCatalogProductsCloudFormationServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsCloudFormationServiceRolePolicy)  | 1 | 초기 정책 | 2023년 8월 1일 | 
|   [AmazonSageMakerPartnerServiceCatalogProductsLambdaServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerPartnerServiceCatalogProductsLambdaServiceRolePolicy)  | 1 | 초기 정책 | 2023년 8월 1일 | 
|   [AmazonSageMakerServiceCatalogProductsGlueServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsGlueServiceRolePolicy) - 업데이트된 정책  | 2 |  `glue:GetUserDefinedFunctions`에 대한 권한을 추가합니다.  | 2022년 8월 26일 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 업데이트된 정책 | 7 |  `sagemaker:AddTags`에 대한 권한을 추가합니다.  | 2022년 8월 2일 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 업데이트된 정책 | 6 |  `lambda:TagResource`에 대한 권한을 추가합니다.  | 2022년 7월 14일 | 
| AmazonSageMakerServiceCatalogProductsLambdaServiceRolePolicy | 1 |  초기 정책  | 2022년 4월 4일 | 
|   [AmazonSageMakerServiceCatalogProductsApiGatewayServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsApiGatewayServiceRolePolicy)  | 1 |  초기 정책  | 2022년 3월 24일 | 
|   [AmazonSageMakerServiceCatalogProductsCloudformationServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsCloudformationServiceRolePolicy)  | 1 |  초기 정책  | 2022년 3월 24일 | 
| AmazonSageMakerServiceCatalogProductsCodeBuildServiceRolePolicy | 1 |  초기 정책  | 2022년 3월 24일 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 업데이트된 정책 | 5 |  `ecr-idp:TagResource`에 대한 권한을 추가합니다.  | 2022년 3월 21일 | 
| AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy | 1 |  초기 정책  | 2022년 2월 22일 | 
|   [AmazonSageMakerServiceCatalogProductsEventsServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsEventsServiceRolePolicy)  | 1 |  초기 정책  | 2022년 2월 22일 | 
|   [AmazonSageMakerServiceCatalogProductsFirehoseServiceRolePolicy](#security-iam-awsmanpol-AmazonSageMakerServiceCatalogProductsFirehoseServiceRolePolicy)  | 1 |  초기 정책  | 2022년 2월 22일 | 
| AmazonSageMakerServiceCatalogProductsGlueServiceRolePolicy | 1 |  초기 정책  | 2022년 2월 22일 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 업데이트된 정책 | 4 |  `cognito-idp:TagResource` 및 `s3:PutBucketCORS`에 대한 권한을 추가합니다.  | 2022년 2월 16일 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 업데이트된 정책 | 3 |  `sagemaker`에 대한 새 권한을 추가합니다. SageMaker 이미지를 생성하고, 읽고, 업데이트하고, 삭제합니다.  | 2021년 9월 15일 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy - 업데이트된 정책 | 2 |  `sagemaker` 및 `codestar-connections`에 대한 권한을 추가합니다. 코드 리포지토리 생성, 읽기, 업데이트 및 삭제합니다.  AWS CodeStar 연결을에 전달합니다 AWS CodePipeline.  | 2021년 7월 1일 | 
| AmazonSageMakerAdmin-ServiceCatalogProductsServiceRolePolicy | 1 | 초기 정책 | 2020년 11월 27일 | 

## AWS 관리형 정책에 대한 SageMaker AI 업데이트
<a name="security-iam-awsmanpol-updates"></a>

이 서비스가 이러한 변경 사항을 추적하기 시작한 이후부터 SageMaker AI의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다.


| 정책 | 버전 | 변경 | Date | 
| --- | --- | --- | --- | 
| [AmazonSageMakerFullAccess](#security-iam-awsmanpol-AmazonSageMakerFullAccess) - 기존 정책에 대한 업데이트 | 27 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/security-iam-awsmanpol.html)  | 2024년 12월 4일 | 
| [AmazonSageMakerFullAccess](#security-iam-awsmanpol-AmazonSageMakerFullAccess) - 기존 정책에 대한 업데이트 | 26 |  `sagemaker:AddTags` 권한을 추가합니다.  | 2024년 3월 29일 | 
| AmazonSageMakerFullAccess - 기존 정책에 대한 업데이트 | 25 |  `sagemaker:CreateApp`, `sagemaker:DescribeApp`, `sagemaker:DeleteApp`, `sagemaker:CreateSpace`, `sagemaker:UpdateSpace`, `sagemaker:DeleteSpace`, `s3express:CreateSession`, `s3express:CreateBucket` 및 `s3express:ListAllMyDirectoryBuckets` 권한을 추가합니다.  | 2023년 11월 30일 | 
| AmazonSageMakerFullAccess - 기존 정책에 대한 업데이트 | 24 |  `sagemaker-geospatial:*`, `sagemaker:AddTags`, `sagemaker-ListTags`, `sagemaker-DescribeSpace`및 `sagemaker:ListSpaces`권한을 추가합니다.  | 2022년 11월 30일 | 
| AmazonSageMakerFullAccess - 기존 정책에 대한 업데이트 | 23 |  `glue:UpdateTable`를 추가합니다.  | 2022년 6월 29일 | 
| AmazonSageMakerFullAccess - 기존 정책에 대한 업데이트 | 22 |  `cloudformation:ListStackResources`를 추가합니다.  | 2022년 5월 1일 | 
| [AmazonSageMakerReadOnly](#security-iam-awsmanpol-AmazonSageMakerReadOnly) - 기존 정책에 대한 업데이트 | 11 |  `sagemaker:QueryLineage`, `sagemaker:GetLineageGroupPolicy`, `sagemaker:BatchDescribeModelPackage`및 `sagemaker:GetModelPackageGroupPolicy`권한을 추가합니다.  | 2021년 12월 1일 | 
| AmazonSageMakerFullAccess - 기존 정책에 대한 업데이트 | 21 |  비동기 추론이 활성화된 엔드포인트에 대한 `sns:Publish`권한을 추가합니다.  | 2021년 9월 8일 | 
| AmazonSageMakerFullAccess - 기존 정책에 대한 업데이트 | 20 |  `iam:PassRole` 리소스 및 권한을 업데이트합니다.  |  2021년 7월 15일  | 
| AmazonSageMakerReadOnly - 기존 정책에 대한 업데이트 | 10 |  SageMaker AI Feature Store 새 API `BatchGetRecord`가 추가되었습니다.  | 2021년 6월 10일 | 
|  |  |  SageMaker AI는 AWS 관리형 정책에 대한 변경 사항 추적을 시작했습니다.  | 2021년 6월 1일 | 

# Amazon SageMaker AI ID 및 액세스 문제 해결
<a name="security_iam_troubleshoot"></a>

다음 정보를 사용하여 SageMaker AI 및 IAM에서 발생할 수 있는 공통적인 문제를 진단하고 수정할 수 있습니다.

**Topics**
+ [SageMaker AI에서 작업을 수행할 권한이 없음](#security_iam_troubleshoot-no-permissions)
+ [`iam:PassRole`을 수행할 권한이 없음](#security_iam_troubleshoot-passrole)
+ [내 AWS 계정 외부의 사람이 내 SageMaker AI 리소스에 액세스하도록 허용하고 싶습니다.](#security_iam_troubleshoot-cross-account-access)

## SageMaker AI에서 작업을 수행할 권한이 없음
<a name="security_iam_troubleshoot-no-permissions"></a>

에서 작업을 수행할 권한이 없다는 AWS Management Console 메시지가 표시되면 관리자에게 문의하여 도움을 받아야 합니다. 관리자는 로그인 보안 인증 정보를 제공한 사람입니다.

다음 예제 오류는 `mateojackson`IAM 사용자가 콘솔을 사용하여 훈련 작업에 대한 세부 정보를 보려고 하지만 `sagemaker:sagemaker:DescribeTrainingJob`권한이 없는 경우에 발생합니다.

```
User: arn:aws:iam::123456789012:user/mateojackson is not
            authorized to perform: sagemaker:DescribeTrainingJob on resource: my-example-widget
```

이 경우 Mateo는 `TrainingJob`작업을 사용하여 `sagemaker:DescribeTrainingJob`리소스에 액세스하도록 허용하는 정책을 업데이트하라고 관리자에게 요청합니다.

## `iam:PassRole`을 수행할 권한이 없음
<a name="security_iam_troubleshoot-passrole"></a>

`iam:PassRole` 작업을 수행할 수 있는 권한이 없다는 오류가 수신되면 SageMaker AI에 역할을 전달할 수 있도록 정책을 업데이트해야 합니다.

일부 AWS 서비스 에서는 새 서비스 역할 또는 서비스 연결 역할을 생성하는 대신 기존 역할을 해당 서비스에 전달할 수 있습니다. 이렇게 하려면 역할을 서비스에 전달할 권한이 있어야 합니다.

다음 예시 오류는 `marymajor`라는 IAM 사용자가 콘솔을 사용하여 SageMaker AI에서 작업을 수행하려고 하는 경우에 발생합니다. 하지만 작업을 수행하려면 서비스 역할이 부여한 권한이 서비스에 있어야 합니다. Mary는 역할을 서비스에 전달할 권한이 없습니다.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

이 경우, Mary가 `iam:PassRole`작업을 수행할 수 있도록 Mary의 정책을 업데이트해야 합니다.

도움이 필요한 경우 AWS 관리자에게 문의하세요. 관리자는 로그인 자격 증명을 제공한 사람입니다.

## 내 AWS 계정 외부의 사람이 내 SageMaker AI 리소스에 액세스하도록 허용하고 싶습니다.
<a name="security_iam_troubleshoot-cross-account-access"></a>

다른 계정의 사용자 또는 조직 외부의 사람이 리소스에 액세스할 때 사용할 수 있는 역할을 생성할 수 있습니다. 역할을 수임할 신뢰할 수 있는 사람을 지정할 수 있습니다. 리소스 기반 정책 또는 액세스 제어 목록(ACL)을 지원하는 서비스의 경우, 이러한 정책을 사용하여 다른 사람에게 리소스에 대한 액세스 권한을 부여할 수 있습니다.

자세한 내용은 다음을 참조하세요.
+ SageMaker AI에서 이러한 기능을 지원하는지 알아보려면 [Amazon SageMaker AI에서 IAM을 사용하는 방법](security_iam_service-with-iam.md) 섹션을 참조하세요.
+ 소유 AWS 계정 한의 리소스에 대한 액세스 권한을 제공하는 방법을 알아보려면 [IAM 사용 설명서의 소유한 다른의 IAM 사용자에게 액세스 권한 제공을 참조 AWS 계정 하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html). ** 
+ 타사에 리소스에 대한 액세스 권한을 제공하는 방법을 알아보려면 *IAM 사용 설명서*의 [타사가 AWS 계정 소유한에 대한 액세스 권한 제공을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) AWS 계정참조하세요.
+ ID 페더레이션을 통해 액세스 권한을 제공하는 방법을 알아보려면 *IAM 사용 설명서*의 [외부에서 인증된 사용자에게 액세스 권한 제공(ID 페더레이션)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html)을 참조하세요.
+ 크로스 계정 액세스에 대한 역할과 리소스 기반 정책 사용의 차이점을 알아보려면 *IAM 사용 설명서*의 [IAM의 크로스 계정 리소스 액세스](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)를 참조하세요.