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 SageMaker esecuzione
Amazon SageMaker esegue operazioni per tuo conto utilizzando altri AWS servizi. Devi concedere SageMaker le autorizzazioni per utilizzare questi servizi e le risorse su cui agiscono. Concedi SageMaker 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. È possibile creare un ruolo di esecuzione utilizzando la SageMaker console o il AWS 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 Aggiungere autorizzazioni Amazon S3 aggiuntive a un ruolo di esecuzione SageMaker .
Nota
È possibile creare un ruolo di esecuzione direttamente quando si crea un SageMaker dominio o un'istanza di notebook.
-
Per informazioni su come creare un SageMaker dominio, consultaGuida alla configurazione con Amazon SageMaker.
-
Per informazioni su come creare una istanza del notebook, consulta Passaggio 1: crea un'istanza Amazon SageMaker Notebook per il tutorial.
Per creare un nuovo ruolo di esecuzione dalla SageMaker console
Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Selezionare Roles (Ruoli), quindi selezionare Create role (Crea ruolo).
-
Mantieni il tipo di entità attendibile come AWS servizio, quindi utilizza la freccia rivolta verso il basso per cercare SageMakerin Casi d'uso per altri AWS servizi.
-
Scegli SageMaker — Esecuzione, quindi scegli Avanti.
-
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. Seleziona Successivo. -
Inserire un nome di ruolo e una descrizione.
-
(Facoltativo) Aggiungi autorizzazioni aggiuntive e tag al ruolo.
-
Scegli Crea ruolo.
-
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.
-
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 il AWS CLI, assicuratevi di aggiornarlo e configurarlo seguendo le istruzioni riportate inConfigura il AWS CLI, quindi continuate con le istruzioni contenute inConfigurazione personalizzata utilizzando AWS CLI.
Dopo aver creato un ruolo di esecuzione, puoi associarlo a un SageMaker dominio, a un profilo utente o a un'istanza di Jupyter Notebook.
-
Per ulteriori informazioni su come associare un ruolo di esecuzione a un SageMaker dominio esistente, consulta. Modifica le impostazioni del dominio
-
Per ulteriori informazioni su come associare un ruolo di esecuzione a un profilo utente esistente, consulta Aggiunta e rimozione di profili utente.
-
Per ulteriori informazioni su come associare un ruolo di esecuzione a una istanza del notebook, consulta Aggiornamento di un'istanza del notebook.
Puoi anche passare l'ARN di un ruolo di esecuzione alla chiamata API. Ad esempio, utilizzando Amazon SageMaker Python SDK
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, ) ...
Aggiungere autorizzazioni Amazon S3 aggiuntive a un ruolo di esecuzione SageMaker
Quando utilizzi una SageMaker funzionalità con risorse in Amazon S3, ad esempio 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 l'autorizzazione del ruolo IAM a eseguire tutte le azioni che AmazonSageMakerFullAccess
consentono ma limitano questo accesso ai bucket DOC-EXAMPLE-BUCKET1 e DOC-EXAMPLE-BUCKET2. Consulta la documentazione di sicurezza per la SageMaker funzionalità specifica che stai utilizzando per ulteriori informazioni sulle autorizzazioni Amazon S3 richieste per tale funzionalità.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::
DOC-EXAMPLE-BUCKET1/*
", "arn:aws:s3:::DOC-EXAMPLE-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:::DOC-EXAMPLE-BUCKET1
", "arn:aws:s3:::DOC-EXAMPLE-BUCKET2
" ] } ] }
Ottieni ruolo di esecuzione
È possibile utilizzare la SageMaker console o il AWS CLI per recuperare l'ARN del ruolo di esecuzione associato a SageMaker un dominio, un profilo utente o un'istanza di notebook.
-
Per trovare l'ARN del ruolo di esecuzione IAM associato a un SageMaker dominio, vedere. Visualizza e modifica i domini
-
Per trovare l'ARN del ruolo di esecuzione IAM collegato a un profilo utente, consulta Visualizzazione dei profili utente e dei dettagli del profilo utente.
-
Per trovare l'ARN del ruolo di esecuzione IAM collegato a un'istanza del notebook:
Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel riquadro di navigazione a sinistra, scegli Notebook, quindi istanze del notebook .
-
Nell'elenco dei notebook, scegli quello che intendi visualizzare.
-
L'ARN si trova nella sezione Autorizzazioni e crittografia.
In alternativa, gli utenti di Amazon SageMaker Python SDK
import sagemaker sagemaker_session = sagemaker.Session() role = sagemaker.get_execution_role()
Nota
Il ruolo di esecuzione è disponibile solo quando si esegue un notebook all'interno. SageMaker Se get_execution_role
esegui su un notebook non acceso SageMaker, aspettati un errore di «regione».
Passaggio dei ruoli
Azioni come il passaggio di un ruolo tra i servizi sono una funzione comune all'interno SageMaker. Puoi trovare maggiori dettagli su Actions, Resources e Condition Keys for SageMaker nella IAM User Guide.
Trasmetti il ruolo (iam:PassRole
) quando effettui queste chiamate API: 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 le autorizzazioni SageMaker principali per assumere il ruolo ed è la stessa per tutti i ruoli di esecuzione:
{ "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. AWSAmazonSageMakerFullAccess
Le autorizzazioni contenute in questa politica sono abbastanza ampie, per consentire qualsiasi azione che potresti voler eseguire. SageMaker Per un elenco delle policy, incluse le informazioni sui motivi per l'aggiunta di molte autorizzazioni, consulta AWS politica 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.
Importante
Se riscontri problemi, consulta Risoluzione dei problemi relativi ad Amazon SageMaker Identity and Access.
Per ulteriori informazioni sui ruoli IAM, consulta Ruoli IAM nella Guida per l'utente di IAM.
Argomenti
- CreateAutoAPI MLJob: autorizzazioni per i ruoli di esecuzione
- CreateDomain API: autorizzazioni per i ruoli di esecuzione
- CreateImage e API: autorizzazioni per i ruoli di esecuzione UpdateImage
- CreateNotebookInstance API: autorizzazioni per i ruoli di esecuzione
- CreateHyperParameterTuningJob API: autorizzazioni per i ruoli di esecuzione
- CreateProcessingJob API: autorizzazioni per i ruoli di esecuzione
- CreateTrainingJob API: autorizzazioni per i ruoli di esecuzione
- CreateModel API: autorizzazioni per i ruoli di esecuzione
- SageMaker funzionalità geospaziali, ruoli
CreateAutoAPI MLJob: autorizzazioni per i ruoli di esecuzione
Per un ruolo di esecuzione che puoi passare in una richiesta API CreateAutoMLJob
, puoi collegare la seguente policy di autorizzazione minima al ruolo:
{ "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 ruolo utente/esecuzione per i domini IAM richiedono le seguenti autorizzazioni quando si passa una chiave gestita AWS KMS dal cliente come nella richiesta API. KmsKeyId
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:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "arn:aws:kms:
region
:account-id
:key/kms-key-id
" } ] }
In alternativa, se le autorizzazioni sono specificate in una policy KMS, puoi collegare la seguente policy al ruolo:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
account-id
:role/ExecutionRole
" ] }, "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*" } ] }
CreateImage e API: autorizzazioni per i ruoli di esecuzione UpdateImage
Per un ruolo di esecuzione che puoi passare in una richiesta API CreateImage
o UpdateImage
, puoi collegare la seguente policy di autorizzazione al ruolo:
{ "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 le SageMaker API e passare lo stesso ruolo quando chiami le CreateModel
API CreateTrainingJob
and, allega la seguente politica di autorizzazioni al ruolo:
{ "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:
{ "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:region
::repository/my-repo1
", "arn:aws:ecr:region
::repository/my-repo2
", "arn:aws:ecr:region
::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 comeInputDataConfig.DataSource.S3DataSource.S3Uri
in una richiestaCreateTrainingJob
. -
Crea l'ambito delle autorizzazioni
s3:GetObject
,s3:PutObject
es3: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 richiestaCreateTrainingJob
. -
Crea l'ambito del valore
PrimaryContainer.Image
da te specificato in una richiestaCreateModel
:
-
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:
{ "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:
{ "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:region
::repository/my-repo
" }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:*:*: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 comeInputDataConfig.DataSource.S3DataSource.S3Uri
in una richiestaCreateTrainingJob
. -
Crea l'ambito delle autorizzazioni
s3:GetObject
es3:PutObject
nei seguenti oggetti specificati nella configurazione di dati in entrata e in uscita in una richiestaCreateHyperParameterTuningJob
:InputDataConfig.DataSource.S3DataSource.S3Uri
OutputDataConfig.S3OutputPath
-
Crea l'ambito delle autorizzazioni Amazon ECR nel percorso di registro (
AlgorithmSpecification.TrainingImage
) da te specificato in una richiestaCreateHyperParameterTuningJob
. -
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:
{ "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:
{ "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:region
::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 comeProcessingInputs
in una richiestaCreateProcessingJob
. -
Crea l'ambito delle autorizzazioni
s3:GetObject
es3:PutObject
agli oggetti che verranno scaricati o caricati inProcessingInputs
eProcessingOutputConfig
in una richiestaCreateProcessingJob
. -
Crea l'ambito delle autorizzazioni Amazon ECR nel percorso di registro (
AppSpecification.ImageUri
) da te specificato in una richiestaCreateProcessingJob
.
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:
{ "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:
{ "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:region
::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 comeInputDataConfig.DataSource.S3DataSource.S3Uri
in una richiestaCreateTrainingJob
. -
Crea l'ambito delle autorizzazioni
s3:GetObject
es3:PutObject
nei seguenti oggetti specificati nella configurazione di dati in entrata e in uscita in una richiestaCreateTrainingJob
:InputDataConfig.DataSource.S3DataSource.S3Uri
OutputDataConfig.S3OutputPath
-
Crea l'ambito delle autorizzazioni Amazon ECR nel percorso di registro (
AlgorithmSpecification.TrainingImage
) da te specificato in una richiestaCreateTrainingJob
.
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:
{ "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:
{ "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:region
::repository/my-repo
", "arn:aws:ecr:region
::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 richiestaCreateModel
. -
Crea l'ambito delle autorizzazioni ECR in un percorso di registro specifico da te specificato come
PrimaryContainer.Image
eSecondaryContainer.Image
in una richiestaCreateModel
.
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à di SageMaker distribuzione dei guardrails per l'implementazione del modello in produzione, assicurati che il tuo ruolo di esecuzione sia autorizzato a eseguire l'cloudwatch:DescribeAlarms
azione 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" ] }