쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

IAM 액세스 관리

포커스 모드
IAM 액세스 관리 - Amazon SageMaker AI

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

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

다음 섹션에서는 Amazon SageMaker Pipelines에 대한 AWS Identity and Access Management (IAM) 요구 사항을 설명합니다. 이러한 권한을 구현하는 방법에 대한 예제는 사전 조건섹션을 참조하세요.

파이프라인 역할 권한

파이프라인을 생성할 때 파이프라인에 전달되는 IAM 파이프라인 실행 역할이 파이프라인에 필요합니다. 파이프라인을 생성하는 SageMaker AI 인스턴스의 역할에는 파이프라인 실행 역할을 전달하기 위한 권한이 있어야 합니다iam:PassRole. IAM 역할에 대한 자세한 내용은 IAM 역할을 참조하세요.

파이프라인 실행 역할에는 다음 권한이 필요합니다.

  • 파이프라인iam:PassRole 내의 SageMaker AI 작업에 역할을 전달하려면 전달 중인 역할에 대한 권한입니다. 

  • 파이프라인의 각 작업 유형에 대한 CreateDescribe권한.

  • JsonGet 함수 사용에 대한 Amazon S3의 허용. 리소스 기반 정책 또는 자격 증명 기반 정책을 사용하여 Amazon S3 리소스에 대한 액세스를 제어할 수 있습니다. 리소스 기반 정책은 Amazon S3 버킷에 적용되며 Pipelines에 버킷에 대한 액세스 권한을 부여합니다. 자격 증명 기반 정책은 파이프라인에 계정에서 Amazon S3를 호출할 수 있는 기능을 제공합니다. 리소스 기반 정책 및 자격 증명 기반 정책에 대한 더 자세한 내용은 자격 증명 기반 정책 및 리소스 기반 정책 및 정책을 참조하세요.

    { "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::<your-bucket-name>/*", "Effect": "Allow" }

파이프라인 단계 권한

파이프라인에는 SageMaker AI 작업을 실행하는 단계가 포함됩니다. 파이프라인 단계에서 이러한 작업을 실행하려면 필요한 리소스에 대한 액세스를 제공하는 계정의 IAM 역할이 필요합니다. 이 역할은 파이프라인에서 SageMaker AI 서비스 보안 주체에게 전달됩니다. IAM 역할에 대한 자세한 내용은 IAM 역할을 참조하세요.

기본적으로 각 단계는 파이프라인 실행 역할을 맡습니다. 선택적으로 파이프라인의 모든 단계에 다른 역할을 전달할 수 있습니다. 이렇게 하면 파이프라인 정의에 지정된 두 단계 간에 직접적인 관계가 없는 한, 각 단계의 코드가 다른 단계에서 사용되는 리소스에 영향을 주지 않습니다. 단계의 프로세서 또는 추정기를 정의할 때 이러한 역할을 전달합니다. 이러한 정의에 이러한 역할을 포함하는 방법에 대한 예는 SageMaker AI Python SDK 설명서를 참조하세요.

Amazon S3 버킷을 사용한 CORS 구성

이미지를 예측 가능한 방식으로 Amazon S3 버킷에서 파이프라인으로 가져오려면 이미지를 가져오는 Amazon S3 버킷에 CORS 구성을 추가해야 합니다. 이 섹션에서는 Amazon S3 버킷에 필요한 CORS 구성을 설정하는 방법에 대한 지침을 제공합니다. 파이프라인에 CORSConfiguration 필요한 XML은의 XML과 다릅니다. 입력 이미지 데이터에 대한 CORS 요구 사항그렇지 않으면 해당 정보를 사용하여 Amazon S3 버킷의 CORS 요구 사항에 대해 자세히 알아볼 수 있습니다.

이미지를 호스팅하는 Amazon S3 버킷에 대해 다음 CORS 구성 코드를 사용합니다. CORS 구성에 대한 지침은 Amazon Simple Storage Service 사용 설명서의 CORS(교차 오리진 리소스 공유) 구성을 참조하세요. Amazon S3 콘솔을 사용하여 버킷에 정책을 추가하려면 JSON 형식을 사용해야 합니다.

JSON

[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "PUT" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [ "Access-Control-Allow-Origin" ] } ]

XML

<CORSConfiguration> <CORSRule> <AllowedHeader>*</AllowedHeader> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>PUT</AllowedMethod> <ExposeHeader>Access-Control-Allow-Origin</ExposeHeader> </CORSRule> </CORSConfiguration>

다음 GIF는 Amazon S3 콘솔을 사용하여 CORS 헤더 정책을 추가하는 방법에 대한 Amazon S3 설명서의 지침을 보여줍니다.

Amazon S3 콘솔을 사용하여 CORS 헤더 정책을 추가하는 방법에 대한 Gif입니다.

