Installazione di policy e autorizzazioni per gli ambienti Jupyter locali - 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à.

Installazione di policy e autorizzazioni per gli ambienti Jupyter locali

Devi configurare le autorizzazioni e le policy necessarie per pianificare i processi del notebook negli ambienti Jupyter locali. L'utente IAM necessita delle autorizzazioni per inviare lavori all' SageMaker IA e il ruolo IAM che il job notebook stesso assume richiede le autorizzazioni per accedere alle risorse, a seconda delle attività lavorative. Di seguito vengono fornite istruzioni sulla configurazione delle autorizzazioni e delle policy necessarie.

Dovrai installare due set di autorizzazioni. Il diagramma seguente mostra la struttura delle autorizzazioni per pianificare i processi del notebook in un ambiente Jupyter locale. L'utente IAM deve configurare le autorizzazioni IAM per inviare lavori all'IA. SageMaker Dopo l'invio del processo del notebook da parte dell'utente, il processo stesso assume un ruolo IAM che ha l’autorizzazione per accedere alle risorse a seconda delle attività del processo.

Le autorizzazioni IAM necessarie all’utente e il ruolo IAM assunto dal processo in un notebook.

Le seguenti sezioni aiutano a installare le policy e le autorizzazioni necessarie sia per l'utente IAM che per il ruolo di esecuzione del processo.

Autorizzazioni degli utenti IAM

Autorizzazioni per inviare lavori all'IA SageMaker

Per aggiungere le autorizzazioni per inviare i processi, completa la seguente procedura:

  1. Apri la console IAM.

  2. Seleziona Utenti nel pannello a sinistra.

  3. Trova l'utente IAM per il tuo processo relativo al notebook e scegli il nome utente.

  4. Scegli Aggiungi autorizzazioni, quindi seleziona Crea policy inline dal menu a discesa.

  5. Scegli la scheda JSON.

  6. Copia e incolla la policy seguente:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "EventBridgeSchedule", "Effect": "Allow", "Action": [ "events:TagResource", "events:DeleteRule", "events:PutTargets", "events:DescribeRule", "events:EnableRule", "events:PutRule", "events:RemoveTargets", "events:DisableRule" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true" } } }, { "Sid": "IAMPassrole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": [ "sagemaker.amazonaws.com", "events.amazonaws.com" ] } } }, { "Sid": "IAMListRoles", "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "*" }, { "Sid": "S3ArtifactsAccess", "Effect": "Allow", "Action": [ "s3:PutEncryptionConfiguration", "s3:CreateBucket", "s3:PutBucketVersioning", "s3:ListBucket", "s3:PutObject", "s3:GetObject", "s3:GetEncryptionConfiguration", "s3:DeleteObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemaker-automated-execution-*" ] }, { "Sid": "S3DriverAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemakerheadlessexecution-*" ] }, { "Sid": "SagemakerJobs", "Effect": "Allow", "Action": [ "sagemaker:DescribeTrainingJob", "sagemaker:StopTrainingJob", "sagemaker:DescribePipeline", "sagemaker:CreateTrainingJob", "sagemaker:DeletePipeline", "sagemaker:CreatePipeline" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true" } } }, { "Sid": "AllowSearch", "Effect": "Allow", "Action": "sagemaker:Search", "Resource": "*" }, { "Sid": "SagemakerTags", "Effect": "Allow", "Action": [ "sagemaker:ListTags", "sagemaker:AddTags" ], "Resource": [ "arn:aws:sagemaker:*:*:pipeline/*", "arn:aws:sagemaker:*:*:space/*", "arn:aws:sagemaker:*:*:training-job/*", "arn:aws:sagemaker:*:*:user-profile/*" ] }, { "Sid": "ECRImage", "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchGetImage" ], "Resource": "*" } ] }

AWS KMSpolitica di autorizzazione (opzionale)

Per impostazione predefinita, i bucket Amazon S3 di input e output sono crittografati utilizzando la crittografia lato server; tuttavia, puoi specificare una chiave KMS personalizzata per crittografare i dati nel bucket Amazon S3 di output e nel volume di archiviazione collegato al processo relativo al notebook.

Se desideri utilizzare una chiave KMS personalizzata, ripeti le istruzioni precedenti collegando la policy seguente e fornisci l’ARN della chiave KMS.

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

Autorizzazioni del ruolo di esecuzione del processo

Relazioni di attendibilità

Per modificare le relazioni di attendibilità del ruolo di esecuzione del processo, completa la seguente procedura:

  1. Apri la console IAM.

  2. Seleziona Ruoli nel pannello a sinistra.

  3. Trova il ruolo di esecuzione del processo per il processo relativo al notebook e scegli il nome del ruolo.

  4. Seleziona la scheda Relazioni di attendibilità

  5. Seleziona Modifica policy di attendibilità.

  6. Copia e incolla la policy seguente:

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

Autorizzazioni aggiuntive

Una volta inviato, il processo relativo al notebook necessita delle autorizzazioni per accedere alle risorse. Le seguenti istruzioni mostrano come aggiungere un set minimo di autorizzazioni. Se necessario, aggiungi altre autorizzazioni in base alle esigenze del tuo processo relativo al notebook. Per aggiungere autorizzazioni al ruolo di esecuzione del processo, completa la seguente procedura:

  1. Apri la console IAM.

  2. Seleziona Ruoli nel pannello a sinistra.

  3. Trova il ruolo di esecuzione del processo per il processo relativo al notebook e scegli il nome del ruolo.

  4. Scegli Aggiungi autorizzazioni, quindi seleziona Crea policy inline dal menu a discesa.

  5. Scegli la scheda JSON.

  6. Copia e incolla la policy seguente:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "PassroleForJobCreation", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": "sagemaker.amazonaws.com" } } }, { "Sid": "S3ForStoringArtifacts", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::sagemaker-automated-execution-*" }, { "Sid": "S3DriverAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemakerheadlessexecution-*" ] }, { "Sid": "SagemakerJobs", "Effect": "Allow", "Action": [ "sagemaker:StartPipelineExecution", "sagemaker:CreateTrainingJob" ], "Resource": "*" }, { "Sid": "ECRImage", "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability" ], "Resource": "*" } ] }
  7. Aggiungi le autorizzazioni ad altre risorse a cui accede il processo relativo al notebook.

  8. Scegliere Esamina policy.

  9. Immetti un nome da assegnare alla policy.

  10. Scegli Crea policy.