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à.
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 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 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 informazioni su come creare un dominio SageMaker AI, consultaGuida alla configurazione con Amazon SageMaker AI.
-
Per informazioni su come creare una istanza del notebook, consulta Crea un'istanza Amazon SageMaker Notebook per il tutorial.
Per creare un nuovo ruolo di esecuzione dalla console SageMaker AI
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à affidabile come AWS servizio, quindi utilizza la freccia rivolta verso il basso per trovare l'SageMaker intelligenza artificiale nei casi d'uso per altri AWS servizi.
-
Scegli SageMaker AI — 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. Scegli Next (Successivo). -
Inserire un nome di ruolo e una descrizione.
-
(Facoltativo) Aggiungi autorizzazioni aggiuntive e tag al ruolo.
-
Scegliere 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, 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.
-
Per ulteriori informazioni su come associare un ruolo di esecuzione a un dominio SageMaker AI esistente, consulta. Modifica le impostazioni del dominio
-
Per ulteriori informazioni su come associare un ruolo di esecuzione a un profilo utente esistente, consulta Aggiunta 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,
)
...
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 l'autorizzazione del ruolo IAM a eseguire tutte le azioni che AmazonSageMakerFullAccess
consentono ma limitano questo 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à.
{ "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
" ] } ] }
Assumi il tuo ruolo di esecuzione
Puoi utilizzare la console SageMaker AI
Argomenti
Ottieni il ruolo di esecuzione del dominio
Di seguito vengono fornite istruzioni su come trovare il ruolo di esecuzione del dominio.
Trova il ruolo di esecuzione associato al tuo dominio
-
Apri la console SageMaker AI, https://console.aws.amazon.com/sagemaker/
-
Nel riquadro di navigazione a sinistra, scegli Domini in Configurazioni di amministrazione.
-
Scegli il link corrispondente al tuo dominio.
-
Scegli la scheda Impostazioni del dominio.
-
Nella sezione Impostazioni generali, il ruolo di esecuzione ARN è elencato in Ruolo di esecuzione.
Il nome del ruolo di esecuzione segue l'ultimo
/
ARN del ruolo di esecuzione.
Ottieni il ruolo di esecuzione spaziale
Di seguito vengono fornite istruzioni su come trovare il ruolo di esecuzione del proprio spazio.
Trova il ruolo di esecuzione associato al tuo spazio
-
Apri la console SageMaker AI, https://console.aws.amazon.com/sagemaker/
-
Nel riquadro di navigazione a sinistra, scegli Domini in Configurazioni di amministrazione.
-
Scegli il link corrispondente al tuo dominio.
-
Scegli la scheda Gestione dello spazio.
-
Nella sezione Dettagli, il ruolo di esecuzione ARN è elencato in Ruolo di esecuzione.
Il nome del ruolo di esecuzione segue l'ultimo
/
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_role
from sagemaker import get_execution_role
role = get_execution_role()
print(role)
Il nome del ruolo di esecuzione segue l'ultimo /
ARN del ruolo di esecuzione.
Ottieni il ruolo di esecuzione dell'utente
Di seguito vengono fornite istruzioni su come trovare il ruolo di esecuzione di un utente.
Trova il ruolo di esecuzione associato a un utente
-
Apri la console SageMaker AI, https://console.aws.amazon.com/sagemaker/
-
Nel riquadro di navigazione a sinistra, scegli Domini in Configurazioni di amministrazione.
-
Scegli il link corrispondente al tuo dominio.
-
Scegli la scheda Profili utente.
-
Scegli il link corrispondente al tuo utente.
-
Nella sezione Dettagli, il ruolo di esecuzione ARN è elencato in Ruolo di esecuzione.
Il nome del ruolo di esecuzione segue l'ultimo
/
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 la Guida introduttiva AWS CLI alla versione 2 della Guida per AWS Command Line Interface l'utente.
Il get-caller-identity
aws sts get-caller-identity
Il nome del ruolo di esecuzione segue l'ultimo /
ARN del ruolo di esecuzione.
Cambia il tuo ruolo di esecuzione
Un ruolo di esecuzione è un ruolo IAM assunto da un'identità SageMaker AI (ad esempio un utente, uno spazio o un dominio SageMaker AI). La modifica del ruolo IAM modifica le autorizzazioni per tutte le identità che assumono quel ruolo.
Quando modifichi un ruolo di esecuzione, cambierà anche il ruolo di esecuzione dello spazio corrispondente. La propagazione degli effetti della modifica potrebbe richiedere del tempo.
-
Quando modifichi il ruolo di esecuzione di un utente, gli spazi privati creati da quell'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 sui ruoli e gli spazi di esecuzione, consultaComprendere lo spazio di dominio, le autorizzazioni e i ruoli di esecuzione..
Puoi modificare il ruolo di esecuzione di un'identità in un ruolo IAM diverso utilizzando una delle seguenti istruzioni.
Se, invece, desideri modificare un ruolo assunto da un'identità, consultaModifica le autorizzazioni per il ruolo di esecuzione.
Argomenti
Modificare il ruolo di esecuzione predefinito del dominio
Di seguito vengono fornite istruzioni su come modificare il ruolo di esecuzione predefinito del dominio.
Modifica il ruolo di esecuzione predefinito associato al tuo dominio
-
Apri la console SageMaker AI, https://console.aws.amazon.com/sagemaker/
-
Nel riquadro di navigazione a sinistra, scegli Domini in Configurazioni di amministrazione.
-
Scegli il link corrispondente al tuo dominio.
-
Scegli la scheda Impostazioni del dominio.
-
Nella sezione Impostazioni generali, scegli Modifica.
-
Nella sezione Autorizzazioni, in Ruolo di esecuzione predefinito, espandi l'elenco a discesa.
-
Nell'elenco a discesa puoi scegliere un ruolo esistente, inserire un ARN del ruolo IAM personalizzato o creare un nuovo ruolo.
Se desideri creare un nuovo ruolo, puoi scegliere Crea ruolo utilizzando l'opzione della procedura guidata per la creazione del ruolo.
-
Scegli Avanti nei passaggi seguenti e scegli Invia nell'ultimo passaggio.
Cambia il ruolo di esecuzione predefinito dello spazio
Di seguito vengono fornite istruzioni su come modificare 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 per quando crei un nuovo spazio
-
Apri la console SageMaker AI, https://console.aws.amazon.com/sagemaker/
-
Nel riquadro di navigazione a sinistra, scegli Domini in Configurazioni di amministrazione.
-
Scegli il link corrispondente al tuo dominio.
-
Scegli la scheda Impostazioni del dominio.
-
Nella sezione Impostazioni generali, scegli Modifica.
-
Nella sezione Autorizzazioni, sotto il ruolo di esecuzione predefinito di Space, espandi l'elenco a discesa.
-
Nell'elenco a discesa puoi scegliere un ruolo esistente, inserire un ARN del ruolo IAM personalizzato o creare un nuovo ruolo.
Se desideri creare un nuovo ruolo, puoi scegliere Crea ruolo utilizzando l'opzione della procedura guidata per la creazione del ruolo.
-
Scegli Avanti nei passaggi seguenti e scegli Invia nell'ultimo passaggio.
Cambia il ruolo di esecuzione del profilo utente
Di seguito vengono fornite istruzioni sulla modifica del 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 associato a un utente
-
Apri la console SageMaker AI, https://console.aws.amazon.com/sagemaker/
-
Nel riquadro di navigazione a sinistra, scegli Domini in Configurazioni di amministrazione.
-
Scegli il link corrispondente al tuo dominio.
-
Scegli la scheda Profili utente.
-
Scegli il link corrispondente al nome del profilo utente.
-
Scegli Modifica.
-
Nell'elenco a discesa puoi scegliere un ruolo esistente, inserire un ARN del ruolo IAM personalizzato o creare un nuovo ruolo.
Se desideri creare un nuovo ruolo, puoi scegliere Crea ruolo utilizzando l'opzione della procedura guidata per la creazione del ruolo.
-
Scegli Avanti nei passaggi seguenti e scegli Invia nell'ultimo passaggio.
Modifica le 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). Questo viene fatto individuando il ruolo IAM appropriato che l'identità assume e quindi modificando tale ruolo IAM. Di seguito verranno fornite le istruzioni su come 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 da quell'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 sui ruoli e gli spazi di esecuzione, consultaComprendere lo spazio di dominio, le autorizzazioni e i ruoli di esecuzione..
Se, invece, desideri modificare il ruolo che un'identità sta assumendo, consultaCambia il tuo ruolo di esecuzione.
Per modificare le autorizzazioni per i ruoli di esecuzione
-
Per prima cosa ottieni il nome dell'identità che desideri modificare.
-
Per modificare un ruolo assunto da un'identità, consulta Modificare un ruolo nella Guida per l'AWS Identity and Access Management utente.
Per ulteriori informazioni e istruzioni sull'aggiunta di autorizzazioni alle identità IAM, consulta Aggiungere o rimuovere le autorizzazioni di identità nella Guida per l'utente.AWS Identity and Access Management
Passaggio dei ruoli
Azioni come il passaggio di un ruolo tra i servizi sono una funzione comune all'interno dell'IA. SageMaker Puoi trovare maggiori dettagli su azioni, risorse e chiavi di condizione per l' SageMaker intelligenza artificiale nel Service Authorization Reference.
Il ruolo (iam:PassRole
) viene assegnato quando si effettuano queste chiamate API: CreateAutoMLJob
CreateCompilationJob
CreateDomain
CreateFeatureGroup
, CreateFlowDefiniton
, CreateHyperParameterTuningJob
, CreateImage
, CreateLabelingJob
, CreateModel
, CreateMonitoringSchedule
CreateNotebookInstance
, CreateProcessingJob
, CreateTrainingJob
, CreateUserProfile
, RenderUiTemplate
, UpdateImage
, e UpdateNotebookInstance
.
Alleghi la seguente policy di fiducia al ruolo IAM, che concede all' SageMaker IA le autorizzazioni 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 nell'intelligenza artificiale. 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 di Amazon SageMaker AI Identity and Access.
Per ulteriori informazioni sui ruoli IAM, consulta IAM Roles nel Service Authorization Reference.
Argomenti
CreateAutoMLJob e API CreateAuto MLJob V2: autorizzazioni per i ruoli di esecuzione
CreateImage e: Autorizzazioni per i ruoli di esecuzione UpdateImage APIs
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
CreateAutoMLJob e API CreateAuto MLJob V2: autorizzazioni per i ruoli di esecuzione
Per un ruolo di esecuzione che puoi passare in una richiesta CreateAutoMLJob
o CreateAutoMLJobV2
API, puoi allegare al ruolo la seguente politica di autorizzazione minima:
{
"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: Autorizzazioni per i ruoli di esecuzione UpdateImage APIs
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 l' SageMaker intelligenza artificiale APIs e assegnare lo stesso ruolo quando chiami CreateTrainingJob
e CreateModel
APIs, allega al ruolo la seguente politica di autorizzazioni:
{
"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à SageMaker AI Deployment 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"
]
}