Come utilizzare i ruoli di esecuzione dell' SageMaker IA - 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à.

Come utilizzare i ruoli di esecuzione dell' SageMaker IA

Amazon SageMaker AI esegue operazioni per tuo conto utilizzando altri AWS servizi. Devi concedere le autorizzazioni all' SageMaker intelligenza artificiale per utilizzare questi servizi e le risorse su cui agiscono. Concedi all' SageMaker IA queste autorizzazioni utilizzando un ruolo di esecuzione AWS Identity and Access Management (IAM). Per ulteriori informazioni sui ruoli IAM, consulta Ruoli IAM.

Per creare e utilizzare un ruolo di esecuzione, puoi utilizzare le seguenti procedure.

Crea ruolo di esecuzione

Utilizza la seguente procedura per creare un ruolo di esecuzione con la policy gestita IAM, AmazonSageMakerFullAccess, collegata. Se il tuo caso d'uso richiede autorizzazioni più granulari, utilizza le altre sezioni di questa pagina per creare un ruolo di esecuzione che soddisfi le tue esigenze aziendali. Puoi creare un ruolo di esecuzione utilizzando la console SageMaker AI o ilAWS CLI.

Importante

La policy gestita IAM, AmazonSageMakerFullAccess, utilizzata nella seguente procedura, concede al ruolo di esecuzione solo l'autorizzazione a eseguire determinate azioni Amazon S3 su bucket o oggetti con SageMaker, Sagemaker, sagemaker o aws-glue nel nome. Per informazioni su come aggiungere una policy aggiuntiva a un ruolo di esecuzione per concedergli l'accesso ad altri bucket e oggetti Amazon S3, consulta Aggiungi autorizzazioni Amazon S3 aggiuntive a un SageMaker ruolo di esecuzione AI.

Nota

Puoi creare un ruolo di esecuzione direttamente quando crei un dominio SageMaker AI o un'istanza di notebook.

Per creare un nuovo ruolo di esecuzione dalla console SageMaker AI

  1. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Selezionare Roles (Ruoli), quindi selezionare Create role (Crea ruolo).

  3. Mantieni il tipo di entità affidabile come AWSservizio, quindi utilizza la freccia rivolta verso il basso per trovare l'SageMaker intelligenza artificiale nei casi d'uso per altri AWS servizi.

  4. Scegli SageMaker AI — Esecuzione, quindi scegli Avanti.

  5. La policy gestita IAM, AmazonSageMakerFullAccess, viene collegata automaticamente al ruolo . Per visualizzare le autorizzazioni incluse in questa policy, scegli il segno più (+) accanto al nome della policy. Scegli Next (Successivo).

  6. Inserire un nome di ruolo e una descrizione.

  7. (Facoltativo) Aggiungi autorizzazioni aggiuntive e tag al ruolo.

  8. Scegli Crea ruolo.

  9. Nella sezione Ruoli della console IAM, trova il ruolo che hai appena creato. Se necessario, utilizza la casella di testo per cercare il ruolo utilizzando il nome del ruolo.

  10. Nella pagina Riepilogo ruolo, annota l’ARN.

Per creare un nuovo ruolo di esecuzione da AWS CLI

Prima di creare un ruolo di esecuzione utilizzando ilAWS CLI, assicurati di aggiornarlo e configurarlo seguendo le istruzioni contenute in(Facoltativo) Configura il AWS CLI, quindi continua con le istruzioni inConfigurazione personalizzata utilizzando AWS CLI.

Dopo aver creato un ruolo di esecuzione, puoi associarlo a un dominio SageMaker AI, a un profilo utente o a un'istanza di Jupyter Notebook.

Puoi anche passare l'ARN di un ruolo di esecuzione alla chiamata API. Ad esempio, utilizzando Amazon SageMaker Python SDK, puoi passare l'ARN del tuo ruolo di esecuzione a uno stimatore. Nell'esempio di codice che segue, creiamo uno stimatore utilizzando il contenitore dell' XGBoostalgoritmo e passiamo l'ARN del ruolo di esecuzione come parametro. Per l'esempio completo su GitHub, consulta Customer Churn Prediction with. XGBoost

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, ) ...

Aggiungi autorizzazioni Amazon S3 aggiuntive a un SageMaker ruolo di esecuzione AI

