Autorizzazioni richieste per utilizzare AWS Lambda con Ground Truth - Amazon SageMaker

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

Autorizzazioni richieste per utilizzare AWS Lambda con Ground Truth

Potrebbe essere necessario configurare alcuni o tutti i seguenti elementi per creare e utilizzare AWS Lambda con Ground Truth.

  • È necessario concedere a un ruolo o utente IAM (collettivamente, un'entità IAM) l'autorizzazione a creare le funzioni Lambda di pre-annotazione e post-annotazione utilizzando e a sceglierle durante la creazione del AWS Lambda processo di etichettatura.

  • Il ruolo di esecuzione IAM specificato al momento della configurazione del processo di etichettatura richiede l'autorizzazione per richiamare le funzioni Lambda di pre-annotazione e post-annotazione.

  • Le funzioni Lambda post-annotazione potrebbero richiedere un'autorizzazione per accedere ad Amazon S3.

Utilizza le seguenti sezioni per scoprire come creare le entità IAM e concedere le autorizzazioni sopra descritte.

Concedi l'autorizzazione a creare e selezionare una funzione AWS Lambda

Se non hai bisogno di autorizzazioni granulari per sviluppare funzioni Lambda di pre-annotazione e post-annotazione, puoi allegare la policy gestita a un utente o a un ruolo. AWS AWSLambda_FullAccess Questa politica concede ampie autorizzazioni per utilizzare tutte le funzionalità Lambda, nonché l'autorizzazione a eseguire azioni in altri servizi AWS con cui Lambda interagisce.

Per creare una policy più granulare per i casi d'uso sensibili alla sicurezza, consulta la documentazione Identity-based IAM Policies for Lambda nella AWS Lambda to Developer Guide per scoprire come creare una policy IAM adatta al tuo caso d'uso.

Policy per l'utilizzo della console Lambda

Se desideri concedere a un'entità IAM il permesso di utilizzare la console Lambda, consulta Using the Lambda console nella Developer Guide. AWS Lambda

Inoltre, se desideri che l'utente sia in grado di accedere e distribuire le funzioni di pre-annotazione e post-annotazione di Ground Truth utilizzando la console Lambda, devi specificare <aws-region>dove vuoi distribuire le funzioni (deve essere la stessa AWS regione utilizzata per creare il processo di etichettatura) e aggiungere la seguente policy al ruolo IAM. AWS Serverless Application Repository

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "serverlessrepo:ListApplicationVersions", "serverlessrepo:GetApplication", "serverlessrepo:CreateCloudFormationTemplate" ], "Resource": "arn:aws:serverlessrepo:<aws-region>:838997950401:applications/aws-sagemaker-ground-truth-recipe" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "serverlessrepo:SearchApplications", "Resource": "*" } ] }

Policy per visualizzare le funzioni Lambda nella console Ground Truth

Per concedere a un'entità IAM l'autorizzazione a visualizzare le funzioni Lambda nella console Ground Truth quando l'utente crea un processo di etichettatura personalizzato, l'entità deve disporre delle autorizzazioni descritte in Concedi a IAM il permesso di utilizzare la console Amazon SageMaker Ground Truth, incluse le autorizzazioni descritte nella sezione Autorizzazioni personalizzate per il flusso di lavoro di etichettatura.

Concedi l'autorizzazione al ruolo di esecuzione IAM per richiamare le funzioni AWS Lambda

Se aggiungi la policy gestita IAM AmazonSageMakerGroundTruthExecutional ruolo di esecuzione IAM utilizzato per creare il processo di etichettatura, questo ruolo è autorizzato a elencare e richiamare le funzioni Lambda con una delle seguenti stringhe nel nome della funzione:GtRecipe,,, SageMaker o. Sagemaker sagemaker LabelingFunction

Se i nomi delle funzioni Lambda di pre-annotazione o post-annotazione non includono uno dei termini del paragrafo precedente o se è necessaria un'autorizzazione più granulare rispetto a quelle della policy gestita AmazonSageMakerGroundTruthExecution, puoi aggiungere una policy simile alla seguente per concedere l'autorizzazione al ruolo di esecuzione per richiamare le funzioni di pre-annotazione e post-annotazione.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": [ "arn:aws:lambda:<region>:<account-id>:function:<pre-annotation-lambda-name>", "arn:aws:lambda:<region>:<account-id>:function:<post-annotation-lambda-name>" ] } ] }

