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:
-
Cree una IAM política que permita a una entidad (en este caso, Amazon Pinpoint) escribir en un bucket de Amazon S3 específico.
-
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
-
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 deExports
con el nombre de la propia carpeta.Cuando haya terminado, guarde el archivo como
s3policy.json
. -
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/s3ExportPolicy
en 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
-
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
. -
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
-
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 s3ExportRoleEn el comando anterior, sustituya
arn:aws:iam::123456789012:policy/s3ExportPolicy
por ARN la política que creó en la sección anterior.