Quando utilizzi una funzionalità di SageMaker intelligenza artificiale con risorse in Amazon S3, come i dati di input, il ruolo di esecuzione specificato nella richiesta (ad esempioCreateTrainingJob) viene utilizzato per accedere a tali risorse.

Se colleghi la policy gestita IAM, AmazonSageMakerFullAccess, a un ruolo di esecuzione, tale ruolo è autorizzato a eseguire determinate azioni Amazon S3 su bucket o oggetti con SageMaker, Sagemaker, sagemaker o aws-glue nel nome. È inoltre autorizzato a eseguire le seguenti azioni su qualsiasi risorsa Amazon S3:

"s3:CreateBucket", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:GetBucketCors", "s3:PutBucketCors"

Per dare a un ruolo di esecuzione le autorizzazioni per accedere a uno o più bucket specifici in Amazon S3, è possibile collegare una policy simile al seguente ruolo. Questa policy concede a un ruolo IAM l’autorizzazione per eseguire tutte le azioni consentite da AmazonSageMakerFullAccess, ma limita l’accesso ai bucket amzn-s3-demo-bucket1 e amzn-s3-demo-bucket2. Consulta la documentazione di sicurezza per la specifica funzionalità di SageMaker intelligenza artificiale che stai utilizzando per ulteriori informazioni sulle autorizzazioni Amazon S3 richieste per tale funzionalità.

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

Acquisizione del ruolo di esecuzione

Puoi utilizzare la console SageMaker AI, l'SDK Amazon SageMaker Python o il AWS CLIper recuperare l'ARN e il nome del ruolo di esecuzione associato a SageMaker un dominio, spazio o profilo utente AI.

Acquisizione del ruolo di esecuzione del dominio

Di seguito vengono fornite istruzioni su come trovare il ruolo di esecuzione del dominio.

Trova il ruolo di esecuzione collegato al tuo dominio
  1. Apri la console AI, SageMaker https://console.aws.amazon.com/sagemaker/

  2. Nel riquadro di navigazione a sinistra, scegli Domini in Configurazioni di amministrazione.

  3. Scegli il link che corrisponde al tuo dominio.

  4. Scegli la scheda Impostazioni del dominio.

  5. Nella sezione Impostazioni generali, l’ARN del ruolo di esecuzione è elencato in Ruolo di esecuzione.

    Il nome del ruolo di esecuzione si trova dopo l’ultimo / nell’ARN del ruolo di esecuzione.

Acquisizione del ruolo di esecuzione dello spazio

Di seguito vengono fornite istruzioni su come trovare il ruolo di esecuzione dello spazio.

Trova il ruolo di esecuzione collegato al tuo spazio
  1. Apri la console SageMaker AI, https://console.aws.amazon.com/sagemaker/

  2. Nel riquadro di navigazione a sinistra, scegli Domini in Configurazioni di amministrazione.

  3. Scegli il link che corrisponde al tuo dominio.

  4. Scegli la scheda Gestione dello spazio.

  5. Nella sezione Dettagli, l’ARN del ruolo di esecuzione è elencato in Ruolo di esecuzione.

    Il nome del ruolo di esecuzione si trova dopo l’ultimo / nell’ARN del ruolo di esecuzione.

Nota

Il codice seguente è pensato per essere eseguito in un ambiente di SageMaker intelligenza artificiale, come qualsiasi altro IDEs in Amazon SageMaker Studio. Riceverai un errore se esegui get_execution_role al di fuori di un ambiente SageMaker AI.

Il seguente comando get_execution_roleAmazon SageMaker Python SDK recupera l'ARN del ruolo di esecuzione associato allo spazio.

from sagemaker import get_execution_role role = get_execution_role() print(role)

Il nome del ruolo di esecuzione si trova dopo l’ultimo / nell’ARN del ruolo di esecuzione.

Acquisizione del ruolo di esecuzione dell’utente

Di seguito vengono fornite istruzioni su come trovare il ruolo di esecuzione di un utente.

Cerca il ruolo di esecuzione collegato a un utente
  1. Apri la console AI, SageMaker https://console.aws.amazon.com/sagemaker/

  2. Nel riquadro di navigazione a sinistra, scegli Domini in Configurazioni di amministrazione.

  3. Scegli il link che corrisponde al tuo dominio.

  4. Scegli la scheda Profili utente.

  5. Scegli il link che corrisponde al tuo utente.

  6. Nella sezione Dettagli, l’ARN del ruolo di esecuzione è elencato in Ruolo di esecuzione.

    Il nome del ruolo di esecuzione si trova dopo l’ultimo / nell’ARN del ruolo di esecuzione.