Pipelines 작업에 대한 액세스 관리 사용자 지정

IAM 정책을 추가로 사용자 지정하여 조직 내 선택된 구성원이 일부 또는 모든 파이프라인 단계를 실행할 수 있도록 할 수 있습니다. 예를 들어 특정 사용자에게는 훈련 작업을 생성할 권한을 부여하고, 다른 사용자 그룹에게는 처리 작업을 생성할 수 있는 권한을 부여하고, 모든 사용자에게 나머지 단계를 실행할 수 있는 권한을 부여할 수 있습니다. 이 기능을 사용하려면 작업 이름 앞에 접두사를 붙이는 사용자 지정 문자열을 선택합니다. 관리자는 허용된 ARN 앞에 접두사를 추가하는 반면, 데이터 사이언티스트는 파이프라인 인스턴스화에 이 접두사를 포함합니다. 허용된 사용자를 위한 IAM 정책에는 지정된 접두사가 있는 작업 ARN이 포함되어 있으므로 파이프라인 단계의 후속 작업을 진행하는 데 필요한 권한이 있어야 합니다. 작업 접두사는 기본적으로 꺼져 있습니다.이 옵션을 사용하려면 Pipeline클래스에서 이 옵션을 켜야 합니다.

접두사가 해제된 작업의 경우 작업 이름은 다음과 같이 형식이 지정되며 다음 테이블에 설명된 필드가 연결되어 있습니다.

pipelines-<executionId>-<stepNamePrefix>-<entityToken>-<failureCount>

필드 정의

파이프라인

항상 정적 문자열이 앞에 추가됩니다. 이 문자열은 파이프라인 오케스트레이션 서비스를 작업의 소스로 식별합니다.

ExecutionId

실행 중인 파이프라인 인스턴스를 위한 무작위 버퍼입니다.

stepNamePrefix

사용자가 지정한 단계 이름(파이프라인 단계의 name인수에 지정됨)으로, 처음 20자로 제한됩니다.

entityToken

단계 개체의 멱등성을 보장하기 위한 무작위 토큰입니다.

failureCount

작업을 완료하기 위해 시도한 현재 재시도 횟수입니다.

이 경우 작업 이름 앞에 사용자 지정 접두사가 추가되지 않으며 해당 IAM 정책이 이 문자열과 일치해야 합니다.

작업 접두사를 사용하는 사용자의 경우 기본 작업 이름은 다음과 같은 형식을 취하며 사용자 지정 접두사는 MyBaseJobName으로 지정됩니다.

<MyBaseJobName>-<executionId>-<entityToken>-<failureCount>

사용자 지정 접두사는 정적 pipelines 문자열을 대체하여 파이프라인의 일부로 SageMaker AI 작업을 실행할 수 있는 사용자의 선택 범위를 좁히는 데 도움이 됩니다.

접두사 길이 제한

작업 이름에는 개별 파이프라인 단계에 따른 내부 길이 제약이 있습니다. 또한 이 제약 조건은 허용되는 접두사 길이를 제한합니다. 접두사 길이 요구 사항은 다음과 같습니다.

IAM 정책에 작업 접두사 적용

관리자는 특정 접두사를 사용하는 사용자가 작업을 생성할 수 있도록 IAM 정책을 생성합니다. 다음 예제 정책은 데이터 사이언티스트가 MyBaseJobName접두사를 사용하는 경우 훈련 작업을 생성할 수 있도록 허용합니다.

{ "Action": "sagemaker:CreateTrainingJob", "Effect": "Allow", "Resource": [ "arn:aws:sagemaker:region:account-id:*/MyBaseJobName-*" ] }

파이프라인 인스턴스화에 작업 접두사를 적용합니다.

작업 인스턴스 클래스의 *base_job_name인수를 사용하여 접두사를 지정합니다.

참고

파이프라인 단계를 생성하기 전에 *base_job_name인수와 함께 작업 접두사를 작업 인스턴스에 전달합니다. 이 작업 인스턴스에는 작업을 파이프라인에서 한 단계로 실행하는 데 필요한 정보가 들어 있습니다. 이 인수는 사용된 작업 인스턴스에 따라 달라집니다. 다음 목록은 각 파이프라인 단계 유형에 사용할 인수를 보여줍니다.

  • Estimator (TrainingStep), Processor(ProcessingStep), AutoML(AutoMLStep) 클래스의 경우 base_job_name

  • Tuner 클래스(TuningStep)의 경우 tuning_base_job_name

  • Transformer 클래스(TransformStep)의 경우 transform_base_job_name

  • QualityCheckStep(품질 검사) 및 ClarifyCheckstep(명확화 검사) 클래스의 경우 CheckJobConfigbase_job_name

  • Model 클래스의 경우 사용되는 인수는 ModelStep에 결과를 전달하기 전에 create또는 register를 모델에 실행했는지에 따라 달라집니다.

    • create 호출 시 사용자 지정 접두사는 모델을 생성할 때 name인수에서 가져옵니다(예:Model(name=)).

    • register 호출 시 사용자 지정 접두사는 register호출의 model_package_name인수에서 가져옵니다(예:my_model.register(model_package_name=)).

