Esempi di policy basate sull'identità per Amazon Comprehend - Amazon Comprehend

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

Esempi di policy basate sull'identità per Amazon Comprehend

Per impostazione predefinita, gli utenti e i ruoli non sono autorizzati a creare o modificare risorse Amazon Comprehend. Inoltre, non sono in grado di eseguire attività utilizzando la AWS Management Console, l'AWS Command Line Interface (AWS CLI) o l'API AWS. Per concedere agli utenti l'autorizzazione per eseguire operazioni sulle risorse di cui hanno bisogno, un amministratore IAM può creare policy IAM. L'amministratore può quindi aggiungere le policy IAM ai ruoli e gli utenti possono assumere i ruoli.

Per informazioni su come creare una policy basata su identità IAM utilizzando questi documenti di policy JSON di esempio, consulta Creazione di policy IAM nella Guida per l'utente di IAM.

Per dettagli sulle azioni e sui tipi di risorse definiti da Amazon Comprehend, incluso il formato degli ARN per ciascun tipo di risorsa, consulta Azioni, risorse e chiavi di condizione per Amazon Comprehend nel Service Authorization Reference.

Best practice per le policy

Le politiche basate sull'identità determinano se qualcuno può creare, accedere o eliminare risorse Amazon Comprehend nel tuo account. Queste operazioni possono comportare costi aggiuntivi per l'Account AWS. Quando crei o modifichi policy basate su identità, segui queste linee guida e raccomandazioni:

  • Nozioni di base sulle policy gestite da AWSe passaggio alle autorizzazioni con privilegio minimo: per le informazioni di base su come concedere autorizzazioni a utenti e carichi di lavoro, utilizza le policy gestite da AWSche concedono le autorizzazioni per molti casi d'uso comuni. Sono disponibili nel tuo Account AWS. Ti consigliamo pertanto di ridurre ulteriormente le autorizzazioni definendo policy gestite dal cliente di AWSspecifiche per i tuoi casi d'uso. Per ulteriori informazioni, consulta Policy gestite da AWS o Policy gestite da AWS per le funzioni dei processi nella Guida per l'utente IAM.

  • Applica le autorizzazioni con privilegi minimi: quando imposti le autorizzazioni con le policy IAM, concedi solo le autorizzazioni richieste per eseguire un'attività. Puoi farlo definendo le azioni che possono essere intraprese su risorse specifiche in condizioni specifiche, note anche come autorizzazioni con privilegi minimi. Per ulteriori informazioni sull'utilizzo di IAM per applicare le autorizzazioni, consulta Policy e autorizzazioni in IAM nella Guida per l'utente di IAM.

  • Condizioni d'uso nelle policy IAM per limitare ulteriormente l'accesso: per limitare l'accesso a operazioni e risorse puoi aggiungere una condizione alle tue policy. Ad esempio, è possibile scrivere una condizione di policy per specificare che tutte le richieste devono essere inviate utilizzando SSL. Puoi inoltre utilizzare le condizioni per concedere l'accesso alle operazioni di servizio, ma solo se vengono utilizzate tramite uno specifico AWS servizio, ad esempio AWS CloudFormation. Per ulteriori informazioni, consulta la sezione Elementi delle policy JSON di IAM: condizione nella Guida per l'utente di IAM.

  • Utilizzo di IAM Access Analyzer per convalidare le policy IAM e garantire autorizzazioni sicure e funzionali: IAM Access Analyzer convalida le policy nuove ed esistenti in modo che aderiscano alla sintassi della policy IAM (JSON) e alle best practice di IAM. IAM Access Analyzer offre oltre 100 controlli delle policy e consigli utili per creare policy sicure e funzionali. Per ulteriori informazioni, consulta Convalida delle policy per IAM Access Analyzer nella Guida per l'utente di IAM.

  • Richiesta dell'autenticazione a più fattori (MFA): se hai uno scenario che richiede utenti IAM o utenti root nel tuo Account AWS, attiva MFA per una maggiore sicurezza. Per richiedere la MFA quando vengono chiamate le operazioni API, aggiungi le condizioni MFA alle policy. Per ulteriori informazioni, consulta Configurazione dell'accesso alle API protetto con MFA nella Guida per l'utente di IAM.

Per maggiori informazioni sulle best practice in IAM, consulta Best practice di sicurezza in IAM nella Guida per l'utente di IAM.

Utilizzo della console Amazon Comprehend