Nota

Per utilizzare i seguenti esempi, è necessario che AWS Command Line Interface (AWS CLI) sia installato e configurato. Per informazioni, consulta Nozioni di base sulla AWS CLI nella Guida per l’utente di AWS Command Line Interface per la versione 2.

Il comando get-caller-identityAWS CLI seguente visualizza informazioni sull’identità IAM utilizzata per autenticare la richiesta. Il chiamante è un utente IAM.

aws sts get-caller-identity

Il nome del ruolo di esecuzione si trova dopo l’ultimo / nell’ARN del ruolo di esecuzione.

Modifica del ruolo di esecuzione

Un ruolo di esecuzione è un ruolo IAM assunto da un'identità SageMaker AI (come un utente, uno spazio o un dominio SageMaker AI). La modifica del ruolo IAM altera le autorizzazioni per tutte le identità che assumono quel ruolo.

Quando modifichi un ruolo di esecuzione, cambia anche il ruolo di esecuzione dello spazio corrispondente. Gli effetti della modifica potrebbero essere visibili solo dopo un po’ di tempo.

  • Quando modifichi il ruolo di esecuzione di un utente, gli spazi privati creati dall’utente assumeranno il ruolo di esecuzione modificato.

  • Quando modifichi il ruolo di esecuzione predefinito di uno spazio, gli spazi condivisi nel dominio assumeranno il ruolo di esecuzione modificato.

Per ulteriori informazioni sugli spazi e sui ruoli di esecuzione, consulta Informazioni sulle autorizzazioni e sui ruoli di esecuzione dello spazio del dominio.

Puoi sostituire il ruolo di esecuzione per un’identità con un ruolo IAM diverso utilizzando una delle istruzioni seguenti.

Se invece vuoi modificare un ruolo assunto da un’identità, consulta Modifica delle autorizzazioni per il ruolo di esecuzione.

Modifica del ruolo di esecuzione predefinito del dominio

Di seguito vengono fornite istruzioni su come cambiare il ruolo di esecuzione predefinito del dominio.

Modifica il ruolo di esecuzione predefinito collegato al tuo dominio
  1. Apri la console SageMaker AI, https://console.aws.amazon.com/sagemaker/

  2. Nel riquadro di navigazione a sinistra, scegli Domini in Configurazioni di amministrazione.

  3. Scegli il link che corrisponde al tuo dominio.

  4. Scegli la scheda Impostazioni del dominio.

  5. Nella sezione Impostazioni generali, scegli Modifica.

  6. Nella sezione Autorizzazioni, in Ruolo di esecuzione predefinito, espandi l’elenco a discesa.

  7. Nell’elenco a discesa puoi scegliere un ruolo esistente, inserire un ARN personalizzato per il ruolo IAM o creare un nuovo ruolo.

    Per creare un nuovo ruolo, puoi scegliere Crea un ruolo utilizzando la procedura guidata per la creazione del ruolo.

  8. Scegli Avanti nelle fasi seguenti e seleziona Invia nell’ultima fase.

Modifica del ruolo di esecuzione predefinito dello spazio

Di seguito vengono fornite istruzioni su come cambiare il ruolo di esecuzione predefinito dello spazio. La modifica di questo ruolo di esecuzione cambierà il ruolo assunto da tutti gli spazi condivisi nel dominio.

Modifica il ruolo di esecuzione predefinito dello spazio quando crei un nuovo spazio
  1. Apri la console SageMaker AI, https://console.aws.amazon.com/sagemaker/

  2. Nel riquadro di navigazione a sinistra, scegli Domini in Configurazioni di amministrazione.

  3. Scegli il link che corrisponde al tuo dominio.

  4. Scegli la scheda Impostazioni del dominio.

  5. Nella sezione Impostazioni generali, scegli Modifica.

  6. Nella sezione Autorizzazioni, in Ruolo di esecuzione predefinito dello spazio, espandi l’elenco a discesa.

  7. Nell’elenco a discesa puoi scegliere un ruolo esistente, inserire un ARN personalizzato per il ruolo IAM o creare un nuovo ruolo.

    Per creare un nuovo ruolo, puoi scegliere Crea un ruolo utilizzando la procedura guidata per la creazione del ruolo.

  8. Scegli Avanti nelle fasi seguenti e seleziona Invia nell’ultima fase.