Concedi le autorizzazioni Lambda post-annotazione per accedere all'annotazione

Come descritto in Lambda di post-annotazione, la richiesta Lambda post-annotazione include la posizione dei dati di annotazione in Amazon S3. Questa posizione è identificata dalla stringa s3Uri nell'oggetto payload. Per elaborare le annotazioni quando arrivano, anche per una semplice funzione passthrough, è necessario assegnare le autorizzazione necessarie al ruolo di esecuzione della Lambda post-annotazione per leggere i file da Amazon S3.

Sono molti i modi per configurare il proprio Lambda ai fini dell’accesso ai dati di annotazione in Amazon S3. Due modi comuni sono i seguenti:

  • Consenti al ruolo di esecuzione Lambda di assumere il ruolo di SageMaker esecuzione identificato roleArn nella richiesta Lambda post-annotazione. Questo ruolo di SageMaker esecuzione è quello utilizzato per creare il processo di etichettatura e ha accesso al bucket di output di Amazon S3 in cui sono archiviati i dati delle annotazioni.

  • Concedi al ruolo di esecuzione Lambda l'autorizzazione ad accedere direttamente al bucket di output Amazon S3.

Utilizza le seguenti sezioni per avere ulteriori informazioni sul modo per configurare queste opzioni.

Concedi a Lambda l'autorizzazione ad assumere SageMaker il ruolo di esecuzione

Per consentire a una funzione Lambda di assumere un ruolo di SageMaker esecuzione, è necessario allegare una policy al ruolo di esecuzione della funzione Lambda e modificare la relazione di trust del ruolo di SageMaker esecuzione per consentire a Lambda di assumerlo.

  1. Associa la seguente policy IAM al ruolo di esecuzione della tua funzione Lambda per assumere il ruolo di SageMaker esecuzione identificato in. Resource Sostituisci 222222222222 con un ID di account AWS. Sostituisci sm-execution-role con il nome del ruolo assunto.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::222222222222:role/sm-execution-role" } }
  2. Modifica la politica di fiducia del ruolo di SageMaker esecuzione per includere quanto segueStatement. Sostituisci 222222222222 con un ID di account AWS. Sostituisci my-lambda-execution-role con il nome del ruolo assunto.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::222222222222:role/my-lambda-execution-role" }, "Action": "sts:AssumeRole" } ] }

Concedi a Lambda l'autorizzazione al ruolo di esecuzione per accedere ad Amazon S3

Puoi aggiungere una policy simile alla seguente al ruolo di esecuzione della funzione Lambda post-annotazione per assegnarle i permessi di lettura S3. Sostituisci DOC-EXAMPLE-BUCKET con il nome del bucket di output che hai specificato quando crei un processo di etichettatura.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }

Per aggiungere autorizzazioni di lettura S3 a un ruolo di esecuzione Lambda nella console Lambda, segui la seguente procedura.

Aggiungi le autorizzazioni di lettura S3 alla Lambda post-annotazione:
  1. Apri la pagina Funzioni nella console Lambda.

  2. Scegli il nome della funzione di post-annotazione.

  3. Scegliere Configuration (Configurazione), quindi Permissions (Autorizzazioni).

  4. Seleziona il Nome del ruolo e la pagina di riepilogo per quel ruolo si apre nella console IAM in una nuova scheda.

  5. Seleziona Collega policy.

  6. Esegui una di queste operazioni:

    • Cerca e seleziona AmazonS3ReadOnlyAccess per fornire alla funzione l'autorizzazione a leggere tutti i bucket e gli oggetti nell'account.

    • Se hai bisogno di autorizzazioni più granulari, seleziona Crea policy e usa l'esempio di policy nella sezione precedente per creare una policy. Tieni presente che è necessario tornare alla pagina di riepilogo del ruolo di esecuzione dopo aver creato la policy.

  7. Se hai utilizzato la policy gestita AmazonS3ReadOnlyAccess, seleziona Collega policy.

    Se hai creato una nuova policy, torna alla pagina di riepilogo del ruolo di esecuzione Lambda e collega la policy appena creata.