기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon SageMaker AI는 다른 AWS 서비스를 사용하여 사용자를 대신하여 작업을 수행합니다. 이러한 서비스와 해당 서비스에서 작동하는 리소스를 사용할 수 있는 권한을 SageMaker AI에 부여해야 합니다. AWS Identity and Access Management (IAM) 실행 역할을 사용하여 SageMaker AI에 이러한 권한을 부여합니다. IAM 역할에 대한 자세한 내용은 IAM 역할을 참조하세요.
실행 역할을 생성 및 사용하기 위해 다음 절차를 사용할 수 있습니다.
실행 역할 생성
다음 절차를 사용하여 IAM 관리형 정책 AmazonSageMakerFullAccess
가 연결된 실행 역할을 생성합니다. 사용 사례에 더 세분화된 권한이 필요한 경우 이 페이지의 다른 섹션을 사용하여 비즈니스 요구 사항에 맞는 실행 역할을 생성하세요. SageMaker AI 콘솔 또는를 사용하여 실행 역할을 생성할 수 있습니다 AWS CLI.
중요
다음 절차에서 사용되는 IAM 관리형 정책 AmazonSageMakerFullAccess
는 이름에 SageMaker
, Sagemaker
, sagemaker
또는 aws-glue
가 포함된 버킷 또는 객체에 대해 특정 Amazon S3 작업을 수행할 수 있는 실행 역할 권한만 부여합니다. 실행 역할에 정책을 추가하여 다른 Amazon S3 버킷 및 객체에 대한 액세스 권한을 부여하는 방법을 알아보려면 SageMaker AI 실행 역할에 추가 Amazon S3 권한 추가섹션을 참조하세요.
참고
SageMaker AI 도메인 또는 노트북 인스턴스를 생성할 때 직접 실행 역할을 생성할 수 있습니다.
-
SageMaker AI 도메인을 생성하는 방법에 대한 자세한 내용은 섹션을 참조하세요Amazon SageMaker AI 설정 가이드.
-
노트북 인스턴스를 생성하는 방법에 대한 자세한 내용은 자습서를 위해 Amazon SageMaker 노트북 인스턴스 만들기섹션을 참조하세요.
SageMaker AI 콘솔에서 새 실행 역할을 생성하려면
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
역할을 선택한 다음 역할 생성을 선택합니다.
-
AWS 서비스를 신뢰할 수 있는 엔터티 유형으로 유지한 다음 아래쪽 화살표를 사용하여 다른 AWS 서비스의 사용 사례에서 SageMaker AI를 찾습니다.
-
SageMaker AI – 실행을 선택한 후 다음을 선택합니다.
-
IAM 관리형 정책
AmazonSageMakerFullAccess
는 역할에 자동으로 연결됩니다. 이 정책에 포함된 권한을 보려면 정책 이름 옆에 있는 더하기(+) 기호를 선택합니다. Next(다음)를 선택합니다. -
역할 이름 및 설명을 입력합니다.
-
(선택 사항) 추가 권한 및 태그를 역할에 추가합니다.
-
역할 생성을 선택합니다.
-
IAM 콘솔의 역할 섹션에서 방금 생성한 역할을 찾습니다. 필요한 경우 텍스트 상자에서 역할 이름을 사용하여 역할을 검색하세요.
-
역할 요약 페이지에서 ARN의 값을 메모해 둡니다.
AWS CLI에서 새 실행 역할을 생성하려면
를 사용하여 실행 역할을 생성하기 전에 AWS CLI의 지침에 따라 실행 역할을 업데이트하고 구성한 다음 (선택 사항) 구성 AWS CLI의 지침을 계속 진행합니다를 사용한 사용자 지정 설정 AWS CLI.
실행 역할을 생성한 후에는 이를 SageMaker AI 도메인, 사용자 프로필 또는 Jupyter 노트북 인스턴스와 연결할 수 있습니다.
-
실행 역할을 기존 SageMaker AI 도메인과 연결하는 방법에 대한 자세한 내용은 섹션을 참조하세요도메인 설정 편집.
-
실행 역할을 기존 사용자 프로필과 연결하는 방법에 대해 알아보려면 사용자 프로필 추가섹션을 참조하세요.
-
실행 역할을 기존 노트북 인스턴스와 연결하는 방법에 대해 알아보려면 노트북 인스턴스 업데이트섹션을 참조하세요.
실행 역할의 ARN을 API 직접 호출에 전달할 수도 있습니다. 예를 들어 Amazon SageMaker Python SDK
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 권한 추가
입력 데이터와 같은 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 기능에 대한 보안 설명서를 참조하세요.
{ "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
" ] } ] }
실행 역할을 가져옵니다.
SageMaker AI 콘솔
도메인 실행 역할 가져오기
다음은 도메인의 실행 역할을 찾는 방법에 대한 지침을 제공합니다.
도메인에 연결된 실행 역할 찾기
-
SageMaker AI 콘솔, https://console.aws.amazon.com/sagemaker/
엽니다. -
왼쪽 탐색 창에서 관리자 구성 아래의 도메인을 선택합니다.
-
도메인에 해당하는 링크를 선택합니다.
-
도메인 설정 탭을 선택합니다.
-
일반 설정 섹션에서 실행 역할 ARN은 실행 역할 아래에 나열되어 있습니다.
실행 역할 이름은 실행 역할 ARN의 마지막
/
뒤에 있습니다.
공간 실행 역할 가져오기
다음은 공간의 실행 역할을 찾는 방법에 대한 지침을 제공합니다.
공간에 연결된 실행 역할 찾기
-
SageMaker AI 콘솔, https://console.aws.amazon.com/sagemaker/
엽니다. -
왼쪽 탐색 창에서 관리자 구성 아래의 도메인을 선택합니다.
-
도메인에 해당하는 링크를 선택합니다.
-
공간 관리 탭을 선택합니다.
-
세부 정보 섹션에서 실행 역할 ARN은 실행 역할 아래에 나열되어 있습니다.
실행 역할 이름은 실행 역할 ARN의 마지막
/
뒤에 있습니다.
참고
다음 코드는 Amazon SageMaker Studio의 모든 IDEs와 같은 SageMaker AI 환경에서 실행하기 위한 것입니다. Amazon SageMaker SageMaker AI 환경 get_execution_role
외부에서를 실행하면 오류가 발생합니다.
다음 get_execution_role
from sagemaker import get_execution_role
role = get_execution_role()
print(role)
실행 역할 이름은 실행 역할 ARN의 마지막 /
뒤에 있습니다.
사용자 실행 역할 가져오기
다음은 사용자의 실행 역할을 찾는 방법에 대한 지침을 제공합니다.
사용자에게 연결된 실행 역할 찾기
-
SageMaker AI 콘솔, https://console.aws.amazon.com/sagemaker/
엽니다. -
왼쪽 탐색 창에서 관리자 구성 아래의 도메인을 선택합니다.
-
도메인에 해당하는 링크를 선택합니다.
-
사용자 프로필 탭을 선택합니다.
-
사용자에 해당하는 링크를 선택합니다.
-
세부 정보 섹션에서 실행 역할 ARN은 실행 역할 아래에 나열되어 있습니다.
실행 역할 이름은 실행 역할 ARN의 마지막
/
뒤에 있습니다.
참고
다음 예제를 사용하려면 AWS Command Line Interface (AWS CLI)를 설치하고 구성해야 합니다. 자세한 내용은 AWS Command Line Interface 버전 2 사용 설명서에서 Get started with the AWS CLI를 참조하세요.
다음 get-caller-identity
aws sts get-caller-identity
실행 역할 이름은 실행 역할 ARN의 마지막 /
뒤에 있습니다.
실행 역할 변경
실행 역할은 SageMaker AI 자격 증명(예: SageMaker AI 사용자, 스페이스 또는 도메인)이 수임하는 IAM 역할입니다. IAM 역할을 변경하면 해당 역할을 수임하는 모든 ID의 권한이 변경됩니다.
실행 역할을 변경하면 해당 공간의 실행 역할도 변경됩니다. 변경의 영향이 전파되는 데 다소 시간이 걸릴 수 있습니다.
-
사용자의 실행 역할을 변경하면 해당 사용자가 만든 프라이빗 공간이 변경된 실행 역할을 수임합니다.
-
공간의 기본 실행 역할을 변경하면 도메인의 공유 공간이 변경된 실행 역할을 수임합니다.
실행 역할 및 공간에 대한 자세한 내용은 도메인 공간 권한 및 실행 역할 이해 섹션을 참조하세요.
다음 지침 중 하나를 사용하여 ID의 실행 역할을 다른 IAM 역할로 변경할 수 있습니다.
대신 ID가 수임하는 역할을 수정하려면 실행 역할에 대한 권한 수정 섹션을 참조하세요.
도메인 기본 실행 역할 변경
다음은 도메인의 기본 실행 역할을 변경하는 방법에 대한 지침을 제공합니다.
도메인에 연결된 기본 실행 역할 변경
-
SageMaker AI 콘솔, https://console.aws.amazon.com/sagemaker/
엽니다. -
왼쪽 탐색 창에서 관리자 구성 아래의 도메인을 선택합니다.
-
도메인에 해당하는 링크를 선택합니다.
-
도메인 설정 탭을 선택합니다.
-
일반 설정 섹션에서 편집을 선택합니다.
-
권한 섹션의 기본 실행 역할에서 드롭다운 목록을 확장합니다.
-
드롭다운 목록에서 기존 역할을 선택하거나 사용자 지정 IAM 역할 ARN을 입력하거나 새 역할을 만들 수 있습니다.
새 역할을 만들려면 역할 만들기 마법사를 사용하여 역할 만들기를 선택할 수 있습니다.
-
다음 단계에서 다음을 선택하고 마지막 단계에서 제출을 선택합니다.
공간 기본 실행 역할 변경
다음은 공간의 기본 실행 역할을 변경하는 방법에 대한 지침을 제공합니다. 이 실행 역할을 변경하면 도메인의 모든 공유 공간이 수임하는 역할이 변경됩니다.
새 공간을 만들 때의 공간 기본 실행 역할 변경
-
SageMaker AI 콘솔, https://console.aws.amazon.com/sagemaker/
엽니다. -
왼쪽 탐색 창에서 관리자 구성 아래의 도메인을 선택합니다.
-
도메인에 해당하는 링크를 선택합니다.
-
도메인 설정 탭을 선택합니다.
-
일반 설정 섹션에서 편집을 선택합니다.
-
권한 섹션의 공간 기본 실행 역할에서 드롭다운 목록을 확장합니다.
-
드롭다운 목록에서 기존 역할을 선택하거나 사용자 지정 IAM 역할 ARN을 입력하거나 새 역할을 만들 수 있습니다.
새 역할을 만들려면 역할 만들기 마법사를 사용하여 역할 만들기를 선택할 수 있습니다.
-
다음 단계에서 다음을 선택하고 마지막 단계에서 제출을 선택합니다.
사용자 프로필 실행 역할 변경
다음은 사용자의 실행 역할을 변경하는 방법에 대한 지침을 제공합니다. 이 실행 역할을 변경하면 이 사용자가 만든 모든 프라이빗 공간에서 수임하는 역할이 변경됩니다.
사용자에게 연결된 실행 역할 변경
-
SageMaker AI 콘솔, https://console.aws.amazon.com/sagemaker/
엽니다. -
왼쪽 탐색 창에서 관리자 구성 아래의 도메인을 선택합니다.
-
도메인에 해당하는 링크를 선택합니다.
-
사용자 프로필 탭을 선택합니다.
-
사용자 프로필 이름에 해당하는 링크를 선택합니다.
-
편집을 선택합니다.
-
드롭다운 목록에서 기존 역할을 선택하거나 사용자 지정 IAM 역할 ARN을 입력하거나 새 역할을 만들 수 있습니다.
새 역할을 만들려면 역할 만들기 마법사를 사용하여 역할 만들기를 선택할 수 있습니다.
-
다음 단계에서 다음을 선택하고 마지막 단계에서 제출을 선택합니다.
실행 역할에 대한 권한 수정
자격 증명의 실행 역할(예: SageMaker AI 사용자, 스페이스 또는 도메인)에 대한 기존 권한을 수정할 수 있습니다. 이는 ID가 수임하는 적절한 IAM 역할을 찾은 다음 해당 IAM 역할을 수정하여 수행됩니다. 다음은 콘솔을 통해 이를 달성하는 방법에 대한 지침을 제공합니다.
실행 역할을 수정하면 해당 공간의 실행 역할도 변경됩니다. 변경의 영향은 즉각적이지 않을 수 있습니다.
-
사용자의 실행 역할을 수정하면 해당 사용자가 만든 프라이빗 공간이 수정된 실행 역할을 수임합니다.
-
공간의 기본 실행 역할을 수정하면 도메인의 공유 공간이 수정된 실행 역할을 수임합니다.
실행 역할 및 공간에 대한 자세한 내용은 도메인 공간 권한 및 실행 역할 이해 섹션을 참조하세요.
대신 ID가 수임하는 역할을 변경하려면 실행 역할 변경 섹션을 참조하세요.
실행 역할에 대한 권한을 수정하는 방법
-
먼저 수정하려는 ID의 이름을 가져옵니다.
-
ID가 수임하는 역할을 수정하려면 AWS Identity and Access Management 사용 설명서의 Modifying a role을 참조하세요.
IAM ID에 권한 추가에 대한 자세한 내용과 지침은 AWS Identity and Access Management 사용 설명서의 Add or remove identity permissions를 참조하세요.
역할 전달
서비스 간에 역할을 전달하는 등의 작업은 SageMaker AI 내에서 일반적인 함수입니다. SageMaker AI에 대한 작업, 리소스 및 조건 키에 대한 자세한 내용은 서비스 승인 참조에서 확인할 수 있습니다.
CreateAutoMLJob
, CreateCompilationJob
, CreateDomain
, CreateFeatureGroup
, CreateFlowDefiniton
, CreateHyperParameterTuningJob
, CreateImage
, CreateLabelingJob
, CreateModel
, CreateMonitoringSchedule
, CreateNotebookInstance
, CreateProcessingJob
, CreateTrainingJob
, CreateUserProfile
, RenderUiTemplate
, UpdateImage
, UpdateNotebookInstance
API 직접 호출을 수행할 때 역할(iam:PassRole
)을 전달합니다.
SageMaker AI 보안 주체에게 역할을 수임할 수 있는 권한을 부여하는 IAM 역할에 다음 신뢰 정책을 연결합니다.이 정책은 모든 실행 역할에 대해 동일합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "sagemaker.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
역할에 부여해야 하는 권한은 호출하는 API에 따라 다릅니다. 다음 섹션에서는 이러한 권한을 설명합니다.
참고
권한 정책을 생성하여 권한을 관리하는 대신 AWS관리형 AmazonSageMakerFullAccess
권한 정책을 사용할 수 있습니다. 이 정책의 권한은 상당히 광범위하여 SageMaker AI에서 수행하려는 모든 작업을 허용합니다. 다양한 권한이 추가된 이유를 포함하여 정책 목록에 대한 내용은 AWS 관리형 정책: AmazonSageMakerFullAccess섹션을 참조하세요. 사용자 지정 정책을 생성하고 권한 관리하여 실행 역할에서 수행해야 하는 작업으로만 권한을 제한하려면 다음 주제를 참조하세요.
중요
문제가 발생하는 경우 Amazon SageMaker AI 자격 증명 및 액세스 문제 해결섹션을 참조하세요.
IAM 역할에 대한 자세한 내용은 Service Authorization Reference의 IAM 역할을 참조하세요.
주제
CreateAutoMLJob 및 CreateAutoMLJobV2 API: 실행 역할 권한
CreateAutoMLJob
또는 CreateAutoMLJobV2
API 요청에서 전달할 수 있는 실행 역할에 대해 다음 최소 권한 정책을 역할에 연결합니다.
{
"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: 실행 역할 권한
IAM Identity Center가 있는 도메인의 실행 역할과 IAM 도메인의 사용자/실행 역할에는 CreateDomain
API 요청KmsKeyId
에서 AWS KMS 고객 관리형 키를 로 전달할 때 다음 권한이 필요합니다. 권한은 CreateApp
API 직접 호출 중에 적용됩니다.
CreateDomain
API 요청에서 전달할 수 있는 실행 역할에 대해 다음 권한 정책을 역할에 연결합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant",
"kms:DescribeKey"
],
"Resource": "arn:aws:kms:region
:account-id
:key/kms-key-id
"
}
]
}
또는 KMS 정책에 권한이 지정된 경우 다음 정책을 역할에 연결할 수 있습니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::account-id
:role/ExecutionRole
"
]
},
"Action": [
"kms:CreateGrant",
"kms:DescribeKey"
],
"Resource": "*"
}
]
}
CreateImage 및 UpdateImage APIs: 실행 역할 권한
CreateImage
또는 UpdateImage
API 요청에서 전달할 수 있는 실행 역할에 대해 다음 권한 정책을 역할에 연결합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer"
],
"Resource": "*"
}
]
}
CreateNotebookInstance API: 실행 역할 권한
CreateNotebookInstance
API 호출에 대한 실행 역할을 부여하는 권한은 노트북 인스턴스로 무엇을 할 계획인지에 따라 다릅니다. SageMaker AI APIs를 호출하고 CreateTrainingJob
및 API를 호출할 때 동일한 역할을 전달하기 위해 이를 사용하려는 경우 역할에 다음 권한 정책을 연결합니다CreateModel
APIs
{
"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 리소스로 제한합니다.
{ "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:region
::repository/my-repo1
", "arn:aws:ecr:region
::repository/my-repo2
", "arn:aws:ecr:region
::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
작업은 "*" 리소스에 적용됩니다. 자세한 내용은 Amazon CloudWatch 사용 설명서의 CloudWatch 리소스 및 작업을 참조하세요.
CreateHyperParameterTuningJob API: 실행 역할 권한
CreateHyperParameterTuningJob
API 요청에서 전달할 수 있는 실행 역할에 대해 다음 권한 정책을 역할에 연결합니다.
{
"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 리소스로 이러한 권한 범위를 지정할 수 있습니다.
{ "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:region
::repository/my-repo
" }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:*:*: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
작업은 "*" 리소스에 적용됩니다. 자세한 내용은 Amazon CloudWatch 사용 설명서의 CloudWatch Resources and Operations을 참조하세요.
하이퍼파라미터 튜닝 작업에 대해 프라이빗 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: 실행 역할 권한
CreateProcessingJob
API 요청에서 전달할 수 있는 실행 역할에 대해 다음 권한 정책을 역할에 연결합니다.
{
"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 리소스로 지정할 수 있습니다.
{ "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:region
::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
작업은 "*" 리소스에 적용됩니다. 자세한 내용은 Amazon CloudWatch 사용 설명서의 CloudWatch 리소스 및 작업을 참조하세요.
처리 작업에 대해 프라이빗 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: 실행 역할 권한
CreateTrainingJob
API 요청에서 전달할 수 있는 실행 역할에 대해 다음 권한 정책을 역할에 연결합니다.
{
"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 리소스로 지정할 수 있습니다.
{ "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:region
::repository/my-repo
" } ] }
CreateTrainingJob.AlgorithSpecifications.TrainingImage
에서 DynamoDB 또는 Amazon RDS 리소스와 같은 기타 데이터 원본에 액세스해야 하는 경우 이 정책에 관련 권한을 추가합니다.
앞선 정책에서 정책의 범위를 다음과 같이 지정합니다.
-
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
작업은 "*" 리소스에 적용됩니다. 자세한 내용은 Amazon CloudWatch 사용 설명서의 CloudWatch 리소스 및 작업을 참조하세요.
훈련 작업에 대해 프라이빗 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: 실행 역할 권한
CreateModel
API 요청에서 전달할 수 있는 실행 역할에 대해 다음 권한 정책을 역할에 연결합니다.
{
"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 리소스로 지정할 수 있습니다.
{ "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:region
::repository/my-repo
", "arn:aws:ecr:region
::repository/my-repo
" ] } ] }
CreateModel.PrimaryContainer.Image
에서 Amazon DynamoDB 또는 Amazon RDS 리소스와 같은 기타 데이터 원본에 액세스해야 하는 경우 이 정책에 관련 권한을 추가합니다.
앞선 정책에서 정책의 범위를 다음과 같이 지정합니다.
-
S3 권한 범위를
PrimaryContainer.ModelDataUrl
요청의CreateModel
에서 지정한 객체로 지정합니다. -
Amazon ECR 권한 범위를
CreateModel
요청에서PrimaryContainer.Image
및SecondaryContainer.Image
로 지정한 특정 레지스트리 경로로 지정합니다.
cloudwatch
및 logs
작업은 "*" 리소스에 적용됩니다. 자세한 내용은 Amazon CloudWatch 사용 설명서의 CloudWatch 리소스 및 작업을 참조하세요.
참고
프로덕션 환경에서 모델 배포에 SageMaker AI 배포 가드레일 기능을 사용하려면 실행 역할에 자동 롤백 경보에 대한 cloudwatch:DescribeAlarms
작업을 수행할 수 있는 권한이 있는지 확인합니다.
모델에 대해 프라이빗 VPC를 지정하는 경우 다음 권한을 추가합니다.
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:CreateNetworkInterfacePermission",
"ec2:DeleteNetworkInterface",
"ec2:DeleteNetworkInterfacePermission",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeVpcs",
"ec2:DescribeDhcpOptions",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups"
]
}