Per accedere alla console Amazon Comprehend, devi disporre di un set minimo di autorizzazioni. Queste autorizzazioni devono consentirti di elencare e visualizzare i dettagli sulle risorse Amazon Comprehend presenti nel tuo. Account AWS Se crei una policy basata sull'identità più restrittiva rispetto alle autorizzazioni minime richieste, la console non funzionerà nel modo previsto per le entità (utenti o ruoli) associate a tale policy.

Non è necessario concedere le autorizzazioni minime della console agli utenti che effettuano chiamate solo alla AWS CLI o all'API AWS. Al contrario, concedi l'accesso solo alle operazioni che corrispondono all'operazione API che stanno cercando di eseguire.

Per le autorizzazioni minime della console Amazon Comprehend, puoi allegare la policy ComprehendReadOnly AWS gestita alle entità. Per ulteriori informazioni, consulta Aggiunta di autorizzazioni a un utente nella Guida per l'utente IAM.

Per utilizzare la console Amazon Comprehend, sono inoltre necessarie le autorizzazioni per le azioni mostrate nella seguente politica:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:ListRoles", "iam:GetRole", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": "*" } ] }

La console Amazon Comprehend necessita di queste autorizzazioni aggiuntive per i seguenti motivi:

  • iamautorizzazioni per elencare i ruoli IAM disponibili per il tuo account.

  • s3autorizzazioni per accedere ai bucket e agli oggetti Amazon S3 che contengono i dati per la modellazione degli argomenti.

