Esempi di policy basate sull'identità per Amazon Lex V2 - Amazon Lex

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 Lex V2

Per impostazione predefinita, gli utenti e i ruoli non dispongono dell'autorizzazione per creare o modificare risorse Amazon Lex V2. Inoltre, non possono eseguire attività utilizzando il AWS Management Console, AWS Command Line Interface (AWS CLI), oppure AWS API. Per concedere agli utenti l'autorizzazione a eseguire azioni sulle risorse di cui hanno bisogno, un IAM amministratore può creare IAM politiche. L'amministratore può quindi aggiungere le IAM politiche ai ruoli e gli utenti possono assumerli.

Per informazioni su come creare una politica IAM basata sull'identità utilizzando questi documenti di esempioJSON, consulta Creazione di IAM politiche nella Guida per l'IAMutente.

Per dettagli sulle azioni e sui tipi di risorse definiti da Amazon Lex V2, incluso il formato di ARNs per ogni tipo di risorsa, consulta Azioni, risorse e chiavi di condizione per Amazon Lex V2 nel Service Authorization Reference.

Best practice per le policy

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

  • Inizia con AWS politiche gestite e passaggio alle autorizzazioni con privilegi minimi: per iniziare a concedere autorizzazioni a utenti e carichi di lavoro, utilizza il AWS politiche gestite che concedono autorizzazioni per molti casi d'uso comuni. Sono disponibili nel tuo Account AWS. Si consiglia di ridurre ulteriormente le autorizzazioni definendo AWS politiche gestite dai clienti specifiche per i tuoi casi d'uso. Per ulteriori informazioni, consulta AWS politiche gestite o AWS politiche gestite per le funzioni lavorative nella Guida per IAM l'utente.

  • Applica le autorizzazioni con privilegi minimi: quando imposti le autorizzazioni con le IAM politiche, concedi solo le autorizzazioni necessarie 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 per applicare le autorizzazioni, consulta Politiche e autorizzazioni nella Guida IAM per l'utente. IAM IAM

  • Utilizza le condizioni nelle IAM politiche per limitare ulteriormente l'accesso: puoi aggiungere una condizione alle tue politiche per limitare l'accesso ad azioni e risorse. Ad esempio, puoi scrivere una condizione di policy per specificare che tutte le richieste devono essere inviate utilizzandoSSL. È inoltre possibile utilizzare le condizioni per concedere l'accesso alle azioni di servizio se vengono utilizzate tramite uno specifico Servizio AWS, ad esempio AWS CloudFormation. Per ulteriori informazioni, consulta Elementi IAM JSON della politica: Condizione nella Guida IAM per l'utente.

  • Usa IAM Access Analyzer per convalidare IAM le tue policy e garantire autorizzazioni sicure e funzionali: IAM Access Analyzer convalida le policy nuove ed esistenti in modo che aderiscano al linguaggio delle IAM policy () e alle best practice. JSON IAM IAMAccess Analyzer fornisce più di 100 controlli delle politiche e consigli pratici per aiutarti a creare policy sicure e funzionali. Per ulteriori informazioni, vedere Convalida delle policy di IAM Access Analyzer nella Guida per l'utente. IAM

  • Richiedi l'autenticazione a più fattori (MFA): se disponi di uno scenario che richiede l'utilizzo di IAM utenti o di un utente root Account AWS, attivala MFA per una maggiore sicurezza. Per richiedere MFA quando vengono richiamate API le operazioni, aggiungi MFA delle condizioni alle tue politiche. Per ulteriori informazioni, vedere Configurazione dell'APIaccesso MFA protetto nella Guida per l'IAMutente.

Per ulteriori informazioni sulle procedure consigliate inIAM, consulta la sezione Procedure consigliate in materia di sicurezza IAM nella Guida per l'IAMutente.

Utilizzo della console Amazon Lex V2

Per accedere alla console Amazon Lex V2, devi disporre di un set minimo di autorizzazioni. Queste autorizzazioni devono consentirti di elencare e visualizzare i dettagli sulle risorse Amazon Lex V2 nel tuo Account AWS. Se crei una politica basata sull'identità che è più restrittiva delle autorizzazioni minime richieste, la console non funzionerà come previsto per le entità (utenti o ruoli) con quella politica.

Non è necessario consentire autorizzazioni minime per la console per gli utenti che effettuano chiamate solo verso AWS CLI o il AWS API. Consenti invece l'accesso solo alle azioni che corrispondono all'APIoperazione che stanno cercando di eseguire.

Per garantire che utenti e ruoli possano continuare a utilizzare la console Amazon Lex V2, gli utenti devono avere accesso alla console. Per ulteriori informazioni sulla creazione di un utente con accesso alla console, consulta Creazione di un IAM utente in AWS account nella Guida IAM per l'utente.

Consenti agli utenti di aggiungere funzioni a un bot

Questo esempio mostra una policy che consente IAM agli utenti di aggiungere Amazon Comprehend, sentiment analysis e autorizzazioni per le query Amazon Kendra a un bot Amazon Lex V2.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Id1", "Effect": "Allow", "Action": "iam:PutRolePolicy", "Resource": "arn:aws:iam::*:role/aws-service-role/lexv2.amazonaws.com/AWSServiceRoleForLexV2Bots*" }, { "Sid": "Id2", "Effect": "Allow", "Action": "iam:GetRolePolicy", "Resource": "arn:aws:iam::*:role/aws-service-role/lexv2.amazonaws.com/AWSServiceRoleForLexV2Bots*" } ] }

Consenti agli utenti di aggiungere canali a un bot

Questo esempio è una politica che consente IAM agli utenti di aggiungere un canale di messaggistica a un bot. Un utente deve disporre di questa politica prima di poter implementare un bot su una piattaforma di messaggistica.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Id1", "Effect": "Allow", "Action": "iam:PutRolePolicy", "Resource": "arn:aws:iam::*:role/aws-service-role/channels.lexv2.amazonaws.com/AWSServiceRoleForLexV2Channels*" }, { "Sid": "Id2", "Effect": "Allow", "Action": "iam:GetRolePolicy", "Resource": "arn:aws:iam::*:role/aws-service-role/channels.lexv2.amazonaws.com/AWSServiceRoleForLexV2Channels*" } ] }

Consenti agli utenti di creare e aggiornare i bot

Questo esempio mostra una politica di esempio che consente IAM agli utenti di creare e aggiornare qualsiasi bot. La politica include le autorizzazioni per completare questa azione sulla console o utilizzando il AWS CLI oppure AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:CreateBot", "lex:UpdateBot". "iam:PassRole" ], "Effect": "Allow", "Resource": ["arn:aws:lex:Region:123412341234:bot/*] } ] }

Consenti agli utenti di utilizzare Automated Chatbot Designer

Questo esempio mostra un esempio di policy che consente IAM agli utenti di eseguire Automated Chatbot Designer.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::<customer-bucket>/<bucketName>", # Resource should point to the bucket or an explicit folder. # Provide this to read the entire bucket "arn:aws:s3:::<customer-bucket>/<bucketName>/*", # Provide this to read a specifc folder "arn:aws:s3:::<customer-bucket>/<bucketName>/<pathFormat>/*" ] }, { # Use this if your S3 bucket is encrypted with a KMS key. "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:<Region>:<customerAccountId>:key/<kmsKeyId>" ] ] }

Consenti agli utenti di utilizzare un AWS KMS chiave per crittografare e decrittografare i file

Questo esempio mostra una politica di esempio che consente IAM agli utenti di utilizzare un AWS KMS chiave gestita dal cliente per crittografare e decrittografare i dati.

{ "Version": "2012-10-17", "Id": "sample-policy", "Statement": [ { "Sid": "Allow Lex access", "Effect": "Allow", "Principal": { "Service": "lexv2.amazonaws.com" }, "Action": [ # If the key is for encryption "kms:Encrypt", "kms:GenerateDataKey" # If the key is for decryption "kms:Decrypt" ], "Resource": "*" } ] }

Consenti agli utenti di eliminare i bot

Questo esempio mostra una politica di esempio che consente IAM agli utenti di eliminare qualsiasi bot. La politica include le autorizzazioni per completare questa azione sulla console o utilizzando il AWS CLI oppure AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:DeleteBot", "lex:DeleteBotLocale", "lex:DeleteBotAlias", "lex:DeleteIntent", "lex:DeleteSlot", "lex:DeleteSlottype" ], "Effect": "Allow", "Resource": ["arn:aws:lex:Region:123412341234:bot/*", "arn:aws:lex:Region:123412341234:bot-alias/*"] } ] }

Consenti agli utenti di conversare con un bot

Questo esempio mostra una politica di esempio che consente IAM agli utenti di conversare con qualsiasi bot. La politica include le autorizzazioni per completare questa azione sulla console o utilizzando il AWS CLI oppure AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:StartConversation", "lex:RecognizeText", "lex:RecognizeUtterance", "lex:GetSession", "lex:PutSession", "lex:DeleteSession" ], "Effect": "Allow", "Resource": "arn:aws:lex:Region:123412341234:bot-alias/*" } ] }

Consenti a un utente specifico di gestire le politiche basate sulle risorse

L'esempio seguente concede l'autorizzazione a un utente specifico per gestire le politiche basate sulle risorse. Consente la console e API l'accesso alle politiche associate ai bot e agli alias dei bot.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ResourcePolicyEditor", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/ResourcePolicyEditor" }, "Action": [ "lex:CreateResourcePolicy", "lex:UpdateResourcePolicy", "lex:DeleteResourcePolicy", "lex:DescribeResourcePolicy" ] } ] }

Consenti a un utente di esportare bot e impostazioni locali dei bot

La seguente politica di IAM autorizzazione consente a un utente di creare, aggiornare e ottenere un'esportazione per un bot o un bot locale.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:CreateExport", "lex:UpdateExport", "lex:DescribeExport", "lex:DescribeBot", "lex:DescribeBotLocale", "lex:ListBotLocales", "lex:DescribeIntent", "lex:ListIntents", "lex:DescribeSlotType", "lex:ListSlotTypes", "lex:DescribeSlot", "lex:ListSlots", "lex:DescribeCustomVocabulary" ], "Effect": "Allow", "Resource": ["arn:aws:lex:Region:123456789012:bot/*"] } ] }

Consenti a un utente di esportare un vocabolario personalizzato

La seguente politica di IAM autorizzazione consente a un utente di esportare un vocabolario personalizzato da una locale bot.

{"Version": "2012-10-17", "Statement": [ {"Action": [ "lex:CreateExport", "lex:UpdateExport", "lex:DescribeExport", "lex:DescribeCustomVocabulary" ], "Effect": "Allow", "Resource": ["arn:aws:lex:Region:123456789012:bot/*"] } ] }

Consenti a un utente di importare bot e versioni locali dei bot

La seguente politica di IAM autorizzazione consente a un utente di importare un bot o una versione locale di un bot e di controllare lo stato di un'importazione.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:CreateUploadUrl", "lex:StartImport", "lex:DescribeImport", "lex:CreateBot", "lex:UpdateBot", "lex:DeleteBot", "lex:CreateBotLocale", "lex:UpdateBotLocale", "lex:DeleteBotLocale", "lex:CreateIntent", "lex:UpdateIntent", "lex:DeleteIntent", "lex:CreateSlotType", "lex:UpdateSlotType", "lex:DeleteSlotType", "lex:CreateSlot", "lex:UpdateSlot", "lex:DeleteSlot", "lex:CreateCustomVocabulary", "lex:UpdateCustomVocabulary", "lex:DeleteCustomVocabulary", "iam:PassRole", ], "Effect": "Allow", "Resource": [ "arn:aws:lex:Region:123456789012:bot/*", "arn:aws:lex:Region:123456789012:bot-alias/*" ] } ] }

Consenti a un utente di importare un vocabolario personalizzato

La seguente politica di IAM autorizzazione consente a un utente di importare un vocabolario personalizzato in una versione locale del bot.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:CreateUploadUrl", "lex:StartImport", "lex:DescribeImport", "lex:CreateCustomVocabulary", "lex:UpdateCustomVocabulary", "lex:DeleteCustomVocabulary" ], "Effect": "Allow", "Resource": [ "arn:aws:lex:Region:123456789012:bot/*" ] } ] }

Consenti a un utente di migrare un bot da Amazon Lex ad Amazon Lex V2

La seguente politica di IAM autorizzazione consente a un utente di iniziare la migrazione di un bot da Amazon Lex ad Amazon Lex V2.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "startMigration", "Effect": "Allow", "Action": "lex:StartMigration", "Resource": "arn:aws:lex:>Region<:>123456789012<:bot:*" }, { "Sid": "passRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::>123456789012<:role/>v2 bot role<" }, { "Sid": "allowOperations", "Effect": "Allow", "Action": [ "lex:CreateBot", "lex:CreateIntent", "lex:UpdateSlot", "lex:DescribeBotLocale", "lex:UpdateBotAlias", "lex:CreateSlotType", "lex:DeleteBotLocale", "lex:DescribeBot", "lex:UpdateBotLocale", "lex:CreateSlot", "lex:DeleteSlot", "lex:UpdateBot", "lex:DeleteSlotType", "lex:DescribeBotAlias", "lex:CreateBotLocale", "lex:DeleteIntent", "lex:StartImport", "lex:UpdateSlotType", "lex:UpdateIntent", "lex:DescribeImport", "lex:CreateCustomVocabulary", "lex:UpdateCustomVocabulary", "lex:DeleteCustomvocabulary", "lex:DescribeCustomVocabulary", "lex:DescribeCustomVocabularyMetadata" ], "Resource": [ "arn:aws:lex:>Region<:>123456789012<:bot/*", "arn:aws:lex:>Region<:>123456789012<:bot-alias/*/*" ] }, { "Sid": "showBots", "Effect": "Allow", "Action": [ "lex:CreateUploadUrl", "lex:ListBots" ], "Resource": "*" } ] }

Consentire agli utenti di visualizzare le loro autorizzazioni

Questo esempio mostra come è possibile creare una policy che consenta IAM agli utenti di visualizzare le politiche in linea e gestite associate alla loro identità utente. Questa politica include le autorizzazioni per completare questa azione sulla console o utilizzando programmaticamente il AWS CLI oppure AWS API.

{ "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": "*" } ] }

Consenti a un utente di tracciare il flusso di conversazione con Visual Conversation Builder in Amazon Lex V2

La seguente politica di IAM autorizzazione consente a un utente di disegnare il flusso di conversazione con Visual Conversation Builder in Amazon Lex V2.

{ "Version": "2012-10-17", "Statement": [ {"Action": [ "lex:UpdateIntent ", "lex:DescribeIntent " ], "Effect": "Allow", "Resource": ["arn:aws:lex:Region:123456789012:bot/*"] } ] }

Consenti agli utenti di creare e visualizzare le repliche dei bot, ma non di eliminarle

È possibile assegnare le seguenti autorizzazioni a un IAM ruolo per consentirgli di creare e visualizzare solo repliche di bot. Omettendolex:DeleteBotReplica, si impedisce al ruolo di eliminare le repliche dei bot. Per ulteriori informazioni, consulta Autorizzazioni per replicare i bot e gestire le repliche dei bot in Lex V2.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lex:CreateBotReplica", "lex:DescribeBotReplica", "lex:ListBotReplica", "lex:ListBotVersionReplicas", "lex:ListBotAliasReplicas", ], "Resource": [ "arn:aws:lex:*:*:bot/*", "arn:aws:lex:*:*:bot-alias/*" ] }, { "Effect": "Allow", "Action": [ "iam:GetRole" ], "Resource": [ "arn:aws:iam::*:role/aws-service-role/replication.lexv2.amazonaws.com/AWSServiceRoleForLexV2Replication*" ] }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", ], "Resource": [ "arn:aws:iam::*:role/aws-service-role/replication.lexv2.amazonaws.com/AWSServiceRoleForLexV2Replication*" ], "Condition": { "StringEquals": { "iam:AWSServiceName": "lexv2.amazonaws.com" } } } ] }