Modifica del ruolo di esecuzione del profilo utente

Di seguito vengono fornite istruzioni su come cambiare il ruolo di esecuzione di un utente. La modifica di questo ruolo di esecuzione cambierà il ruolo assunto da tutti gli spazi privati creati da questo utente.

Modifica il ruolo di esecuzione collegato a un utente
  1. Apri la console SageMaker AI, https://console.aws.amazon.com/sagemaker/

  2. Nel riquadro di navigazione a sinistra, scegli Domini in Configurazioni di amministrazione.

  3. Scegli il link che corrisponde al tuo dominio.

  4. Scegli la scheda Profili utente.

  5. Scegli il link che corrisponde al nome del profilo utente.

  6. Scegli Modifica.

  7. Nell’elenco a discesa puoi scegliere un ruolo esistente, inserire un ARN personalizzato per il ruolo IAM o creare un nuovo ruolo.

    Per creare un nuovo ruolo, puoi scegliere Crea un ruolo utilizzando la procedura guidata per la creazione del ruolo.

  8. Scegli Avanti nelle fasi seguenti e seleziona Invia nell’ultima fase.

Modifica delle autorizzazioni per il ruolo di esecuzione

Puoi modificare le autorizzazioni esistenti per il ruolo di esecuzione di un'identità (ad esempio un utente, uno spazio o un dominio SageMaker AI). Per farlo, individua e modifica il ruolo IAM appropriato che l’identità sta assumendo. Di seguito vengono fornite le istruzioni per eseguire questa operazione tramite la console.

Quando modifichi un ruolo di esecuzione, cambierà anche il ruolo di esecuzione dello spazio corrispondente. Gli effetti della modifica potrebbero non essere immediati.

  • Quando modifichi il ruolo di esecuzione di un utente, gli spazi privati creati dall’utente assumeranno il ruolo di esecuzione modificato.

  • Quando modifichi il ruolo di esecuzione predefinito di uno spazio, gli spazi condivisi nel dominio assumeranno il ruolo di esecuzione modificato.

Per ulteriori informazioni sugli spazi e sui ruoli di esecuzione, consulta Informazioni sulle autorizzazioni e sui ruoli di esecuzione dello spazio del dominio.

Invece, per cambiare un ruolo assunto da un’identità, consulta Modifica del ruolo di esecuzione.

Per modificare le autorizzazioni per i ruoli di esecuzione
  1. Prima di tutto, ottieni il nome dell’identità da modificare.

  2. Per modificare un ruolo assunto da un’identità, consulta Modifying a role in AWS Identity and Access Management User Guide.

    Per ulteriori informazioni e istruzioni su come aggiungere le autorizzazioni alle identità IAM, consulta Add or remove identity permissions in AWS Identity and Access Management User Guide.

Passaggio dei ruoli

Azioni come il passaggio di un ruolo tra i servizi sono una funzione comune all'interno dell' SageMaker IA. Puoi trovare maggiori dettagli su azioni, risorse e chiavi di condizione per l' SageMaker intelligenza artificiale nel Service Authorization Reference.

Il ruolo viene passato (iam:PassRole) quando effettui le chiamate API seguenti: CreateAutoMLJob, CreateCompilationJob, CreateDomain, CreateFeatureGroup, CreateFlowDefiniton, CreateHyperParameterTuningJob, CreateImage, CreateLabelingJob, CreateModel, CreateMonitoringSchedule, CreateNotebookInstance, CreateProcessingJob, CreateTrainingJob, CreateUserProfile, RenderUiTemplate, UpdateImage e UpdateNotebookInstance.

Al ruolo IAM si allega la seguente politica di fiducia, che concede all' SageMaker IA le autorizzazioni principali per assumere il ruolo ed è la stessa per tutti i ruoli di esecuzione:

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

Le autorizzazioni che hai bisogno di concedere al ruolo variano a seconda dell'API che chiami. Le seguenti sezioni spiegano queste autorizzazioni.

Nota

Invece di gestire le autorizzazioni creando una politica di autorizzazione, puoi utilizzare la politica di autorizzazione -managed. AWS AmazonSageMakerFullAccess Le autorizzazioni contenute in questa politica sono abbastanza ampie, per consentire qualsiasi azione che potresti voler eseguire nell'intelligenza artificiale. SageMaker Per un elenco delle policy, incluse le informazioni sui motivi per l'aggiunta di molte autorizzazioni, consulta AWSpolitica gestita: AmazonSageMakerFullAccess. Se si preferiscono creare policy personalizzate e gestire le autorizzazioni per limitarle alle sole azioni necessarie da eseguire con il ruolo di esecuzione, consultare i seguenti argomenti.