Quando crei un processo batch asincrono o un lavoro di modellazione di argomenti utilizzando la console, hai la possibilità di fare in modo che la console crei un ruolo IAM per il tuo lavoro. Per creare un ruolo IAM, agli utenti devono essere concesse le seguenti autorizzazioni aggiuntive per creare ruoli e policy IAM e per associare policy ai ruoli:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/*Comprehend*" } ] }

La console Amazon Comprehend necessita di queste autorizzazioni aggiuntive per i seguenti motivi:

  • iamautorizzazioni per creare ruoli e politiche e per allegare ruoli e politiche. L'iam:PassRoleazione consente alla console di passare il ruolo ad Amazon Comprehend.

Consentire agli utenti di visualizzare le loro autorizzazioni

Questo esempio mostra in che modo è possibile creare una policy che consente agli utenti IAM di visualizzare le policy inline e gestite che sono allegate alla relativa identità utente. La policy include le autorizzazioni per completare questa azione sulla console o a livello di programmazione utilizzando la AWS CLIo l'API AWS.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Autorizzazioni necessarie per eseguire azioni di analisi dei documenti

La seguente politica di esempio concede le autorizzazioni per utilizzare le azioni di analisi dei documenti di Amazon Comprehend:

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowDetectActions", "Effect": "Allow", "Action": [ "comprehend:DetectEntities", "comprehend:DetectKeyPhrases", "comprehend:DetectDominantLanguage", "comprehend:DetectSentiment", "comprehend:DetectTargetedSentiment", "comprehend:DetectSyntax", "textract:DetectDocumentText", "textract:AnalyzeDocument" ], "Resource": "*" } ] }

La policy contiene una dichiarazione che concede il permesso di utilizzare le azioniDetectEntities,,DetectKeyPhrases, DetectDominantLanguageDetectTargetedSentiment, DetectSentiment e. DetectSyntax La dichiarazione politica concede inoltre le autorizzazioni per l'uso di due metodi API Amazon Textract. Amazon Comprehend utilizza questi metodi per estrarre testo da file di immagini e documenti PDF scansionati. Puoi rimuovere queste autorizzazioni per gli utenti che non eseguono mai inferenze personalizzate per questi tipi di file di input.

Un utente con questa politica non sarebbe in grado di eseguire azioni batch o azioni asincrone nel proprio account.

La policy non specifica l'elemento Principal poiché in una policy basata su identità non si specifica il principale che ottiene l'autorizzazione. Quando alleghi una policy a un utente, l'utente è il principale implicito. Quando colleghi una policy di autorizzazioni a un ruolo IAM, il principale identificato nella policy di attendibilità del ruolo ottiene le autorizzazioni.

Per una tabella che mostra tutte le azioni dell'API Amazon Comprehend e le risorse a cui si applicano, consulta Azioni, risorse e chiavi di condizione per Amazon Comprehend nel Service Authorization Reference.

Autorizzazioni necessarie per utilizzare la crittografia KMS

Per utilizzare appieno Amazon Key Management Service (KMS) per la crittografia di dati e processi in un processo asincrono, devi concedere le autorizzazioni per le azioni mostrate nella seguente politica:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "kms:CreateGrant" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "kms:Decrypt", "kms:GenerateDatakey" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "s3.region.amazonaws.com" ] } } } ] }

Quando crei un lavoro asincrono con Amazon Comprehend, usi i dati di input archiviati su Amazon S3. Con S3, hai la possibilità di crittografare i dati archiviati, che vengono crittografati da S3 e non da Amazon Comprehend. Possiamo decrittografare e leggere i dati di input crittografati se fornisci l'kms:Decryptautorizzazione per la chiave con cui i dati di input originali sono stati crittografati per il ruolo di accesso ai dati utilizzato dal job Amazon Comprehend.

Hai anche la possibilità di utilizzare le chiavi gestite dal cliente (CMK) KMS per crittografare i risultati di output su S3, nonché il volume di storage utilizzato durante l'elaborazione del lavoro. A tale scopo, è possibile utilizzare la stessa chiave KMS per entrambi i tipi di crittografia, ma ciò non è necessario. Durante la creazione del lavoro sono disponibili campi separati per specificare le chiavi per la crittografia dell'output e la crittografia del volume ed è anche possibile utilizzare una chiave KMS di un account diverso.

Quando si utilizza la crittografia KMS, è richiesta kms:CreateGrant l'autorizzazione per la crittografia dei volumi e kms:GenerateDataKey l'autorizzazione è necessaria per la crittografia dei dati di output. Per leggere input crittografati (come quando i dati di input sono già crittografati da Amazon S3), è kms:Decrypt richiesta l'autorizzazione. Il ruolo IAM deve fornire queste autorizzazioni secondo necessità. Tuttavia, se la chiave proviene da un account diverso da quello attualmente utilizzato, la politica delle chiavi KMS per quella chiave kms deve fornire queste autorizzazioni anche al ruolo di accesso ai dati per il lavoro.

AWSpolitiche gestite (predefinite) per Amazon Comprehend

AWS gestisce molti casi di utilizzo comune con policy IAM autonome create e amministrate da AWS. Queste policy gestite da AWS concedono le autorizzazioni necessarie per i casi di utilizzo comune in modo da non dover cercare quali sono le autorizzazioni richieste. Per ulteriori informazioni, consulta AWSpolicy gestite nella Guida per l'utente di IAM.

Le seguenti politiche AWS gestite, che puoi allegare agli utenti del tuo account, sono specifiche di Amazon Comprehend:

  • ComprehendFullAccess— Garantisce l'accesso completo alle risorse di Amazon Comprehend, inclusa l'esecuzione di lavori di modellazione tematica. Include il permesso di elencare e ottenere ruoli IAM.

  • ComprehendReadOnly— Concede l'autorizzazione a eseguire tutte le azioni di Amazon Comprehend StartDominantLanguageDetectionJob tranneStartEntitiesDetectionJob,,StartKeyPhrasesDetectionJob, StartSentimentDetectionJobStartTargetedSentimentDetectionJob, e. StartTopicsDetectionJob

È necessario applicare la seguente politica aggiuntiva a tutti gli utenti che utilizzeranno Amazon Comprehend:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/*Comprehend*" } ] }

Puoi rivedere le politiche di autorizzazione gestite accedendo alla console IAM e cercando lì politiche specifiche.

Queste politiche funzionano quando si utilizzano gli AWS SDK o la AWS CLI.

Puoi anche creare policy IAM personalizzate per consentire le autorizzazioni per azioni e risorse di Amazon Comprehend. Puoi allegare queste politiche personalizzate agli utenti, ai gruppi o ai ruoli che richiedono tali autorizzazioni.

Autorizzazioni basate sui ruoli necessarie per le operazioni asincrone

Per utilizzare le operazioni asincrone di Amazon Comprehend, devi concedere ad Amazon Comprehend l'accesso al bucket Amazon S3 che contiene la tua raccolta di documenti. A tale scopo, puoi creare un ruolo di accesso ai dati nel tuo account con una politica di fiducia per considerare affidabile il responsabile del servizio Amazon Comprehend. Per ulteriori informazioni sulla creazione di un ruolo, vedere Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio nella Guida per l'utente di AWS Identity and Access Management.

Di seguito viene illustrato un esempio di politica di fiducia per il ruolo creato. Per facilitare la prevenzione della confusione tra i deputati, limitate l'ambito dell'autorizzazione utilizzando una o più chiavi di contesto relative alle condizioni globali. Imposta il valore aws:SourceAccount sull'ID del tuo account. Se si utilizza la ArnEquals condizione, impostare il aws:SourceArn valore sull'ARN del lavoro. Usa un carattere jolly per il numero del lavoro nell'ARN, poiché Amazon Comprehend genera questo numero come parte della creazione di posti di lavoro.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "comprehend.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnEquals": { "aws:SourceArn": "arn:aws:comprehend:us-west-2:111122223333:pii-entities-detection-job/*" } } } ] }

Dopo aver creato il ruolo, crea una politica di accesso per quel ruolo. Ciò dovrebbe concedere Amazon S3 GetObject e ListBucket le autorizzazioni al bucket Amazon S3 che contiene i dati di input e l'autorizzazione PutObject Amazon S3 al bucket di dati di output Amazon S3.

Autorizzazioni per consentire tutte le azioni di Amazon Comprehend

Dopo la registrazioneAWS, crei un utente amministratore per gestire il tuo account, inclusa la creazione di utenti e la gestione delle relative autorizzazioni.

Puoi scegliere di creare un utente con le autorizzazioni per tutte le azioni di Amazon Comprehend (considera questo utente un amministratore specifico del servizio) per lavorare con Amazon Comprehend. È possibile collegare la policy di autorizzazione seguente a tale utente.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllComprehendActions", "Effect": "Allow", "Action": [ "comprehend:*", "iam:ListRoles", "iam:GetRole", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketLocation", "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy", "kms:CreateGrant", "kms:Decrypt", "kms:GenerateDatakey" ], "Resource": "*" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/*Comprehend*" } ] }

Queste autorizzazioni possono essere modificate per quanto riguarda la crittografia nei seguenti modi:

  • Per consentire ad Amazon Comprehend di analizzare i documenti archiviati in un bucket S3 crittografato, il ruolo IAM deve disporre dell'autorizzazione. kms:Decrypt

  • Per consentire ad Amazon Comprehend di crittografare i documenti archiviati su un volume di storage collegato all'istanza di calcolo che elabora il processo di analisi, il ruolo IAM deve disporre dell'autorizzazione. kms:CreateGrant

  • Per consentire ad Amazon Comprehend di crittografare i risultati di output nel proprio bucket S3, il ruolo IAM deve disporre dell'autorizzazione. kms:GenerateDataKey

Autorizzazioni per consentire azioni di modellazione degli argomenti

La seguente politica di autorizzazione concede le autorizzazioni agli utenti per eseguire le operazioni di modellazione tematica di Amazon Comprehend.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowTopicModelingActions", "Effect": "Allow", "Action": [ "comprehend:DescribeTopicsDetectionJob", "comprehend:ListTopicsDetectionJobs", "comprehend:StartTopicsDetectionJob", ], "Resource": "*" ] } ] }

Autorizzazioni necessarie per un processo di analisi asincrono personalizzato

Importante

Se disponi di una policy IAM che limita l'accesso al modello, non sarai in grado di completare un lavoro di inferenza con un modello personalizzato. La tua policy IAM dovrebbe essere aggiornata in modo da avere una risorsa wildcard per un processo di analisi asincrona personalizzato.

Se utilizzi le StartEntitiesDetectionJobAPI StartDocumentClassificationJob and, devi aggiornare la tua policy IAM a meno che non utilizzi attualmente i caratteri jolly come risorse. Se StartEntitiesDetectionJobutilizzi un modello già addestrato, ciò non ha alcun impatto su di te e non devi apportare alcuna modifica.

La seguente politica di esempio contiene un riferimento obsoleto.

{ "Action": [ "comprehend:StartDocumentClassificationJob", "comprehend:StartEntitiesDetectionJob", ], "Resource": [ "arn:aws:comprehend:us-east-1:123456789012:document-classifier/myClassifier", "arn:aws:comprehend:us-east-1:123456789012:entity-recognizer/myRecognizer" ], "Effect": "Allow" }

Questa è la politica aggiornata che è necessario utilizzare per eseguire correttamente and. StartDocumentClassificationJob StartEntitiesDetectionJob

{ "Action": [ "comprehend:StartDocumentClassificationJob", "comprehend:StartEntitiesDetectionJob", ], "Resource": [ "arn:aws:comprehend:us-east-1:123456789012:document-classifier/myClassifier", "arn:aws:comprehend:us-east-1:123456789012:document-classification-job/*", "arn:aws:comprehend:us-east-1:123456789012:entity-recognizer/myRecognizer", "arn:aws:comprehend:us-east-1:123456789012:entities-detection-job/*" ], "Effect": "Allow" }