Imposta le IAM autorizzazioni per MLflow - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Imposta le IAM autorizzazioni per MLflow

Devi configurare i ruoli IAM di servizio necessari per iniziare MLflow a usare Amazon SageMaker.

Se crei un nuovo SageMaker dominio Amazon per accedere ai tuoi esperimenti in Studio, puoi configurare le IAM autorizzazioni necessarie durante la configurazione del dominio. Per ulteriori informazioni, consulta Imposta le autorizzazioni quando crei MLflow IAM un nuovo dominio.

Per configurare le autorizzazioni utilizzando la IAM console, consulta. Creare i ruoli IAM di servizio necessari nella IAM console

È necessario configurare i controlli di autorizzazione per sagemaker-mlflow le azioni. Facoltativamente, puoi definire controlli di autorizzazione più granulari per gestire le autorizzazioni specifiche delle azioni. MLflow Per ulteriori informazioni, consulta Crea controlli di autorizzazione specifici per ogni azione.

Imposta le autorizzazioni quando crei MLflow IAM un nuovo dominio

Quando configuri un nuovo SageMaker dominio Amazon per la tua organizzazione, puoi configurare IAM le autorizzazioni per il tuo ruolo di servizio di dominio tramite le impostazioni Utenti e Attività ML.

Per configurare IAM le autorizzazioni da utilizzare MLflow con SageMaker durante la configurazione di un nuovo dominio
  1. Configura un nuovo dominio utilizzando la SageMaker console. Nella pagina Configura SageMaker dominio, scegli Configura per le organizzazioni. Per ulteriori informazioni, consulta Configurazione personalizzata tramite console.

  2. Quando configuri utenti e attività ML, scegli tra le seguenti attività ML perMLflow: Utilizzo MLflow, gestione MLflow dei server di tracciamento e Accesso richiesto ai AWS servizi per MLflow. Per ulteriori informazioni su queste attività, consulta le spiegazioni che seguono questa procedura.

  3. Completa la configurazione e la creazione del tuo nuovo dominio.

Le seguenti attività di MLflow machine learning sono disponibili in Amazon SageMaker Role Manager:

  • Uso MLflow: questa attività di machine learning concede al ruolo del servizio di dominio il permesso di chiamare MLflow REST APIs per gestire esperimenti, esecuzioni e modelli. MLflow

  • Gestione MLflow dei server di tracciamento: questa attività di machine learning concede al ruolo del servizio di dominio l'autorizzazione a creare, aggiornare, avviare, arrestare ed eliminare i server di tracciamento.

  • Accesso richiesto ai AWS Servizi per MLflow: Questa attività ML fornisce le autorizzazioni del ruolo di servizio di dominio necessarie per accedere ad Amazon S3 e al SageMaker Model Registry. Ciò consente di utilizzare il ruolo del servizio di dominio come ruolo del servizio del server di tracciamento.

Per ulteriori informazioni sulle attività di machine learning in Role Manager, vedereRiferimento all'attività ML.

Creare i ruoli IAM di servizio necessari nella IAM console

Se non hai creato o aggiornato il ruolo di servizio di dominio, devi invece creare i seguenti ruoli di servizio nella IAM console per creare e utilizzare un server di MLflow tracciamento:

  • Un ruolo del IAM servizio del server di tracciamento che il server di tracciamento può utilizzare per accedere alle SageMaker risorse

  • Un ruolo SageMaker IAM di servizio che SageMaker può essere utilizzato per creare e gestire MLflow risorse

IAMpolitiche per il ruolo del IAM servizio del server di tracciamento

Il ruolo del IAM servizio del server di tracciamento viene utilizzato dal server di tracciamento per accedere alle risorse di cui ha bisogno, come Amazon S3 e il SageMaker Model Registry.

Quando crei il ruolo del IAM servizio del server di tracciamento, utilizza la seguente politica di IAM fiducia:

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

Nella IAM console, aggiungi la seguente politica di autorizzazione al ruolo del servizio del server di tracciamento:

{ "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": "*" } ] }

IAMpolitica per il ruolo di SageMaker IAM servizio