Per ulteriori informazioni sui ruoli IAM, consulta Ruoli IAM in Informazioni di riferimento sull’autorizzazione del servizio.

CreateAutoMLJob e API CreateAuto MLJob V2: autorizzazioni per i ruoli di esecuzione

Per un ruolo di esecuzione che puoi passare in una richiesta API CreateAutoMLJob o CreateAutoMLJobV2, puoi collegare la policy di autorizzazione minima seguente al ruolo:

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

Se specifichi un VPC privato per il tuo processo AutoML, aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }

Se l'input è crittografato utilizzando la crittografia lato server con una chiave AWS gestita da KMS (SSE-KMS), aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "kms:Decrypt" ] }

Se specifichi una chiave KMS nella configurazione di output del processo AutoML, aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "kms:Encrypt" ] }

Se specifichi una chiave KMS del volume nella configurazione della risorsa del processo AutoML, aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "kms:CreateGrant" ] }

CreateDomain API: autorizzazioni per i ruoli di esecuzione

Il ruolo di esecuzione per i domini con IAM Identity Center e il user/execution ruolo per i domini IAM richiedono le seguenti autorizzazioni quando si passa una chiave gestita AWS KMS dal cliente come KmsKeyId nella richiesta API. CreateDomain Le autorizzazioni vengono applicate durante la chiamata API CreateApp.

Per un ruolo di esecuzione che puoi passare in una richiesta API CreateDomain, puoi collegare la seguente policy di autorizzazione al ruolo:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/kms-key-id" } ] }

In alternativa, se le autorizzazioni sono specificate in una policy KMS, puoi collegare la seguente policy al ruolo:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/ExecutionRole" ] }, "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*" } ] }

CreateImage e UpdateImage APIs: Autorizzazioni per i ruoli di esecuzione

Per un ruolo di esecuzione che puoi passare in una richiesta API CreateImage o UpdateImage, puoi collegare la seguente policy di autorizzazione al ruolo:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ], "Resource": "*" } ] }

CreateNotebookInstance API: autorizzazioni per i ruoli di esecuzione

Le autorizzazioni che concedi al ruolo di esecuzione per la chiamata dell'API CreateNotebookInstance dipendono da ciò che intendi fare con l'istanza del notebook. Se prevedi di utilizzarlo per richiamare l' SageMaker intelligenza artificiale APIs e assegnare lo stesso ruolo quando chiami CreateTrainingJob e CreateModel APIs, allega al ruolo la seguente politica di autorizzazioni:

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

Per ridurre le autorizzazioni, limitale a specifiche risorse Amazon S3 e Amazon ECR, limitando "Resource": "*", come segue:

JSON
{ "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:us-east-1:111122223333:repository/my-repo1", "arn:aws:ecr:us-east-1:111122223333:repository/my-repo2", "arn:aws:ecr:us-east-1:111122223333:repository/my-repo3" ] } ] }

Se si prevede di accedere ad altre risorse, come Amazon DynamoDB o Amazon Relational Database Service, aggiungere le relative autorizzazioni a questa policy.

Nella policy precedente, crei l'ambito della policy come segue:

  • Crea l'ambito dell'autorizzazione s3:ListBucket nel bucket specifico da te specificato come InputDataConfig.DataSource.S3DataSource.S3Uri in una richiesta CreateTrainingJob.

  • Crea l'ambito delle autorizzazioni s3:GetObject , s3:PutObjecte s3:DeleteObject come segue:

    • Crea l'ambito dei seguenti valori, da te specificato in una richiesta CreateTrainingJob:

      InputDataConfig.DataSource.S3DataSource.S3Uri

      OutputDataConfig.S3OutputPath

    • Crea l'ambito dei seguenti valori, da te specificato in una richiesta CreateModel:

      PrimaryContainer.ModelDataUrl

      SuplementalContainers.ModelDataUrl

  • Crea l'ambito delle autorizzazioni ecr, come segue:

    • Crea l'ambito del valore AlgorithmSpecification.TrainingImage da te specificato in una richiesta CreateTrainingJob.

    • Crea l'ambito del valore PrimaryContainer.Image da te specificato in una richiesta CreateModel:

Le azioni cloudwatch e logs sono applicabili per le risorse "*". Per ulteriori informazioni, consulta CloudWatch Resources and Operations nella Amazon CloudWatch User Guide.

CreateHyperParameterTuningJob API: autorizzazioni per i ruoli di esecuzione

Per un ruolo di esecuzione che puoi passare in una richiesta API CreateHyperParameterTuningJob, puoi collegare la seguente policy di autorizzazione al ruolo:

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

Invece di specificare"Resource": "*", puoi assegnare queste autorizzazioni a risorse specifiche di Amazon S3, Amazon ECR CloudWatch e Amazon Logs:

JSON
{ "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:us-east-1:111122223333:repository/my-repo" }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:/aws/sagemaker/TrainingJobs*" } ] }

Se il container di addestramento associato al processo di regolazione degli iperparametri deve accedere ad altre origini dati, ad esempio a risorse DynamoDB o Amazon RDS, aggiungi le autorizzazioni rilevanti a questa policy.

Nella policy precedente, crei l'ambito della policy come segue:

  • Crea l'ambito dell'autorizzazione s3:ListBucket in un bucket specifico da te specificato come InputDataConfig.DataSource.S3DataSource.S3Uri in una richiesta CreateTrainingJob.

  • Crea l'ambito delle autorizzazioni s3:GetObject e s3:PutObject nei seguenti oggetti specificati nella configurazione di dati in entrata e in uscita in una richiesta CreateHyperParameterTuningJob:

    InputDataConfig.DataSource.S3DataSource.S3Uri

    OutputDataConfig.S3OutputPath

  • Crea l'ambito delle autorizzazioni Amazon ECR nel percorso di registro (AlgorithmSpecification.TrainingImage) da te specificato in una richiesta CreateHyperParameterTuningJob.

  • Valuta le autorizzazioni di Amazon CloudWatch Logs per registrare gruppi di lavori di SageMaker formazione.

Le azioni cloudwatch sono applicabili per le risorse "*". Per ulteriori informazioni, consulta CloudWatch Resources and Operations nella Amazon CloudWatch User Guide.

Se specifichi un VPC privato per il tuo processo di ottimizzazione degli iperparametri, aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }

Se l'input è crittografato utilizzando la crittografia lato server con una chiave AWS gestita da KMS (SSE-KMS), aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "kms:Decrypt" ] }

Se specifichi una chiave KMS nella configurazione di output del processo di ottimizzazione iperparametri, aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "kms:Encrypt" ] }

Se specifichi una chiave KMS del volume nella configurazione della risorsa del processo di ottimizzazione iperparametri, aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "kms:CreateGrant" ] }

CreateProcessingJob API: autorizzazioni per i ruoli di esecuzione

Per un ruolo di esecuzione che puoi passare in una richiesta API CreateProcessingJob, puoi collegare la seguente policy di autorizzazione al ruolo:

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

Invece di specificare "Resource": "*", puoi creare l'ambito delle autorizzazioni nelle risorse specifiche Amazon S3 e Amazon ECR:

JSON
{ "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:us-east-1:111122223333:repository/my-repo" } ] }

Se CreateProcessingJob.AppSpecification.ImageUri deve accedere ad altre origini dati, ad esempio le risorse DynamoDB o Amazon RDS, aggiungi autorizzazioni pertinenti a questa policy.

Nella policy precedente, crei l'ambito della policy come segue:

  • Crea l'ambito dell'autorizzazione s3:ListBucket in un bucket specifico da te specificato come ProcessingInputs in una richiesta CreateProcessingJob.

  • Crea l'ambito delle autorizzazioni s3:GetObject e s3:PutObject agli oggetti che verranno scaricati o caricati in ProcessingInputs e ProcessingOutputConfig in una richiesta CreateProcessingJob.

  • Crea l'ambito delle autorizzazioni Amazon ECR nel percorso di registro (AppSpecification.ImageUri) da te specificato in una richiesta CreateProcessingJob.

Le azioni cloudwatch e logs sono applicabili per le risorse "*". Per ulteriori informazioni, consulta CloudWatch Resources and Operations nella Amazon CloudWatch User Guide.

Se specifichi un VPC privato per il processo di elaborazione, aggiungi le seguenti autorizzazioni. Non definire l'ambito della policy con condizioni o filtri delle risorse. In caso contrario, i controlli di convalida effettuati durante la creazione del processo di elaborazione avranno esito negativo.

