Ruolo IAM per l'esportazione di endpoint o segmenti - 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à.

Ruolo IAM per l'esportazione di endpoint o segmenti

È possibile ottenere un elenco di endpoint creando un processo di esportazione. Quando crei un processo di esportazione, devi specificare un ID progetto e, facoltativamente, un ID segmento. Amazon Pinpoint esporta quindi un elenco degli endpoint associati al progetto o al segmento in un bucket Amazon Simple Storage Service (Amazon S3). Il file risultante contiene un elenco di endpoint in formato JSON con i relativi attributi, ad esempio canale, indirizzo, stato del consenso, data di creazione e ID degli endpoint.

Per creare un processo di esportazione, è necessario configurare un ruolo IAM che consenta ad Amazon Pinpoint di scrivere in un bucket Amazon S3. Il processo di configurazione del ruolo prevede due fasi:

  1. Creazione di una policy IAM che consenta a un'entità (in questo caso, Amazon Pinpoint) di scrivere in un determinato bucket Amazon S3.

  2. Creare un ruolo IAM e collegarvi la policy.

Questo argomento contiene le procedure per completare entrambe le fasi. Queste procedure presuppongono che sia già stato creato un bucket Amazon S3, con una cartella al suo interno, per archiviare i segmenti esportati. Per ulteriori informazioni sulla creazione di un bucket, consulta Creazione di un bucket nella Guida per l'utente di Amazon Simple Storage Service.

Queste procedure si basano anche sul presupposto che l' AWS Command Line Interface (AWS CLI) sia già stata installata e configurata. Per informazioni sulla configurazione di AWS CLI, vedere Installazione di AWS CLI nella Guida per l'AWS Command Line Interface utente.

Passaggio 1: creare la policy IAM

Una policy IAM definisce le autorizzazioni per un'entità, ad esempio un'identità o una risorsa. Per creare un ruolo per l'esportazione di endpoint Amazon Pinpoint, devi creare una policy che conceda le autorizzazioni di scrittura per una determinata cartella in un determinato bucket Amazon S3. Il seguente esempio di policy segue la pratica di sicurezza che prevede la concessione del privilegio minimo, ovvero concede solo le autorizzazioni necessarie per eseguire una singola attività.

Co,e creare la policy IAM
  1. In un editor di testo, crea un nuovo file. Incolla il codice seguente nel file:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUserToSeeBucketListInTheConsole", "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::*" ] }, { "Sid": "AllowRootAndHomeListingOfBucket", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::example-bucket" ], "Condition": { "StringEquals": { "s3:delimiter": [ "/" ], "s3:prefix": [ "", "Exports/" ] } } }, { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::example-bucket" ], "Condition": { "StringLike": { "s3:prefix": [ "Exports/*" ] } } }, { "Sid": "AllowAllS3ActionsInUserFolder", "Action": [ "s3:*" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::example-bucket/Exports/*" ] } ] }

    Nel codice riportato sopra, sostituisci tutte le istanze di example-bucket con il nome del bucket Amazon S3 contenente la cartella in cui vuoi esportare le informazioni sui segmenti. Sostituisci anche tutte le istanze di Exports con il nome della cartella stessa.

    Al termine, salva il file come s3policy.json.

  2. Utilizzando AWS CLI, accedete alla directory in cui si trova il s3policy.json file. Immetti il comando seguente per creare la policy:

    aws iam create-policy --policy-name s3ExportPolicy --policy-document file://s3policy.json

    Se la creazione della policy è andata a buon fine, verrà visualizzato un output simile al seguente:

    { "Policy": { "CreateDate": "2018-04-11T18:44:34.805Z", "IsAttachable": true, "DefaultVersionId": "v1", "AttachmentCount": 0, "PolicyId": "ANPAJ2YJQRJCG3EXAMPLE", "UpdateDate": "2018-04-11T18:44:34.805Z", "Arn": "arn:aws:iam::123456789012:policy/s3ExportPolicy", "PolicyName": "s3ExportPolicy", "Path": "/" } }

    Copia l'Amazon Resource Name (ARN) della policy (arn:aws:iam::123456789012:policy/s3ExportPolicy nell'esempio precedente). Nella sezione successiva dovrai specificare questo ARN durante la creazione del ruolo.

    Nota

    Se viene visualizzato un messaggio in cui è indicato che l'account non è autorizzato a eseguire l'operazione CreatePolicy, all'account utente è necessario collegare una policy che consenta di creare nuovi ruoli e nuove policy IAM. Per ulteriori informazioni, consulta Aggiunta e rimozione di autorizzazioni per identità IAM nella Guida per l'utente di IAM .

Passaggio 2: creare il ruolo IAM

Una volta creata una policy IAM, è possibile creare un ruolo e collegare la policy a tale ruolo. Ogni ruolo IAM contiene una policy di attendibilità, ovvero un set di regole che specifica le entità che possono assumere il ruolo specifico. In questa sezione viene creata una policy di attendibilità che consente ad Amazon Pinpoint di assumere il ruolo. In seguito si creerà il ruolo stesso e vi si collegherà la policy creata nella sezione precedente.

Per creare il ruolo IAM
  1. In un editor di testo, crea un nuovo file. Incolla il codice seguente nel file:

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"pinpoint.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:mobiletargeting:region:accountId:apps/applicationId" } } } ] }

    Salva il file con nome trustpolicy.json.

  2. Utilizzando AWS CLI, accedete alla directory in cui si trova il trustpolicy.json file. Immetti il comando seguente per creare un nuovo ruolo:

    aws iam create-role --role-name s3ExportRole --assume-role-policy-document file://trustpolicy.json
  3. Nella riga di comando immetti il comando seguente per collegare la policy creata nella sezione precedente al ruolo che hai appena creato:

    aws iam attach-role-policy --policy-arn arn:aws:iam::123456789012:policy/s3ExportPolicy --role-name s3ExportRole

    Nel comando precedente, sostituisci arn:aws:iam: :123456789012:policy/s3 con ExportPolicy l'ARN della policy creata nella sezione precedente.