MLFlow에 대한 IAM 권한을 설정합니다. - 아마존 SageMaker

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

MLFlow에 대한 IAM 권한을 설정합니다.

Amazon에서 MLFlow를 시작하려면 필요한 IAM 서비스 역할을 구성해야 합니다. SageMaker

Studio에서 실험에 액세스하기 위해 새 Amazon SageMaker 도메인을 생성하는 경우 도메인 설정 중에 필요한 IAM 권한을 구성할 수 있습니다. 자세한 정보는 새 도메인을 생성할 때 MLFlow IAM 권한을 설정합니다.을 참조하세요.

IAM 콘솔을 사용하여 권한을 설정하려면 을 참조하십시오. IAM 콘솔에서 필요한 IAM 서비스 역할을 생성합니다.

작업에 대한 sagemaker-mlflow AuthZ 컨트롤을 구성해야 합니다. 선택적으로 보다 세분화된 AuthZ 제어를 정의하여 작업별 MLFlow 권한을 제어할 수 있습니다. 자세한 정보는 작업별 AuthZ 컨트롤을 참조하세요.

새 도메인을 생성할 때 MLFlow IAM 권한을 설정합니다.

조직에 새 Amazon SageMaker 도메인을 설정할 때 사용자 및 ML 활동 설정을 통해 도메인 서비스 역할에 대한 IAM 권한을 구성할 수 있습니다.

Amazon SageMaker 역할 관리자에서는 다음과 같은 MLFlow ML 활동을 사용할 수 있습니다.

  • MLFlow 사용: 이 ML 활동은 MLFlow의 실험, 실행 및 모델을 관리하기 위해 MLFlow REST API를 호출할 수 있는 권한을 도메인 서비스 역할에 부여합니다.

  • MLFlow 추적 서버 관리: 이 ML 활동은 도메인 서비스 역할에 추적 서버를 생성, 업데이트, 시작, 중지 및 삭제할 수 있는 권한을 부여합니다.

  • MLFlow용 AWS 서비스에 필요한 액세스 권한: 이 ML 활동은 Amazon S3 및 SageMaker 모델 레지스트리에 액세스하는 데 필요한 도메인 서비스 역할 권한을 제공합니다. 이렇게 하면 도메인 서비스 역할을 추적 서버 서비스 역할로 사용할 수 있습니다.

다음 단계를 사용하여 MLFlow ML 활동을 도메인 서비스 역할에 추가하십시오.

새 도메인을 설정할 SageMaker 때 MLFlow를 사용하기 위한 IAM 권한을 구성합니다.
  1. 콘솔을 사용하여 새 도메인을 설정합니다. SageMaker SageMaker도메인 설정 페이지에서 조직 설정을 선택합니다. 자세한 정보는 콘솔을 사용한 사용자 지정 설정을 참조하세요.

  2. 사용자 및 ML 활동을 설정할 때 MLFlow에 대한 ML 활동 (MLFlow 사용, MLFlow 추적 서버 관리, MLFlow용 AWS 서비스에 필요한 액세스) 을 선택합니다.

  3. 새 도메인의 설정 및 생성을 완료하세요.

역할 관리자의 ML 활동에 대한 자세한 내용은 을 참조하십시오ML 활동 참조.

IAM 콘솔에서 필요한 IAM 서비스 역할을 생성합니다.

도메인 서비스 역할을 생성하거나 업데이트하지 않은 경우 MLFlow Tracking Server를 생성하고 사용하려면 IAM 콘솔에서 다음 서비스 역할을 대신 생성해야 합니다.

  • 추적 서버가 리소스에 액세스하는 데 사용할 수 있는 추적 서버 IAM 서비스 역할 SageMaker

  • MLFlow 리소스를 생성하고 관리하는 데 사용할 SageMaker 수 있는 SageMaker IAM 서비스 역할

추적 서버 IAM 서비스 역할 생성

추적 서버 IAM 서비스 역할은 추적 서버가 필요한 리소스 (예: Amazon S3 및 SageMaker 모델 레지스트리) 에 액세스하는 데 사용됩니다.

추적 서버 IAM 서비스 역할을 생성하려면 다음과 같은 IAM 신뢰 정책을 생성하십시오.

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

IAM 콘솔에서 추적 서버 서비스 역할에 다음 정책을 추가합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:Put*", "s3:List*", "sagemaker:AddTags", "sagemaker:CreateModelPackageGroup", "sagemaker:CreateModelPackage", "sagemaker:UpdateModelPackage", "sagemaker:DescribeModelPackageGroup" ], "Resource": "*" } ] }

SageMaker IAM 서비스 역할 생성

SageMaker 서비스 역할은 MLFlow 추적 서버에 액세스하는 클라이언트가 사용하며 MLFlow REST API를 호출할 수 있는 권한이 필요합니다. 또한 SageMaker 서비스 역할에는 추적 서버를 생성, 업데이트, 시작, 중지 및 삭제하기 위한 SageMaker API 권한이 필요합니다.