{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }

Se l'input è crittografato utilizzando la crittografia lato server con una chiave AWS gestita da KMS (SSE-KMS), aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "kms:Decrypt" ] }

Se specifichi una chiave KMS nella configurazione di output dell'attività di elaborazione, aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "kms:Encrypt" ] }

Se specifichi una chiave KMS del volume nella configurazione della risorsa dell'attività di elaborazione, aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "kms:CreateGrant" ] }

CreateTrainingJob API: autorizzazioni per i ruoli di esecuzione

Per un ruolo di esecuzione che puoi passare in una richiesta API CreateTrainingJob, puoi collegare la seguente policy di autorizzazione al ruolo:

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

Invece di specificare "Resource": "*", puoi creare l'ambito delle autorizzazioni nelle risorse specifiche Amazon S3 e Amazon ECR:

JSON
{ "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:us-east-1:111122223333:repository/my-repo" } ] }

Se CreateTrainingJob.AlgorithSpecifications.TrainingImage deve accedere ad altre origini dati, ad esempio le risorse DynamoDB o Amazon RDS, aggiungi autorizzazioni pertinenti a questa policy.

Nella policy precedente, crei l'ambito della policy come segue:

  • Crea l'ambito dell'autorizzazione s3:ListBucket in un bucket specifico da te specificato come InputDataConfig.DataSource.S3DataSource.S3Uri in una richiesta CreateTrainingJob.

  • Crea l'ambito delle autorizzazioni s3:GetObject e s3:PutObject nei seguenti oggetti specificati nella configurazione di dati in entrata e in uscita in una richiesta CreateTrainingJob:

    InputDataConfig.DataSource.S3DataSource.S3Uri

    OutputDataConfig.S3OutputPath

  • Crea l'ambito delle autorizzazioni Amazon ECR nel percorso di registro (AlgorithmSpecification.TrainingImage) da te specificato in una richiesta CreateTrainingJob.

Le azioni cloudwatch e logs sono applicabili per le risorse "*". Per ulteriori informazioni, consulta CloudWatch Resources and Operations nella Amazon CloudWatch User Guide.

Se specifichi un VPC privato per il tuo processo di addestramento, aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }

Se l'input è crittografato utilizzando la crittografia lato server con una chiave AWS gestita da KMS (SSE-KMS), aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "kms:Decrypt" ] }

Se specifichi una chiave KMS nella configurazione di output del processo di addestramento, aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "kms:Encrypt" ] }

Se specifichi una chiave KMS del volume nella configurazione della risorsa del processo di addestramento, aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "kms:CreateGrant" ] }

CreateModel API: autorizzazioni per i ruoli di esecuzione

Per un ruolo di esecuzione che puoi passare in una richiesta API CreateModel, puoi collegare la seguente policy di autorizzazione al ruolo:

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

Invece di specificare "Resource": "*", puoi creare l'ambito delle autorizzazioni nelle risorse specifiche Amazon S3 e Amazon ECR:

JSON
{ "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:us-east-1:111122223333:repository/my-repo", "arn:aws:ecr:us-east-1:111122223333:repository/my-repo" ] } ] }

Se CreateModel.PrimaryContainer.Image deve accedere ad altre origini dati, ad esempio le risorse Amazon DynamoDB o Amazon RDS, aggiungi autorizzazioni pertinenti a questa policy.

Nella policy precedente, crei l'ambito della policy come segue:

  • Crea l'ambito delle autorizzazioni S3 negli oggetti PrimaryContainer.ModelDataUrl in una richiesta CreateModel.

  • Crea l'ambito delle autorizzazioni ECR in un percorso di registro specifico da te specificato come PrimaryContainer.Image e SecondaryContainer.Image in una richiesta CreateModel.

Le azioni cloudwatch e logs sono applicabili per le risorse "*". Per ulteriori informazioni, consulta CloudWatch Resources and Operations nella Amazon CloudWatch User Guide.

Nota

Se prevedi di utilizzare la funzionalità SageMaker AI Deployment Guardrails per l'implementazione del modello in produzione, assicurati che il tuo ruolo di esecuzione sia autorizzato a eseguire l'cloudwatch:DescribeAlarmsazione sugli allarmi di rollback automatico.

Se specifichi un VPC privato per il tuo modello, aggiungi le seguenti autorizzazioni:

{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }