Autorizzazioni e sicurezza in IA aumentata Amazon - 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 e sicurezza in IA aumentata Amazon

Quando utilizzi Amazon Augmented AI (Amazon A2I) per creare un flusso di lavoro di revisione umana per la tua applicazione ML/AI, crei e configuri risorse in SageMaker Amazon, come una forza lavoro umana e modelli di attività dei lavoratori. Per configurare e avviare un ciclo umano, puoi integrare Amazon A2I con altri AWS servizi come Amazon Textract o Amazon Rekognition oppure utilizzare l'API Amazon Augmented AI Runtime. Per creare un flusso di lavoro di revisione umana e avviare un ciclo umano, devi associare determinate policy al tuo AWS Identity and Access Management ruolo o utente (IAM). Nello specifico:

  • Quando avvii un ciclo umano utilizzando dati di input di immagini a partire dal 12 gennaio 2020, devi aggiungere una policy di intestazione CORS al bucket Amazon S3 che contiene i dati di input. Per ulteriori informazioni, consulta Requisiti per l'autorizzazione CORS.

  • Quando crei una definizione del flusso, devi fornire un ruolo che conceda ad Amazon A2I l'autorizzazione all'accesso ad Amazon S3 sia per la lettura degli oggetti che vengono visualizzati in un'interfaccia utente di attività umana sia per la scrittura dei risultati della revisione umana.

    A questo ruolo deve inoltre essere associata una politica di fiducia per SageMaker autorizzare l'assunzione del ruolo. Ciò consente ad Amazon A2I di eseguire le operazioni in base alle autorizzazioni collegate al ruolo.

    Vedi Aggiungere autorizzazioni al ruolo IAM utilizzato per creare una definizione del flusso per policy di esempio che puoi modificare e collegare al ruolo utilizzato per creare una definizione del flusso. Queste sono le policy associate al ruolo IAM creato nella sezione Human Review Workflows dell'area Amazon A2I della console. SageMaker

  • Per creare e avviare dei cicli umani, puoi utilizzare un'operazione API da un tipo di attività predefinito (ad esempio DetectModerationLabel o AnalyzeDocument) o l'operazione StartHumanLoop API di runtime Amazon A2I in un'applicazione ML personalizzata. Devi collegare la policy gestita AmazonAugmentedAIFullAccess all'utente che richiama queste operazioni API per concedere l'autorizzazione a questi servizi per l'utilizzo delle operazioni Amazon A2I. Per scoprire come, consulta Creazione di un utente che può richiamare operazioni API Amazon A2I.

    Questa politica non concede l'autorizzazione a richiamare le operazioni API del AWS servizio associate ai tipi di attività integrati. Ad esempio, AmazonAugmentedAIFullAccess non concede l'autorizzazione per richiamare l'operazione API DetectModerationLabel Amazon Rekognition o l'operazione API AnalyzeDocument Amazon Textract. Puoi utilizzare la policy più generale, AmazonAugmentedAIIntegratedAPIAccess, per concedere queste autorizzazioni. Per ulteriori informazioni, consulta Crea un utente con le autorizzazioni per richiamare le operazioni API Amazon A2I, Amazon Textract e Amazon Rekognition. Questa è una buona opzione quando desideri concedere a un utente ampie autorizzazioni per utilizzare Amazon A2I e le operazioni API AWS dei servizi integrati.

    Se desideri configurare autorizzazioni più granulari, consulta Esempi di policy basate su identità di Amazon Rekognition e Esempi di policy basate su identità di Amazon Textract per le policy basate su identità che puoi utilizzare per concedere l'autorizzazione all'utilizzo di questi singoli servizi.

  • Per visualizzare in anteprima il modello dell'interfaccia utente dell'attività worker personalizzata, è necessario un ruolo IAM con autorizzazioni per leggere gli oggetti Amazon S3 che vengono sottoposti a rendering nell'interfaccia utente. Vedi un esempio di policy in Abilitazione delle anteprime dei modelli di attività del worker .

Requisiti per l'autorizzazione CORS

All'inizio del 2020, i browser più diffusi come Chrome e Firefox hanno modificato il comportamento predefinito per la rotazione delle immagini in base ai metadati delle immagini, denominati dati EXIF. In precedenza, le immagini venivano sempre visualizzate nei browser esattamente come venivano archiviate su disco, che in genere non era ruotato. Dopo la modifica, le immagini ora ruotano in base a un frammento di metadati dell'immagine chiamato valore di orientamento. Ciò ha importanti implicazioni per l'intera comunità di machine learning (ML). Ad esempio, se non si considera l'orientamento EXIF, le applicazioni utilizzate per annotare le immagini possono visualizzare le immagini con orientamenti imprevisti e generare etichette errate.

