Esempi di policy basate su identità per Amazon Connect - Amazon Connect

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 su identità per Amazon Connect

Per impostazione predefinita, le entità IAM non dispongono dell'autorizzazione per creare o modificare risorse Amazon Connect. Inoltre, non possono eseguire attività utilizzando l'API AWS Management Console AWS CLI, o AWS . Un amministratore IAM deve creare policy IAM che concedono alle entità IAM l'autorizzazione per eseguire operazioni API specifiche sulle risorse indicate di cui hanno bisogno. L'amministratore IAM deve quindi collegare queste policy alle entità IAM che richiedono tali autorizzazioni.

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

Best practice delle policy

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

  • Inizia con le policy AWS gestite e passa alle autorizzazioni con privilegi minimi: per iniziare a concedere autorizzazioni a utenti e carichi di lavoro, utilizza le politiche AWS gestite che concedono le autorizzazioni per molti casi d'uso comuni. Sono disponibili nel tuo. Account AWS Ti consigliamo di ridurre ulteriormente le autorizzazioni definendo politiche gestite dai AWS clienti specifiche per i tuoi casi d'uso. Per ulteriori informazioni, consulta Policy gestite da AWSo Policy gestite da AWS per le funzioni dei processi nella Guida per l'utente IAM.

  • Applica le autorizzazioni con privilegio minimo: 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 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 anche utilizzare le condizioni per concedere l'accesso alle azioni del servizio se vengono utilizzate tramite uno specifico Servizio AWS, ad esempio AWS CloudFormation. Per ulteriori informazioni, consulta la sezione Elementi delle policy JSON di IAM: condizione nella Guida per l'utente 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 IAM.

  • Richiedi l'autenticazione a più fattori (MFA): se hai uno scenario che richiede utenti IAM o un utente root nel Account AWS tuo, attiva l'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 IAM.

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

Consentire agli utenti IAM 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 cpllegate alla relativa identità utente. Questa policy include le autorizzazioni per completare questa azione sulla console o utilizzando programmaticamente l'API o. AWS CLI 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": "*" } ] }

Concedere autorizzazioni per visualizzare un utente

Quando crei un utente o un gruppo nel tuo AWS account, puoi associare una policy IAM a quel gruppo o utente, che specifica le autorizzazioni che desideri concedere.

Ad esempio, immagina di disporre di un gruppo di sviluppatori non esperti. È possibile creare un gruppo IAM denominato Junior application developers e includere tutti gli sviluppatori entry-level. Dopodiché è possibile associare una policy a quel gruppo che conceda loro le autorizzazioni per visualizzare gli utenti Amazon Connect. In questo scenario, è possibile disporre di una policy quale:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "connect:DescribeUser", "connect:ListUsers" ], "Resource": "*" } ] }

Questa policy di esempio concede autorizzazioni a tutte le azioni API elencate nell'elemento Action.

Nota

Se non specifichi un ARN utente o un ID stack nella dichiarazione, devi anche concedere l'autorizzazione a utilizzare tutte le risorse per l'azione utilizzando il carattere jolly per l'elemento Resource.

Consentire agli utenti di integrarsi con applicazioni esterne

In questo esempio viene illustrato come creare una policy che consenta agli utenti di interagire con le integrazioni di applicazioni esterne.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllAppIntegrationsActions", "Effect": "Allow", "Action": [ "app-integrations:ListEventIntegrations", "app-integrations:CreateEventIntegration", "app-integrations:GetEventIntegration", "app-integrations:UpdateEventIntegration", "app-integrations:DeleteEventIntegration", "app-integrations:ListDataIntegrations", "app-integrations:CreateDataIntegration", "app-integrations:GetDataIntegration", "app-integrations:UpdateDataIntegration", "app-integartions:DeleteDataIntegration" ], "Resource": "*" } ] }

Descrivere e aggiornare gli utenti Amazon Connect in base ai tag

In una policy IAM, puoi specificare facoltativamente le condizioni che controllano la validità della policy. Ad esempio, è possibile definire una policy che consente agli utenti di aggiornare solo un utente Amazon Connect che lavora nell'ambiente di test.

Puoi definire alcune condizioni specifiche per Amazon Connect e definire altre condizioni che si applicano a tutti AWS. Per ulteriori informazioni e per un elenco delle condizioni per AWS, consulta Condizione nella Documentazione di riferimento degli elementi delle policy IAM JSON nella Guida per l'utente IAM.

La seguente policy di esempio consente le operazioni "descrivere" e "aggiornare" per gli utenti con tag specifici

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "connect:DescribeUser", "connect:UpdateUser*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Department": "Test" } } } ] }

Questa policy consente le operazioni “descrivi utente” e “aggiorna utente”, ma solo per quegli utenti Amazon Connect con tag “Department: Test” in cui “Department” è la chiave del tag e “Test” è il valore del tag.