다음 예제에서는 새 훈련 작업 인스턴스에 접두사를 지정하는 방법을 보여줍니다.

# Create a job instance xgb_train = Estimator( image_uri=image_uri, instance_type="ml.m5.xlarge", instance_count=1, output_path=model_path, role=role, subnets=["subnet-0ab12c34567de89f0"], base_job_name="MyBaseJobName" security_group_ids=["sg-1a2bbcc3bd4444e55"], tags = [ ... ] encrypt_inter_container_traffic=True, ) # Attach your job instance to a pipeline step step_train = TrainingStep( name="TestTrainingJob", estimator=xgb_train, inputs={ "train": TrainingInput(...), "validation": TrainingInput(...) } )

작업 접두사는 기본적으로 해제되어 있습니다. 이 기능을 사용하려면 다음 스니펫에 표시된 PipelineDefinitionConfiguse_custom_job_prefix옵션을 사용하세요.

from sagemaker.workflow.pipeline_definition_config import PipelineDefinitionConfig # Create a definition configuration and toggle on custom prefixing definition_config = PipelineDefinitionConfig(use_custom_job_prefix=True); # Create a pipeline with a custom prefix pipeline = Pipeline( name="MyJobPrefixedPipeline", parameters=[...] steps=[...] pipeline_definition_config=definition_config )

파이프라인을 생성하고 실행합니다. 다음 예제는 파이프라인을 생성 및 실행하고, 작업 접두사를 끄고 파이프라인을 다시 실행하는 방법도 보여줍니다.

pipeline.create(role_arn=sagemaker.get_execution_role()) # Optionally, call definition() to confirm your prefixed job names are in the built JSON pipeline.definition() pipeline.start() # To run a pipeline without custom-prefixes, toggle off use_custom_job_prefix, update the pipeline # via upsert() or update(), and start a new run definition_config = PipelineDefinitionConfig(use_custom_job_prefix=False) pipeline.pipeline_definition_config = definition_config pipeline.update() execution = pipeline.start()

마찬가지로 기존 파이프라인에서도 이 기능을 켜고 작업 접두사를 사용하는 새 실행을 시작할 수 있습니다.

definition_config = PipelineDefinitionConfig(use_custom_job_prefix=True) pipeline.pipeline_definition_config = definition_config pipeline.update() execution = pipeline.start()

마지막으로, 파이프라인 실행의 list_steps을 호출하여 접두사가 지정된 사용자 지정 작업을 볼 수 있습니다.

steps = execution.list_steps() prefixed_training_job_name = steps['PipelineExecutionSteps'][0]['Metadata']['TrainingJob']['Arn']

파이프라인을 사용한 서비스 제어 정책

서비스 제어 정책(SCP)은 조직의 권한을 관리하는 데 사용할 수 있는 조직 정책 유형입니다. SCP는 조직의 모든 계정에 사용 가능한 최대 권한을 중앙에서 제어합니다. 조직 내에서 파이프라인을 사용하면 데이터 과학자가 AWS 콘솔과 상호 작용하지 않고도 파이프라인 실행을 관리할 수 있습니다. 

Amazon S3에 대한 액세스를 제한하는 SCP와 함께 VPC를 사용하는 경우 파이프라인이 다른 Amazon S3 리소스에 액세스할 수 있도록 허용하는 조치를 취해야 합니다.

Pipelines이 함수를 사용하여 VPC 외부의 Amazon S3에 액세스할 수 있도록 하려면 Pipelines을 사용하는 JsonGet 역할이 Amazon S3에 액세스할 수 있도록 조직의 SCP를 업데이트하세요. 이렇게 하려면 위탁자 태그와 조건 키를 사용하여 파이프라인 실행 역할을 통해 Pipelines 실행기가 사용하는 역할에 대한 예외를 만드세요.

Pipelines이 VPC 외부에서 Amazon S3에 액세스하도록 허용하는 방법
  1. IAM 사용자 및 역할 태그 지정의 단계에 따라 파이프라인 실행 역할에 고유한 태그를 생성하세요.

  2. 생성한 태그의 Aws:PrincipalTag IAM조건 키를 사용하여 SCP에 예외를 허용하세요. SCP를 생성하는 방법에 대한 자세한 내용은 서비스 제어 정책 생성, 업데이트 및 삭제를 참조하세요.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.