Esempi di policy basate su identità Amazon Pinpoint - Amazon Pinpoint

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à Amazon Pinpoint

Per impostazione predefinita, gli utenti e i ruoli non dispongono dell'autorizzazione per creare o modificare risorse Amazon Pinpoint. Inoltre, non possono eseguire attività utilizzando AWS Management Console AWS CLI, o un AWS API. Un IAM amministratore deve creare IAM politiche che concedano a utenti e ruoli l'autorizzazione a eseguire API operazioni specifiche sulle risorse di cui hanno bisogno. L'amministratore devi quindi collegare queste policy a utenti o gruppi che richiedono tali autorizzazioni.

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

Best practice per le policy

Le policy basate su identità determinano se qualcuno può creare, accedere o eliminare risorse Amazon Pinpoint 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 le autorizzazioni agli utenti e ai carichi di lavoro, utilizza le policy gestite che concedono le autorizzazioni per molti casi d'uso comuni.AWS 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 le politiche AWS gestite o le politiche AWS gestite per le funzioni lavorative nella Guida per l'IAMutente.

  • 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 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 hai uno scenario che richiede l'utilizzo di IAM utenti o di un utente root Account AWS, attiva questa opzione MFA per una maggiore sicurezza. Per richiedere MFA quando vengono richiamate API le operazioni, aggiungi MFA delle condizioni alle tue politiche. Per ulteriori informazioni, consulta 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 Pinpoint

Per accedere alla console Amazon Pinpoint, è necessario disporre di un set di autorizzazioni minimo. Queste autorizzazioni devono consentirti di elencare e visualizzare i dettagli sulle risorse Amazon Pinpoint nel AWS tuo account. Se crei una policy basata su identità che applica autorizzazioni più restrittive rispetto alle autorizzazioni minime richieste, la console non funzionerà nel modo previsto per le entità (utenti e ruoli) associate a tale policy. Per garantire che tali entità possano utilizzare la console Amazon Pinpoint, collega una policy alle entità. Per ulteriori informazioni, consulta Aggiungere autorizzazioni a un utente nella Guida per l'utente. IAM

La seguente policy di esempio fornisce l'accesso in sola lettura alla console Amazon Pinpoint in una regione specifica. AWS Include l'accesso in sola lettura ad altri servizi da cui dipende la console Amazon Pinpoint, come Amazon Simple Email Service (Amazon) e SES Amazon IAM Kinesis.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UseConsole", "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": "arn:aws:mobiletargeting:region:accountId:*" }, { "Effect": "Allow", "Action": [ "firehose:ListDeliveryStreams", "iam:ListRoles", "kinesis:ListStreams", "s3:List*", "ses:Describe*", "ses:Get*", "ses:List*", "sns:ListTopics" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" } } } ] }

Nell'esempio di policy precedente, sostituisci region con il nome di una AWS regione e sostituisci accountId con l'ID AWS del tuo account.

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

Esempio: accesso a un singolo progetto Amazon Pinpoint

È anche possibile creare policy di sola lettura che forniscono l'accesso solo a progetti specifici. La policy di esempio seguente consente agli utenti di effettuare l'accesso alla console e visualizzare una lista di progetti. Consente inoltre agli utenti di visualizzare informazioni sulle risorse correlate per altri AWS servizi da cui dipende la console Amazon Pinpoint, come Amazon SES e Amazon IAM Kinesis. Tuttavia, la policy consente agli utenti di visualizzare ulteriori informazioni solo sul progetto specificato nella policy. Puoi modificare questa politica per consentire l'accesso a progetti o AWS regioni aggiuntivi.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewProject", "Effect": "Allow", "Action": "mobiletargeting:GetApps", "Resource": "arn:aws:mobiletargeting:region:accountId:*" }, { "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": [ "arn:aws:mobiletargeting:region:accountId:apps/projectId", "arn:aws:mobiletargeting:region:accountId:apps/projectId/*", "arn:aws:mobiletargeting:region:accountId:reports" ] }, { "Effect": "Allow", "Action": [ "ses:Get*", "kinesis:ListStreams", "firehose:ListDeliveryStreams", "iam:ListRoles", "ses:List*", "sns:ListTopics", "ses:Describe*", "s3:List*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" } } } ] }

Nell'esempio precedente, sostituisci region con il nome di una AWS regione, sostituisci accountId con l'ID AWS del tuo account e sostituisci projectId con l'ID del progetto Amazon Pinpoint a cui desideri fornire l'accesso.

Allo stesso modo, puoi creare politiche che concedano a un utente del tuo AWS account un accesso limitato in scrittura a uno dei tuoi progetti Amazon Pinpoint, ad esempio il progetto con l'ID del 810c7aab86d42fb2b56c8c966example progetto. In questo caso, vuoi consentire all'utente di visualizzare, aggiungere e aggiornare i componenti del progetto, ad esempio segmenti e campagne, ma non di eliminare alcun componente.