Creazione di utenti Amazon Connect in base ai tag

La seguente policy di esempio consente le operazioni di creazione per gli utenti con tag di richiesta specifici.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "connect:CreateUser", "connect:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/Owner": "TeamA" } } } ] }

Questa policy consente le operazioni “crea utente” e “risorsa di tag”, ma il tag “Owner: TeamA” deve essere presente nelle richieste.

Crea e visualizza AppIntegrations risorse Amazon

La seguente policy di esempio consente di creare, elencare e recuperare integrazioni di eventi.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "app-integrations:CreateEventIntegration", "app-integrations:GetEventIntegration", "app-integrations::ListEventIntegrations", ], "Resource": "*" } ] }

Creazione e visualizzazione di assistenti Amazon Q in Connect

La seguente policy di esempio consente di creare, elencare, recuperare ed eliminare assistenti Amazon Q in Connect.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "wisdom:CreateContent", "wisdom:DeleteContent", "wisdom:CreateKnowledgeBase", "wisdom:GetAssistant", "wisdom:GetKnowledgeBase", "wisdom:GetContent", "wisdom:GetRecommendations", "wisdom:GetSession", "wisdom:NotifyRecommendationsReceived", "wisdom:QueryAssistant", "wisdom:StartContentUpload", "wisdom:UpdateContent", "wisdom:UntagResource", "wisdom:TagResource", "wisdom:CreateSession" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/AmazonConnectEnabled": "True" } } }, { "Action": [ "wisdom:ListAssistants", "wisdom:ListKnowledgeBases" ], "Effect": "Allow", "Resource": "*" } ] }

Gestire le risorse delle campagne in uscita

Autorizzazioni di onboarding: la seguente policy di esempio consente l'onboarding delle istanze Amazon Connect nelle campagne in uscita.

"Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:CreateGrant" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "connect:DescribeInstance" ], "Resource": [ "arn:aws:connect:region:account-id:instance/instance-id" ] }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "iam:CreateServiceLinkedRole", "iam:AttachRolePolicy", "iam:PutRolePolicy", "ds:DescribeDirectories", "connect-campaigns:StartInstanceOnboardingJob", "connect-campaigns:GetConnectInstanceConfig", "connect-campaigns:GetInstanceOnboardingJobStatus", "connect-campaigns:DeleteInstanceOnboardingJob", "connect:DescribeInstanceAttribute", "connect:UpdateInstanceAttribute", "connect:ListInstances", "kms:ListAliases" ], "Resource": "*" }

Ad esempio, per disabilitare le campagne in uscita aggiungi le seguenti autorizzazioni:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:RetireGrant" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "events:DeleteRule", "events:RemoveTargets", "events:DescribeRule", "iam:DeleteRolePolicy", "events:ListTargetsByRule", "iam:DeleteServiceLinkedRole", "connect-campaigns:DeleteConnectInstanceConfig" ], "Resource": "*" } ]

Autorizzazioni di gestione: la seguente policy di esempio consente tutte le operazioni di lettura e scrittura sulle campagne in uscita.

{ "Sid": "AllowConnectCampaignsOperations", "Effect": "Allow", "Action": [ "connect-campaigns:CreateCampaign", "connect-campaigns:DeleteCampaign", "connect-campaigns:DescribeCampaign", "connect-campaigns:UpdateCampaignName", "connect-campaigns:GetCampaignState" "connect-campaigns:UpdateOutboundCallConfig", "connect-campaigns:UpdateDialerConfig", "connect-campaigns:PauseCampaign", "connect-campaigns:ResumeCampaign", "connect-campaigns:StopCampaign", "connect-campaigns:GetCampaignStateBatch", "connect-campaigns:ListCampaigns" ], "Resource": "*" }

ReadOnly autorizzazioni: la seguente policy di esempio consente l'accesso in sola lettura alle campagne.

{ "Sid": "AllowConnectCampaignsReadOnlyOperations", "Effect": "Allow", "Action": [ "connect-campaigns:DescribeCampaign", "connect-campaigns:GetCampaignState", "connect-campaigns:GetCampaignStateBatch", "connect-campaigns:ListCampaigns" ], "Resource": "*", }

Autorizzazioni basate su tag: la seguente policy di esempio limita l'accesso alle campagne integrate in una particolare istanza di Amazon Connect tramite tag. È possibile aggiungere altre autorizzazioni in base al caso di utilizzo.

{ "Sid": "AllowConnectCampaignsOperations", "Effect": "Allow", "Action": [ "connect-campaigns:DescribeCampaign", "connect-campaigns:GetCampaignState" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/owner": "arn:aws:connect:region:customer_account_id:instance/connect_instance_id" } } }
Nota

Non è possibile limitare le operazioni connect-campaigns:ListCampaigns e connect-campaigns:GetCampaignStateBatch da tag.