IAMfunción para exportar puntos finales o segmentos - Amazon Pinpoint

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

IAMfunción para exportar puntos finales o segmentos

Para obtener una lista de puntos de enlace, puede crear un trabajo de exportación. Al crear un trabajo de exportación, es preciso especificar un ID de proyecto y, opcionalmente, un ID de segmento. A continuación, Amazon Pinpoint exporta una lista de los puntos de conexión asociados con el proyecto o segmento a un bucket de Amazon Simple Storage Service (Amazon S3). El archivo resultante contiene una lista JSON con formato de puntos de enlace y sus atributos, como el canal, la dirección, el estado de suscripción o exclusión, la fecha de creación y el identificador del punto de conexión.

Para crear un trabajo de exportación, debe configurar un IAM rol que permita a Amazon Pinpoint escribir en un bucket de Amazon S3. El proceso de configuración de la función consta de dos pasos:

  1. Cree una IAM política que permita a una entidad (en este caso, Amazon Pinpoint) escribir en un bucket de Amazon S3 específico.

  2. Cree un IAM rol y asígnele la política.

Este tema contiene procedimientos para completar ambos pasos. En estos procedimientos se da por hecho que ya ha creado un bucket de Amazon S3 y una carpeta en ese bucket, para almacenar los segmentos exportados. Para obtener información acerca de la creación de buckets, consulte Crear un bucket en la Guía del usuario de Amazon Simple Storage Service.

En estos procedimientos se da por hecho que ya se ha instalado y configurado la AWS Command Line Interface (AWS CLI). Para obtener información sobre cómo configurar el AWS CLI, consulte Instalación del AWS CLI en la Guía del AWS Command Line Interface usuario.

Paso 1: Crear la política de IAM

Una IAM política define los permisos de una entidad, como una identidad o un recurso. Para crear un rol que permita exportar puntos de conexión de Amazon Pinpoint, es preciso crear una política que conceda permiso para escribir en una carpeta concreta en un bucket de Amazon S3 determinado. La siguiente política de ejemplo observa la práctica de seguridad de conceder los privilegios mínimos; es decir, se conceden solo aquellos permisos que son imprescindibles para realizar una tarea.

Para crear la política de IAM
  1. En un editor de texto, cree un nuevo archivo. Pegue el código siguiente en el archivo:

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

    En el código anterior, sustituya todas las instancias de example-bucket con el nombre del depósito de Amazon S3 que contiene la carpeta a la que desea exportar la información del segmento. Además, sustituya todas las instancias de Exports con el nombre de la propia carpeta.

    Cuando haya terminado, guarde el archivo como s3policy.json.

  2. Al utilizar el AWS CLI, navegue hasta el directorio en el que se encuentra el s3policy.json archivo. A continuación, escriba el siguiente comando para crear la política:

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

    Si la política se ha creado correctamente, aparecerá un resultado similar al siguiente:

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

    Copie el nombre del recurso de Amazon (ARN) de la política (arn:aws:iam::123456789012:policy/s3ExportPolicyen el ejemplo anterior). En la siguiente sección, debe proporcionarlo ARN al crear el rol.

    nota

    Si ves un mensaje en el que se indica que tu cuenta no está autorizada para realizar la CreatePolicy operación, tendrás que adjuntar una política a tu usuario que te permita crear nuevas IAM políticas y funciones. Para obtener más información, consulta Cómo añadir y quitar permisos de IAM identidad en la Guía del IAM usuario.

Paso 2: Crear el rol de IAM

Ahora que ha creado una IAM política, puede crear un rol y asociarle la política. Cada IAM función contiene una política de confianza, un conjunto de reglas que especifica qué entidades pueden asumir la función. En esta sección, se crea una política de confianza que permita que Amazon Pinpoint asuma el rol. A continuación, creará la función en sí y, después, le conectará la política que creó en la sección anterior.

Para crear el rol de IAM
  1. En un editor de texto, cree un nuevo archivo. Pegue el código siguiente en el archivo:

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

    Guarde el archivo como trustpolicy.json.

  2. Con el AWS CLI, navegue hasta el directorio en el que se encuentra el trustpolicy.json archivo. A continuación, escriba el siguiente comando para crear un nuevo rol:

    aws iam create-role --role-name s3ExportRole --assume-role-policy-document file://trustpolicy.json
  3. En la línea de comandos, escriba el siguiente comando para asociar la política que creó en la sección anterior al rol que acaba de crear:

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

    En el comando anterior, sustituya arn:aws:iam::123456789012:policy/s3ExportPolicy por ARN la política que creó en la sección anterior.