새 역할을 만들거나 기존 역할을 업데이트할 수 있습니다. SageMaker 서비스 역할에는 다음 정책이 필요합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker-mlflow:*", "sagemaker:CreateMlflowTrackingServer", "sagemaker:UpdateMlflowTrackingServer", "sagemaker:DeleteMlflowTrackingServer", "sagemaker:StartMlflowTrackingServer", "sagemaker:StopMlflowTrackingServer", "sagemaker:CreatePresignedMlflowTrackingServerUrl" ], "Resource": "*" } ] }

작업별 AuthZ 컨트롤

AuthZ 컨트롤을 설정해야 하며sagemaker-mlflow, MLFlow 추적 서버에서 사용자가 갖는 보다 세분화된 MLFlow 권한을 제어하도록 작업별 AuthZ 컨트롤을 선택적으로 구성할 수 있습니다.

참고

다음 단계에서는 MLFlow 추적 서버용 ARN을 이미 사용할 수 있다고 가정합니다. 추적 서버를 만드는 방법을 알아보려면 또는 을 참조하십시오Studio를 사용하여 트래킹 서버 만들기. 를 사용하여 추적 서버를 생성합니다. AWS CLI

다음 명령은 추적 서버에 사용 가능한 모든 SageMaker MLFlow 작업에 대한 IAM 권한을 mlflow-policy.json 제공하는 파일을 생성합니다. 선택적으로 사용자가 수행할 특정 작업을 선택하여 해당 사용자의 권한을 제한할 수 있습니다. 사용할 수 있는 작업의 목록은 MLFlow에 지원되는 IAM 작업 섹션을 참조하세요.

# Replace "Resource":"*" with "Resource":"TrackingServerArn" # Replace "sagemaker-mlflow:*" with specific actions printf '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker-mlflow:*", "Resource": "*" } ] }' > mlflow-policy.json

mlflow-policy.json파일을 사용하여 를 사용하여 IAM 정책을 생성합니다. AWS CLI

aws iam create-policy \ --policy-name MLflowPolicy \ --policy-document file://mlflow-policy.json

계정 ID를 검색하고 정책을 IAM 역할에 연결합니다.

# Get your account ID aws sts get-caller-identity # Attach the IAM policy using your exported role and account ID aws iam attach-role-policy \ --role-name $role_name \ --policy-arn arn:aws:iam::123456789012:policy/MLflowPolicy

MLFlow에 지원되는 IAM 작업

AuthZ 액세스 제어에는 다음과 같은 SageMaker MLFlow 작업이 지원됩니다.

  • 세이지메이커-MLFlow: 액세스 UI

  • 세이지메이커-ml플로우: CreateExperiment

  • 세이지메이커-mlflow: SearchExperiments

  • 세이지메이커-mlflow: GetExperiment

  • 세이지메이커-mlflow: GetExperiment ByName

  • 세이지메이커-mlflow: DeleteExperiment

  • 세이지메이커-mlflow: RestoreExperiment

  • 세이지메이커-mlflow: UpdateExperiment

  • 세이지메이커-mlflow: CreateRun

  • 세이지메이커-mlflow: DeleteRun

  • 세이지메이커-mlflow: RestoreRun

  • 세이지메이커-mlflow: GetRun

  • 세이지메이커-mlflow: LogMetric

  • 세이지메이커-mlflow: LogBatch

  • 세이지메이커-mlflow: LogModel

  • 세이지메이커-mlflow: LogInputs

  • 세이지메이커-mlflow: 태그 SetExperiment

  • 세이지메이커-mlflow: SetTag

  • 세이지메이커-mlflow: DeleteTag

  • 세이지메이커-mlflow: LogParam

  • 세이지메이커-mlflow: 역사 GetMetric

  • 세이지메이커-mlflow: SearchRuns

  • 세이지메이커-mlflow: ListArtifacts

  • 세이지메이커-mlflow: UpdateRun

  • 세이지메이커-mlflow: 모델 CreateRegistered

  • 세이지메이커-mlflow: 모델 GetRegistered

  • 세이지메이커-mlflow: 모델 RenameRegistered

  • 세이지메이커-mlflow: 모델 UpdateRegistered

  • 세이지메이커-mlflow: 모델 DeleteRegistered

  • 세이지메이커-mlflow: GetLatest ModelVersions

  • 세이지메이커-mlflow: 버전 CreateModel

  • 세이지메이커-mlflow: 버전 GetModel

  • 세이지메이커-mlflow: 버전 UpdateModel

  • 세이지메이커-mlflow: 버전 DeleteModel

  • 세이지메이커-mlflow: 버전 SearchModel

  • 세이지메이커-mlflow: URI GetDownload ForModel VersionArtifacts

  • 세이지메이커-mlflow: TransitionModel VersionStage

  • 세이지메이커-mlflow: 모델 SearchRegistered

  • 세이지메이커-mlflow: SetRegistered ModelTag

  • 세이지메이커-mlflow: DeleteRegistered ModelTag

  • 세이지메이커-mlflow: DeleteModel VersionTag

  • 세이지메이커-mlflow: DeleteRegistered ModelAlias

  • 세이지메이커-mlflow: SetRegistered ModelAlias

  • 세이지메이커-mlflow: 별칭 GetModel VersionBy