View a markdown version of this page

Configura le autorizzazioni IAM per le app MLFlow - Amazon SageMaker AI

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à.

Configura le autorizzazioni IAM per le app MLFlow

È necessario configurare i ruoli del servizio IAM necessari per iniziare a utilizzare le app MLFlow in Amazon SageMaker AI.

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

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

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

Configurazione delle autorizzazioni IAM MLflow quando si crea un nuovo dominio

Quando configuri un nuovo dominio Amazon SageMaker AI per la tua organizzazione, puoi configurare le autorizzazioni IAM per il tuo ruolo di servizio di dominio tramite le impostazioni Users and ML Activities.

  1. Configura un nuovo dominio utilizzando la console SageMaker AI. Nella pagina Configura il dominio SageMaker AI, scegli Configura per le organizzazioni. Per ulteriori informazioni, consulta Configurazione personalizzata tramite la console.

  2. Quando configuri utenti e attività ML, scegli tra le seguenti attività ML per MLFlow: Usa MLFlow, Gestisci app MLFlow e Accesso richiesto ai AWS servizi per MLFlow. Per ulteriori informazioni su tali attività, consulta le spiegazioni che seguono questa procedura.

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

Le seguenti attività MLFlow ML sono disponibili in Amazon Role Manager: SageMaker

  • Usa MLflow: questa attività ML concede al ruolo del servizio di dominio l’autorizzazione a chiamare le REST API di MLflow per gestire esperimenti, esecuzioni e modelli in MLflow.

  • Gestisci le app MLFlow: questa attività ML concede al ruolo del servizio di dominio l'autorizzazione a creare, aggiornare ed eliminare le app MLFlow.

  • Accesso richiesto Servizi AWS per le app MLFlow: questa attività ML fornisce le autorizzazioni per il ruolo del servizio di dominio necessarie per accedere ad Amazon S3 e all'AI Model Registry. SageMaker Questo consente di utilizzare il ruolo del servizio di dominio come ruolo di servizio del server di tracciamento.

Per ulteriori informazioni sulle attività ML in Gestione dei ruoli, consulta Riferimento all'attività ML.

Creazione dei ruoli di servizio IAM necessari nella console IAM

Se non hai creato o aggiornato il tuo ruolo di servizio di dominio, devi invece creare i seguenti ruoli di servizio nella console IAM per creare e utilizzare un'app MLFlow:

  • Un ruolo del servizio IAM dell'app MLFlow che l'app può utilizzare per accedere alle risorse AI SageMaker

  • Un ruolo di servizio SageMaker AI IAM che l' SageMaker IA può utilizzare per creare e gestire le risorse MLFlow

Policy IAM per il ruolo del servizio IAM dell'app MLFlow

Il ruolo del servizio IAM dell'app MLFlow viene utilizzato dall'app per accedere alle risorse di cui ha bisogno, come Amazon S3 e il Model SageMaker Registry.

Quando crei il ruolo del servizio IAM dell'app, utilizza la seguente politica di fiducia IAM:

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

Nella console IAM, aggiungi la seguente politica di autorizzazioni al tuo ruolo di servizio dell'app:

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

Politica IAM per il ruolo del servizio SageMaker AI IAM

Il ruolo del servizio SageMaker AI viene utilizzato dal client che accede all'app MLFlow e necessita delle autorizzazioni per chiamare le API REST MLFlow. Il ruolo del servizio SageMaker AI richiede anche le autorizzazioni SageMaker API per creare, visualizzare, aggiornare ed eliminare app.

Puoi creare un nuovo ruolo o aggiornarne uno esistente. Il ruolo del servizio SageMaker AI richiede la seguente politica:

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

Creazione di controlli di autorizzazione specifici per azione

È necessario configurare i controlli di autorizzazione esagemaker-mlflow, se lo si desidera, è possibile configurare controlli di autorizzazione specifici per un'azione per gestire le autorizzazioni MLFlow più granulari di cui dispongono gli utenti su un'app MLFlow.

Nota

I passaggi seguenti presuppongono che sia già disponibile un ARN per un'app MLFlow.

Azioni IAM di Data Plane supportate per le app MLFlow

Le seguenti azioni SageMaker AI MLFlow sono supportate per il controllo dell'accesso alle autorizzazioni:

  • sagemaker: CallMlflowAppApi

autorizzazioni IAM per la sincronizzazione del Model Registry e la gestione del ciclo di vita

Quando si registrano i modelli MLFlow con l' SageMaker AI Model Registry, il ruolo del servizio IAM dell'app MLFlow richiede le seguenti autorizzazioni per eseguire la registrazione del modello, la gestione del ciclo di vita e il tracciamento del lignaggio:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateModelPackageGroup", "sagemaker:DescribeModelPackageGroup", "sagemaker:CreateModelPackage", "sagemaker:UpdateModelPackage", "sagemaker:AddTags" ], "Resource": "*" }, { "Sid": "S3ArtifactAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket" ], "Resource": "*" }, { "Sid": "LineageTracking", "Effect": "Allow", "Action": [ "sagemaker:CreateAction", "sagemaker:AddAssociation" ], "Resource": "*" } ] }

La tabella seguente descrive cosa consente ciascuna autorizzazione:

Azione Scopo
sagemaker:CreateModelPackageGroup Crea un Model Package Group quando si registra un nuovo nome di modello.
sagemaker:DescribeModelPackageGroup Verifica se esiste già un Model Package Group prima di crearne uno.
sagemaker:CreateModelPackage Crea un Model Package (versione) quando si registra una versione del modello.
sagemaker:UpdateModelPackage Aggiorna la fase e lo stato del ciclo di vita del Model Package quando si impostano gli alias del ciclo di vita.
sagemaker:AddTags Contrassegna il Model Package con i metadati che lo collegano al modello MLFlow.
s3:GetObject Legge le specifiche di inferenza e gli artefatti di valutazione da Amazon S3 durante la registrazione.
sagemaker:CreateAction, sagemaker:AddAssociation Crea associazioni di derivazione tra il modello MLFlow e il pacchetto di modelli AI. SageMaker Se manca, il lignaggio viene ignorato silenziosamente.

Limita le transizioni del ciclo di vita con le chiavi di condizione IAM

Puoi utilizzare le chiavi di condizione IAM per controllare quali transizioni del ciclo di vita un ruolo è autorizzato a eseguire. Le seguenti chiavi di condizione sono disponibili per l'azione: sagemaker:UpdateModelPackage

  • sagemaker:ModelLifeCycle/stage— La fase del ciclo di vita che si sta impostando. Valori:staging,. production

  • sagemaker:ModelLifeCycle/stageStatus— Lo stato del ciclo di vita da impostare. Valori:pending,. active

Esempio: Negare le promozioni di produzione

La seguente politica impedisce a un ruolo di promuovere modelli sul production palco:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "sagemaker:UpdateModelPackage", "Resource": "*", "Condition": { "StringEquals": { "sagemaker:ModelLifeCycle/stage": "production" } } } ] }

Esempio: consenti solo le staging/pending transizioni

La seguente politica limita un ruolo a impostare i modelli solo sullo staging stage con pending status:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker:UpdateModelPackage", "Resource": "*", "Condition": { "StringEquals": { "sagemaker:ModelLifeCycle/stage": "staging", "sagemaker:ModelLifeCycle/stageStatus": "pending" } } } ] }