A partire da Chrome 89, non è più AWS possibile impedire automaticamente la rotazione delle immagini perché il gruppo di standard web W3C ha deciso che la possibilità di controllare la rotazione delle immagini viola la politica del Web relativa alla stessa origine. Pertanto, per garantire che gli operatori umani annotino le immagini di input con un orientamento prevedibile quando invii richieste per creare un ciclo umano, devi aggiungere una policy di intestazione CORS ai bucket S3 che contengono le immagini di input.

Importante

Se non aggiungi una configurazione CORS ai bucket S3 che contengono i dati di input, le attività di revisione umana per tali oggetti di dati di input hanno esito negativo.

Puoi aggiungere una policy CORS a un bucket S3 che contiene dati di input nella console Amazon S3. Per impostare le intestazioni CORS richieste sul bucket S3 che contiene le immagini di input nella console S3, segui le istruzioni dettagliate in Come aggiungere la condivisione delle risorse multidominio con la funzionalità CORS? Utilizza il seguente codice di configurazione CORS per i bucket che ospitano le tue immagini. Se utilizzi la console Amazon S3 per aggiungere la policy al tuo bucket, devi utilizzare il formato JSON.

JSON

[{ "AllowedHeaders": [], "AllowedMethods": ["GET"], "AllowedOrigins": ["*"], "ExposeHeaders": [] }]

XML

<CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> </CORSRule> </CORSConfiguration>

La seguente GIF illustra le istruzioni contenute nella documentazione di Amazon S3 per aggiungere una policy di intestazione CORS utilizzando la console Amazon S3.

Amazon S3 console showing an empty bucket named chopt-example-bucket. (AI generated)

Aggiungere autorizzazioni al ruolo IAM utilizzato per creare una definizione del flusso

Per creare una definizione di flusso, collega le politiche di questa sezione al ruolo che utilizzi quando crei un flusso di lavoro di revisione umana nella SageMaker console o quando utilizzi l'operazione API. CreateFlowDefinition

  • Se utilizzi la console per creare un flusso di lavoro di revisione umana, inserisci in nome della risorsa Amazon (ARN) del ruolo nel campo IAM role (Ruolo IAM) quando crei un flusso di lavoro di revisione umana nella console.

  • Quando crei una definizione del flusso utilizzando l'API, collega queste policy al ruolo passato al parametro RoleArn dell'operazione CreateFlowDefinition.

Quando crei un flusso di lavoro di revisione umana (definizione del flusso), Amazon A2I richiama Amazon S3 per completare l'attività. Per concedere ad Amazon A2I l'autorizzazione per recuperare e archiviare i file nel bucket Amazon S3, crea la policy seguente e collegala al ruolo. Ad esempio, se le immagini, i documenti e altri file che invii per la revisione umana sono memorizzati in un bucket S3 denominato my_input_bucket e se vuoi che le revisioni umane vengano archiviate in un bucket denominato my_output_bucket, crea la seguente policy.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::my_input_bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::my_output_bucket/*" ] } ] }

Inoltre, il ruolo IAM deve avere la seguente politica di fiducia per SageMaker autorizzare l'assunzione del ruolo. Per ulteriori informazioni sulle policy di attendibilità IAM, consulta la sezione Policy basate sulle risorse di Criteri e autorizzazioni nella documentazione AWS Identity and Access Management.

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

Per ulteriori informazioni sulla creazione e sulla gestione di ruoli e policy IAM, consulta i seguenti argomenti nella Guida per l'utente di AWS Identity and Access Management :

Creazione di un utente che può richiamare operazioni API Amazon A2I

Per utilizzare Amazon A2I per creare e avviare cicli umani per Amazon Rekognition, Amazon Textract o l'API di runtime Amazon A2I, devi utilizzare un utente che disponga delle autorizzazioni per richiamare le operazioni Amazon A2I. A tale scopo, utilizza la console IAM per collegare la policy gestita AmazonAugmentedAIFullAccess a un utente nuovo o esistente.

Questa policy concede l'autorizzazione a un utente di richiamare le operazioni API dall' SageMaker API per la creazione e la gestione delle definizioni di flusso e dall'API Amazon Augmented AI Runtime per la creazione e la gestione di loop umani. Per ulteriori informazioni su queste operazioni API, consulta Utilizzo delle API in IA aumentata Amazon.

AmazonAugmentedAIFullAccess non concede autorizzazioni per l'utilizzo delle operazioni API Amazon Rekognition o Amazon Textract.

Nota

Puoi anche collegare la policy AmazonAugmentedAIFullAccess a un ruolo IAM utilizzato per creare e avviare un ciclo umano.

Per fornire l'accesso, aggiungi autorizzazioni ai tuoi utenti, gruppi o ruoli:

  • Utenti e gruppi in: AWS IAM Identity Center

    Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina Create a permission set (Creazione di un set di autorizzazioni) nella Guida per l'utente di AWS IAM Identity Center .

  • Utenti gestiti in IAM tramite un provider di identità:

    Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina Creating a role for a third-party identity provider (federation) (Creazione di un ruolo per un provider di identità di terze parti [federazione]) nella Guida per l'utente di IAM.

  • Utenti IAM:

    • Crea un ruolo che l'utente possa assumere. Per istruzioni, consulta la pagina Creating a role for an IAM user (Creazione di un ruolo per un utente IAM) nella Guida per l'utente di IAM.

    • (Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina Aggiunta di autorizzazioni a un utente (console) nella Guida per l'utente di IAM.

Per ulteriori informazioni, consulta Aggiunta e rimozione di autorizzazioni per identità IAM nella Guida per l'utente di AWS Identity and Access Management .

Crea un utente con le autorizzazioni per richiamare le operazioni API Amazon A2I, Amazon Textract e Amazon Rekognition

Per creare un utente che disponga dell'autorizzazione per richiamare le operazioni API utilizzate dai tipi di attività integrati (ovvero, DetectModerationLables per Amazon Rekognition e AnalyzeDocument per Amazon Textract) e l'autorizzazione per l'utilizzo di tutte le operazioni API Amazon A2I, collega la policy IAM gestita, AmazonAugmentedAIIntegratedAPIAccess. Puoi utilizzare questo criterio quando desideri concedere autorizzazioni estese a un utente che utilizza Amazon A2I con più di un tipo di attività. Per ulteriori informazioni su queste operazioni API, consulta Utilizzo delle API in IA aumentata Amazon.

Nota

Puoi anche collegare la policy AmazonAugmentedAIIntegratedAPIAccess a un ruolo IAM utilizzato per creare e avviare un ciclo umano.

Per fornire l'accesso, aggiungi autorizzazioni ai tuoi utenti, gruppi o ruoli:

  • Utenti e gruppi in AWS IAM Identity Center:

    Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina Create a permission set (Creazione di un set di autorizzazioni) nella Guida per l'utente di AWS IAM Identity Center .

  • Utenti gestiti in IAM tramite un provider di identità:

    Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina Creating a role for a third-party identity provider (federation) (Creazione di un ruolo per un provider di identità di terze parti [federazione]) nella Guida per l'utente di IAM.

  • Utenti IAM:

    • Crea un ruolo che l'utente possa assumere. Per istruzioni, consulta la pagina Creating a role for an IAM user (Creazione di un ruolo per un utente IAM) nella Guida per l'utente di IAM.

    • (Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina Aggiunta di autorizzazioni a un utente (console) nella Guida per l'utente di IAM.

Per ulteriori informazioni, consulta Aggiunta e rimozione di autorizzazioni per identità IAM nella Guida per l'utente di AWS Identity and Access Management .

Abilitazione delle anteprime dei modelli di attività del worker

Per personalizzare l'interfaccia e le istruzioni visualizzate dai worker quando utilizzano le attività, è possibile utilizzare un modello di attività del worker. È possibile creare il modello utilizzando l'CreateHumanTaskUioperazione o la SageMaker console.

Per visualizzare il modello in anteprima, è necessario un ruolo IAM con le autorizzazioni seguenti per leggere gli oggetti Amazon S3 che vengono visualizzati nell'interfaccia utente.

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

Per i tipi di task Amazon Rekognition e Amazon Textract, puoi visualizzare in anteprima il modello utilizzando la sezione Amazon Augmented AI della console. SageMaker Per i tipi di attività personalizzati, puoi visualizzare in anteprima il modello richiamando l'operazione RenderUiTemplate. Per visualizzare l'anteprima del modello, segui le istruzioni per il tipo di attività:

  • SageMaker Tipi di attività Amazon Rekognition e Amazon Textract: nella console, usa l'Amazon Resource Name (ARN) del ruolo nella procedura documentata in. Creazione di un modello di attività di worker

  • Tipi di attività personalizzati – Nell'operazione RenderUiTemplate, utilizza l'ARN del ruolo nel parametro RoleArn.

Utilizzo di Amazon A2I con AWS KMS bucket crittografati

Se specifichi una chiave gestita dal cliente AWS Key Management Service (AWS KMS) in cui crittografare i dati OutputConfig di output CreateFlowDefinition, devi aggiungere a quella chiave una policy IAM simile alla seguente. Questa policy concede al ruolo di esecuzione IAM utilizzato per creare i cicli umani l'autorizzazione a utilizzare questa chiave per eseguire tutte le azioni elencate in "Action". Per ulteriori informazioni su queste azioni, consulta le AWS KMS autorizzazioni nella Guida per gli AWS Key Management Service sviluppatori.

Per utilizzare questa policy, sostituisci l'ARN del ruolo di servizio IAM in "Principal" con l'ARN del ruolo di esecuzione che utilizzi per creare il flusso di lavoro di revisione umana (definizione del flusso). Quando crei un processo di etichettatura utilizzando CreateFlowDefinition, questo è l'ARN specificato per RoleArn. Tieni presente che non puoi fornire un KmsKeyId quando crei una definizione del flusso nella console.

{ "Sid": "AllowUseOfKmsKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/service-role/example-role" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

Autorizzazioni aggiuntive e risorse di sicurezza