Il ruolo SageMaker di servizio viene utilizzato dal client che accede al server di MLflow tracciamento e necessita delle autorizzazioni per effettuare la chiamata MLflow RESTAPIs. Il ruolo SageMaker di servizio necessita inoltre SageMaker API delle autorizzazioni per creare, aggiornare, avviare, arrestare ed eliminare i server di tracciamento.

È possibile creare un nuovo ruolo o aggiornare un ruolo esistente. Il ruolo SageMaker di servizio richiede la seguente politica:

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

Crea controlli di autorizzazione specifici per ogni azione

È necessario impostare controlli di autorizzazione per esagemaker-mlflow, facoltativamente, configurare controlli di autorizzazione specifici per le azioni per gestire le MLflow autorizzazioni più granulari di cui dispongono gli utenti su un server di tracciamento. MLflow

Nota

I passaggi seguenti presuppongono che tu disponga già di un server di tracciamento ARN per un server di tracciamento. MLflow Per informazioni su come creare un server di tracciamento, consulta Crea un server di tracciamento utilizzando Studio oCrea un server di tracciamento utilizzando il AWS CLI.

Il comando seguente crea un file chiamato mlflow-policy.json che fornisce al server di tracciamento IAM le autorizzazioni per tutte le SageMaker MLflow azioni disponibili. Facoltativamente, puoi limitare le autorizzazioni di cui dispone un utente scegliendo le azioni specifiche che desideri che l'utente esegua. Per un elenco delle operazioni disponibili, consulta IAMazioni supportate per MLflow.

# 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

Utilizza il mlflow-policy.json file per creare una IAM politica utilizzando. AWS CLI

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

Recupera l'ID del tuo account e allega la politica al tuo IAM ruolo.

# 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

IAMazioni supportate per MLflow

Le seguenti SageMaker MLflow azioni sono supportate per il controllo dell'accesso tramite autorizzazione:

  • SageMaker-MLFlow: accesso AI

  • flusso sagemaker-ml: CreateExperiment

  • sagemaker-mlflow: SearchExperiments

  • sagemaker-mlflow: GetExperiment

  • sagemaker-mlflow: GetExperimentByName

  • sagemaker-mlflow: DeleteExperiment

  • sagemaker-mlflow: RestoreExperiment

  • sagemaker-mlflow: UpdateExperiment

  • sagemaker-mlflow: CreateRun

  • sagemaker-mlflow: DeleteRun

  • sagemaker-mlflow: RestoreRun

  • sagemaker-mlflow: GetRun

  • sagemaker-mlflow: LogMetric

  • sagemaker-mlflow: LogBatch

  • sagemaker-mlflow: LogModel

  • sagemaker-mlflow: LogInputs

  • sagemaker-mlflow: SetExperimentTag

  • sagemaker-mlflow: SetTag

  • sagemaker-mlflow: DeleteTag

  • sagemaker-mlflow: LogParam

  • sagemaker-mlflow: GetMetricHistory

  • sagemaker-mlflow: SearchRuns

  • sagemaker-mlflow: ListArtifacts

  • sagemaker-mlflow: UpdateRun

  • sagemaker-mlflow: CreateRegisteredModel

  • sagemaker-mlflow: GetRegisteredModel

  • sagemaker-mlflow: RenameRegisteredModel

  • sagemaker-mlflow: UpdateRegisteredModel

  • sagemaker-mlflow: DeleteRegisteredModel

  • sagemaker-mlflow: GetLatestModelVersions

  • sagemaker-mlflow: CreateModelVersion

  • sagemaker-mlflow: GetModelVersion

  • sagemaker-mlflow: UpdateModelVersion

  • sagemaker-mlflow: DeleteModelVersion

  • sagemaker-mlflow: SearchModelVersions

  • sagemaker-mlflow: GetDownload URIForModelVersionArtifacts

  • sagemaker-mlflow: TransitionModelVersionStage

  • sagemaker-mlflow: SearchRegisteredModels

  • sagemaker-mlflow: SetRegisteredModelTag

  • sagemaker-mlflow: DeleteRegisteredModelTag

  • sagemaker-mlflow: DeleteModelVersionTag

  • sagemaker-mlflow: DeleteRegisteredModelAlias

  • sagemaker-mlflow: SetRegisteredModelAlias

  • sagemaker-mlflow: GetModelVersionByAlias