Oltre a concedere le autorizzazioni per le operazioni mobiletargeting:Get e mobiletargeting:List, crea una policy che conceda le autorizzazioni per le operazioni seguenti: mobiletargeting:Create, mobiletargeting:Update e mobiletargeting:Put. Queste sono le autorizzazioni aggiuntive necessarie per creare e gestire la maggior parte dei componenti del progetto. Per esempio:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LimitedWriteProject", "Effect": "Allow", "Action": "mobiletargeting:GetApps", "Resource": "arn:aws:mobiletargeting:region:accountId:*" }, { "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*", "mobiletargeting:Create*", "mobiletargeting:Update*", "mobiletargeting:Put*" ], "Resource": [ "arn:aws:mobiletargeting:region:accountId:apps/810c7aab86d42fb2b56c8c966example", "arn:aws:mobiletargeting:region:accountId:apps/810c7aab86d42fb2b56c8c966example/*", "arn:aws:mobiletargeting:region:accountId:reports" ] }, { "Effect": "Allow", "Action": [ "ses:Get*", "kinesis:ListStreams", "firehose:ListDeliveryStreams", "iam:ListRoles", "ses:List*", "sns:ListTopics", "ses:Describe*", "s3:List*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" } } } ] }

Esempio: visualizzazione di risorse Amazon Pinpoint in base ai tag

In una policy basata sulle identità puoi utilizzare le condizioni per controllare l'accesso alle risorse Amazon Pinpoint in base ai tag. In questa policy di esempio viene illustrato come creare questo tipo di policy per consentire la visualizzazione delle risorse Amazon Pinpoint. Tuttavia, l'autorizzazione viene concessa solo se il valore del tag del servizio Owner è quello del nome utente dell'utente. Questa policy concede anche le autorizzazioni necessarie per completare questa azione nella console.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListResources", "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": "*" }, { "Sid": "ViewResourceIfOwner", "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": "arn:aws:mobiletargeting:*:*:*", "Condition": { "StringEquals": { "aws:ResourceTag/Owner": "userName" }, "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:mobiletargeting:region:accountId:*" } } } ] }

Puoi collegare questo tipo di policy agli utenti nel tuo account. Se un utente denominato richard-roe tenta di visualizzare una risorsa Amazon Pinpoint, la risorsa deve essere contrassegnata mediante il tag Owner=richard-roe o owner=richard-roe. In caso contrario l'accesso è negato. La chiave di tag di condizione Owner corrisponde a Owner e owner perché i nomi delle chiavi di condizione non effettuano la distinzione tra maiuscole e minuscole. Per ulteriori informazioni, consulta Elementi IAM JSON della policy: Condizione nella Guida per l'IAMutente.

Esempio: consentire agli utenti di visualizzare le loro autorizzazioni

Questo esempio mostra come è possibile creare una politica che consenta IAM agli utenti di visualizzare le politiche in linea e gestite allegate alla loro identità utente. Questa politica include le autorizzazioni per completare questa azione sulla console o utilizzando o a livello di codice. AWS CLI 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": "*" } ] }

Esempi: fornire l'accesso alle azioni di Amazon Pinpoint API

Questa sezione fornisce esempi di policy che consentono l'accesso alle funzionalità disponibili in Amazon PinpointAPI, che è il principale API per Amazon Pinpoint. Per ulteriori informazioniAPI, consulta Amazon Pinpoint API Reference.

Accesso in sola lettura

La seguente policy di esempio consente l'accesso in sola lettura a tutte le risorse del tuo account Amazon Pinpoint in una regione specifica. AWS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewAllResources", "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": "arn:aws:mobiletargeting:region:accountId:*" } ] }

Nell'esempio precedente, sostituisci region con il nome di una AWS regione e sostituisci accountId con l'ID AWS del tuo account.

Accesso amministratore

La policy di esempio seguente consente l'accesso completo a tutte le azioni e le risorse Amazon Pinpoint dell'account Amazon Pinpoint:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "FullAccess", "Effect": "Allow", "Action": [ "mobiletargeting:*" ], "Resource": "arn:aws:mobiletargeting:region:accountId:*" } ] }

Nell'esempio precedente, sostituisci accountId con l'ID del tuo AWS account.

Esempi: fornire l'accesso ad Amazon Pinpoint SMS e alle azioni vocali API

Questa sezione fornisce esempi di policy che consentono l'accesso alle funzionalità disponibili in Amazon Pinpoint SMS and Voice. API Si tratta di un programma supplementare API che fornisce opzioni avanzate per l'utilizzo SMS e la gestione dei canali vocali in Amazon Pinpoint. Per ulteriori informazioniAPI, consulta Amazon Pinpoint SMS and voice API reference.

Accesso in sola lettura

La seguente policy di esempio consente l'accesso in sola lettura a tutte le azioni e le risorse di Amazon SMS Pinpoint e API Voice nel tuo account: AWS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMSVoiceReadOnly", "Effect": "Allow", "Action": [ "sms-voice:Get*", "sms-voice:List*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:sms-voice:region:accountId:*" } } } ] }

Accesso amministratore

La seguente policy di esempio consente l'accesso completo a tutte le API azioni e risorse di Amazon Pinpoint SMS e Voice nel tuo AWS account:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMSVoiceFullAccess", "Effect": "Allow", "Action": [ "sms-voice:*", ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:sms-voice:region:accountId:*" } } } ] }

Esempio: limitazione dell'accesso del progetto Amazon Pinpoint a indirizzi IP specifici

La seguente politica di esempio concede le autorizzazioni a qualsiasi utente per eseguire qualsiasi azione Amazon Pinpoint su un progetto specifico (projectId). Tuttavia, la richiesta deve provenire dall'intervallo di indirizzi IP specificato nella condizione.

La condizione in questa dichiarazione identifica l'54.240.143.*intervallo di indirizzi Internet Protocol versione 4 (IPv4) consentiti, con un'eccezione:54.240.143.188. Il Condition blocco utilizza le NotIpAddress condizioni IpAddress and e la chiave aws:SourceIp condition, che è una chiave di condizione AWS-wide. Per ulteriori informazioni su queste chiavi di condizione, vedere Specificing conditions in a policy IAMUser Guide. I aws:SourceIp IPv4 valori utilizzano la CIDR notazione standard. Per ulteriori informazioni, consulta Operatori di condizione dell'indirizzo IP nella Guida per l'IAMutente.

{ "Version":"2012-10-17", "Id":"AMZPinpointPolicyId1", "Statement":[ { "Sid":"IPAllow", "Effect":"Allow", "Principal":"*", "Action":"mobiletargeting:*", "Resource":[ "arn:aws:mobiletargeting:region:accountId:apps/projectId", "arn:aws:mobiletargeting:region:accountId:apps/projectId/*" ], "Condition":{ "IpAddress":{ "aws:SourceIp":"54.240.143.0/24" }, "NotIpAddress":{ "aws:SourceIp":"54.240.143.188/32" } } } ] }

Esempio: limitazione dell'accesso di Amazon Pinpoint in base ai tag

La seguente politica di esempio concede le autorizzazioni per eseguire qualsiasi azione di Amazon Pinpoint su un progetto specifico (projectId). Tuttavia, le autorizzazioni vengono concesse solo se la richiesta proviene da un utente il cui nome è un valore nel tag di Owner risorsa del progetto, come specificato nella condizione.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ModifyResourceIfOwner", "Effect": "Allow", "Action": "mobiletargeting:*", "Resource": [ "arn:aws:mobiletargeting:region:accountId:apps/projectId", "arn:aws:mobiletargeting:region:accountId:apps/projectId/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/Owner": "userName" } } } ] }

Esempio: consenti ad Amazon Pinpoint di inviare e-mail utilizzando identità verificate in Amazon SES

Quando verifichi un'identità e-mail (ad esempio un indirizzo e-mail o un dominio) tramite la console Amazon Pinpoint, tale identità viene configurata automaticamente in modo che possa essere utilizzata sia da Amazon Pinpoint che da Amazon. SES Tuttavia, se verifichi un'identità e-mail tramite Amazon SES e desideri utilizzare tale identità con Amazon Pinpoint, devi applicare una policy a tale identità.

La seguente politica di esempio concede ad Amazon Pinpoint l'autorizzazione a inviare e-mail utilizzando un'identità e-mail verificata tramite Amazon. SES

{ "Version":"2008-10-17", "Statement":[ { "Sid":"PinpointEmail", "Effect":"Allow", "Principal":{ "Service":"pinpoint.amazonaws.com" }, "Action":"ses:*", "Resource":"arn:aws:ses:region:accountId:identity/emailId", "Condition":{ "StringEquals":{ "aws:SourceAccount":"accountId" }, "StringLike":{ "aws:SourceArn":"arn:aws:mobiletargeting:region:accountId:apps/*" } } } ] }

Se utilizzi Amazon Pinpoint nella regione AWS GovCloud (Stati Uniti occidentali), utilizza invece il seguente esempio di policy:

{ "Version":"2008-10-17", "Statement":[ { "Sid":"PinpointEmail", "Effect":"Allow", "Principal":{ "Service":"pinpoint.amazonaws.com" }, "Action":"ses:*", "Resource":"arn:aws-us-gov:ses:us-gov-west-1:accountId:identity/emailId", "Condition":{ "StringEquals":{ "aws:SourceAccount":"accountId" }, "StringLike":{ "aws:SourceArn":"arn:aws-us-gov:mobiletargeting:us-gov-west-1:accountId:apps/*" } } } ] }