IAMfunção para exportar endpoints ou segmentos - Amazon Pinpoint

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

IAMfunção para exportar endpoints ou segmentos

Você pode obter uma lista de endpoints criando um trabalho de exportação. Ao criar um trabalho de exportação, você precisa especificar um ID de projeto e, opcionalmente, especificar um ID de segmento. Em seguida, o Amazon Pinpoint exporta uma lista dos endpoints associados ao projeto ou segmento para um bucket do Amazon Simple Storage Service (Amazon S3). O arquivo resultante contém uma lista JSON formatada de endpoints e seus atributos, como canal, endereço, status de opt-in/opt-out, data de criação e ID do endpoint.

Para criar um trabalho de exportação, você precisa configurar uma IAM função que permita ao Amazon Pinpoint gravar em um bucket do Amazon S3. O processo de configuração da função consiste em duas etapas:

  1. Crie uma IAM política que permita que uma entidade (nesse caso, Amazon Pinpoint) grave em um bucket específico do Amazon S3.

  2. Crie uma IAM função e anexe a política a ela.

Este tópico contém procedimentos para concluir as duas etapas. Esses procedimentos pressupõem que você já criou um bucket do Amazon S3 e uma pasta nesse bucket para armazenar segmentos exportados. Para obter mais informações sobre como criar buckets, consulte Criar um bucket, no Guia do usuário do Amazon Simple Storage Service.

Esses procedimentos também pressupõem que você já instalou e configurou a AWS Command Line Interface (AWS CLI). Para obter informações sobre como configurar o AWS CLI, consulte Instalando o AWS CLI no Guia AWS Command Line Interface do Usuário.

Etapa 1: criar a política do IAM

Uma IAM política define as permissões para uma entidade, como uma identidade ou um recurso. Para criar um perfil para exportar os endpoints do Amazon Pinpoint, você precisa criar uma política que conceda permissão para gravar em uma pasta específica em um bucket específico do Amazon S3. O exemplo de política a seguir segue a prática de segurança de concessão de privilégio mínimo, ou seja, apenas as permissões necessárias para a execução de uma única tarefa são concedidas.

Para criar a política IAM
  1. Em um editor de texto, crie um novo arquivo. Cole o seguinte código no arquivo:

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

    No código anterior, substitua todas as instâncias de example-bucket com o nome do bucket do Amazon S3 que contém a pasta para a qual você deseja exportar as informações do segmento. Além disso, substitua todas as instâncias de Exports com o nome da própria pasta.

    Ao concluir, salve o arquivo como s3policy.json.

  2. Usando o AWS CLI, navegue até o diretório em que o s3policy.json arquivo está localizado. Insira o seguinte comando para criar a política:

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

    Se a criação da política for bem-sucedida, você verá um resultado semelhante a este:

    { "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 o Amazon Resource Name (ARN) da política (arn:aws:iam::123456789012:policy/s3ExportPolicyno exemplo anterior). Na próxima seção, você deve fornecer isso ARN ao criar a função.

    nota

    Se você receber uma mensagem informando que sua conta não está autorizada a realizar a CreatePolicy operação, você precisará anexar uma política ao seu usuário que permita criar novas IAM políticas e funções. Para obter mais informações, consulte Adicionar e remover permissões de IAM identidade no Guia IAM do usuário.

Etapa 2: criar a função do IAM

Agora que você criou uma IAM política, você pode criar uma função e anexar a política a ela. Cada IAM função contém uma política de confiança — um conjunto de regras que especifica quais entidades podem assumir a função. Nesta seção, você cria uma política de confiança que permite ao Amazon Pinpoint assumir o perfil. Em seguida, você cria a função propriamente dita e depois anexa a ela a política que você criou na seção anterior.

Para criar a função IAM
  1. Em um editor de texto, crie um novo arquivo. Cole o seguinte código no arquivo:

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

    Salve o arquivo como trustpolicy.json.

  2. Usando o AWS CLI, navegue até o diretório em que o trustpolicy.json arquivo está localizado. Insira o seguinte comando para criar uma nova função:

    aws iam create-role --role-name s3ExportRole --assume-role-policy-document file://trustpolicy.json
  3. Na linha de comando, insira o seguinte comando para anexar a política que você criou na seção anterior à função que você acabou de criar:

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

    No comando anterior, substitua arn:aws:iam::123456789012:policy/s3ExportPolicy com ARN a política que você criou na seção anterior.