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á.
Exemplos de políticas baseadas em identidade do Amazon Pinpoint
Por padrão, usuários e funções não têm permissão para criar ou modificar recursos do Amazon Pinpoint. Eles também não podem realizar tarefas usando o AWS Management Console, AWS CLI, ou um AWS API. Um IAM administrador deve criar IAM políticas que concedam aos usuários e funções permissão para realizar API operações específicas nos recursos de que precisam. O administrador deve anexar essas políticas aos usuários ou grupos que exigem essas permissões.
Para saber como criar uma política IAM baseada em identidade usando esses exemplos de documentos JSON de política, consulte Criação de políticas na JSON guia do IAMusuário.
Tópicos
- Melhores práticas de política
- Usar o console do Amazon Pinpoint
- Exemplo: acessar um único projeto do Amazon Pinpoint
- Exemplo: visualizar recursos do Amazon Pinpoint com base em tags
- Exemplo: permitir que os usuários visualizem suas próprias permissões
- Exemplos: fornecimento de acesso às ações do Amazon Pinpoint API
- Exemplos: fornecimento de acesso ao Amazon Pinpoint SMS e ações de voz API
- Exemplo: restringir o acesso ao projeto do Amazon Pinpoint a endereços IP específicos
- Exemplo: restringir o acesso ao Amazon Pinpoint com base em tags
- Exemplo: permitir que o Amazon Pinpoint envie e-mails usando identidades que foram verificadas na Amazon SES
Melhores práticas de política
As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do Amazon Pinpoint em sua conta. Essas ações podem incorrer em custos para seus Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
-
Comece com políticas AWS gerenciadas e avance para permissões de privilégios mínimos — Para começar a conceder permissões para seus usuários e cargas de trabalho, use as políticas AWS gerenciadas que concedem permissões para muitos casos de uso comuns. Eles estão disponíveis no seu Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo AWS cliente que sejam específicas para seus casos de uso. Para obter mais informações, consulte políticas AWS gerenciadas ou políticas AWS gerenciadas para funções de trabalho no Guia IAM do usuário.
-
Aplique permissões com privilégios mínimos — Ao definir permissões com IAM políticas, conceda somente as permissões necessárias para realizar uma tarefa. Você faz isso definindo as ações que podem ser executadas em atributos específicos sob condições específicas, também conhecidas como permissões de privilégio mínimo. Para obter mais informações sobre IAM como usar para aplicar permissões, consulte Políticas e permissões IAM no Guia IAM do usuário.
-
Use condições nas IAM políticas para restringir ainda mais o acesso — Você pode adicionar uma condição às suas políticas para limitar o acesso a ações e recursos. Por exemplo, você pode escrever uma condição de política para especificar que todas as solicitações devem ser enviadas usandoSSL. Você também pode usar condições para conceder acesso às ações de serviço se elas forem usadas por meio de uma ação específica AWS service (Serviço da AWS), como AWS CloudFormation. Para obter mais informações, consulte Elementos IAM JSON da política: Condição no Guia IAM do usuário.
-
Use o IAM Access Analyzer para validar suas IAM políticas e garantir permissões seguras e funcionais — o IAM Access Analyzer valida políticas novas e existentes para que as políticas sigam a linguagem da IAM política (JSON) e as melhores práticas. IAM IAMO Access Analyzer fornece mais de 100 verificações de políticas e recomendações práticas para ajudá-lo a criar políticas seguras e funcionais. Para obter mais informações, consulte Validar políticas com o IAM Access Analyzer no Guia do IAMUsuário.
-
Exigir autenticação multifatorial (MFA) — Se você tiver um cenário que exija IAM usuários ou um usuário root Conta da AWS, ative MFA para obter segurança adicional. Para exigir MFA quando API as operações são chamadas, adicione MFA condições às suas políticas. Para obter mais informações, consulte APIAcesso seguro com MFA no Guia IAM do usuário.
Para obter mais informações sobre as melhores práticas emIAM, consulte as melhores práticas de segurança IAM no Guia IAM do usuário.
Usar o console do Amazon Pinpoint
Para acessar o console do Amazon Pinpoint, você deve ter um conjunto mínimo de permissões. Essas permissões devem permitir que você liste e visualize detalhes sobre os recursos do Amazon Pinpoint em sua AWS conta. Se você criar uma política baseada em identidade que aplique permissões mais restritivas do que as permissões mínimas necessárias, o console não funcionará como pretendido para entidades (usuários ou funções) com essa política. Para garantir que essas entidades possam usar o console do Amazon Pinpoint, anexe a política a elas. Para obter mais informações, consulte Adicionar permissões a um usuário no Guia do IAM usuário.
O exemplo de política a seguir fornece acesso somente de leitura ao console do Amazon Pinpoint em uma região específica. AWS Inclui acesso somente de leitura a outros serviços dos quais o console do Amazon Pinpoint depende, como o Amazon Simple Email Service (Amazon) e o 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
" } } } ] }
No exemplo de política anterior, substitua region
com o nome de uma AWS região e substitua accountId
com o ID AWS da sua conta.
Você não precisa permitir permissões mínimas do console para usuários que estão fazendo chamadas somente para AWS CLI o. ou AWS API o. Em vez disso, permita o acesso somente às ações que correspondam à API operação que eles estão tentando realizar.
Exemplo: acessar um único projeto do Amazon Pinpoint
Você também pode criar políticas somente leitura que fornecem acesso somente a projetos específicos. O exemplo a seguir permite que os usuários entrem no console e visualizem uma lista de projetos. Ele também permite que os usuários visualizem informações sobre recursos relacionados a outros AWS serviços dos quais o console do Amazon Pinpoint depende, como Amazon SES e Amazon Kinesis. IAM Contudo, a política apenas permite que os usuários visualizem informações adicionais sobre o projeto especificado nela. Você pode modificar essa política para permitir o acesso a projetos ou AWS regiões adicionais.
{ "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
" } } } ] }
No exemplo anterior, substitua region
pelo nome de uma AWS região, substitua accountId
com o ID AWS da sua conta e substitua projectId
com o ID do projeto Amazon Pinpoint ao qual você deseja fornecer acesso.
Da mesma forma, você pode criar políticas que concedam a um usuário em sua AWS conta acesso de gravação limitado a um dos seus projetos do Amazon Pinpoint, por exemplo, o projeto que tem o ID do 810c7aab86d42fb2b56c8c966example
projeto. Nesse caso, permita que o usuário visualize, adicione e atualize os componentes do projeto, como segmentos e campanhas, mas não exclua os componentes.
Além de conceder permissões para as ações mobiletargeting:Get
e mobiletargeting:List
, crie uma política que conceda permissões às seguintes ações: mobiletargeting:Create
, mobiletargeting:Update
e mobiletargeting:Put
. Estas são as permissões adicionais necessárias para criar e gerenciar a maioria dos componentes do projeto. Por exemplo:
{ "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
" } } } ] }
Exemplo: visualizar recursos do Amazon Pinpoint com base em tags
Você pode usar condições em uma política baseada em identidade para controlar o acesso aos recursos do Amazon Pinpoint com base em tags. Esta política de exemplo mostra como você pode criar esse tipo de política para permitir a visualização dos recursos do Amazon Pinpoint. No entanto, a permissão será concedida somente se a tag Owner
tiver o valor do nome desse usuário. Essa política também concede as permissões necessárias concluir essa ação no 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
:*" } } } ] }
Você pode anexar esse tipo de política aos usuários do na sua conta. Se um usuário chamado richard-roe
tentar visualizar um recurso do Amazon Pinpoint, o recurso deve ser marcado como Owner=richard-roe
ou owner=richard-roe
. Caso contrário, ele terá o acesso negado. A chave da tag de condição Owner
corresponde a Owner
e a owner
porque os nomes das chaves de condição não fazem distinção entre maiúsculas e minúsculas. Para obter mais informações, consulte Elementos IAM JSON da política: Condição no Guia IAM do usuário.
Exemplo: permitir que os usuários visualizem suas próprias permissões
Este exemplo mostra como você pode criar uma política que permita IAM aos usuários visualizar as políticas embutidas e gerenciadas que estão anexadas à identidade do usuário. Essa política inclui permissões para concluir essa ação no console ou programaticamente usando o AWS CLI ou. 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": "*" } ] }
Exemplos: fornecimento de acesso às ações do Amazon Pinpoint API
Esta seção fornece exemplos de políticas que permitem o acesso a recursos que estão disponíveis no Amazon PinpointAPI, que é o principal API do Amazon Pinpoint. Para saber mais sobre issoAPI, consulte a Referência do Amazon Pinpoint API.
Acesso somente leitura
O exemplo de política a seguir permite acesso somente de leitura a todos os recursos em sua conta do Amazon Pinpoint em uma região específica. AWS
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewAllResources", "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": "arn:aws:mobiletargeting:
region
:accountId
:*" } ] }
No exemplo anterior, substitua region
com o nome de uma AWS região e substitua accountId
com o ID AWS
da sua conta.
Acesso de administrador
A política de exemplo a seguir permite acesso completo a todas as ações e recursos do Amazon Pinpoint na conta do Amazon Pinpoint:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "FullAccess", "Effect": "Allow", "Action": [ "mobiletargeting:*" ], "Resource": "arn:aws:mobiletargeting:
region
:accountId
:*" } ] }
No exemplo anterior, substitua accountId
com o ID AWS da sua conta.
Exemplos: fornecimento de acesso ao Amazon Pinpoint SMS e ações de voz API
Esta seção fornece exemplos de políticas que permitem o acesso a recursos que estão disponíveis no Amazon Pinpoint SMS and Voice. API Este é um suplemento API que fornece opções avançadas para usar e gerenciar os SMS canais de voz no Amazon Pinpoint. Para saber mais sobre issoAPI, consulte o Amazon Pinpoint SMS e a referência de voz API.
Acesso somente leitura
O exemplo de política a seguir permite acesso somente de leitura a todas as ações e recursos do Amazon SMS Pinpoint e API Voice em sua conta: 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
:*" } } } ] }
Acesso de administrador
O exemplo de política a seguir permite acesso total a todas as API ações e recursos do Amazon Pinpoint SMS e Voice em sua AWS conta:
{ "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
:*" } } } ] }
Exemplo: restringir o acesso ao projeto do Amazon Pinpoint a endereços IP específicos
O exemplo de política a seguir concede permissões a qualquer usuário para realizar qualquer ação do Amazon Pinpoint em um projeto específico (projectId
). No entanto, a solicitação deve ser originada do intervalo de endereços IP especificado na condição.
A condição nesta declaração identifica o 54.240.143.*
intervalo de endereços permitidos do Protocolo de Internet versão 4 (IPv4), com uma exceção:54.240.143.188
. O Condition
bloco usa as NotIpAddress
condições IpAddress
e e a chave de aws:SourceIp
condição, que é uma chave AWS de condição ampla. Para obter mais informações sobre essas chaves de condição, consulte Como especificar condições no Guia IAM do usuário de uma política. Os aws:SourceIp
IPv4 valores usam a CIDR notação padrão. Para obter mais informações, consulte operadores de condição de endereço IP no Guia IAM do usuário.
{ "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" } } } ] }
Exemplo: restringir o acesso ao Amazon Pinpoint com base em tags
O exemplo de política a seguir concede permissões para realizar qualquer ação do Amazon Pinpoint em um projeto específico (projectId
). No entanto, as permissões são concedidas somente se a solicitação for originada de um usuário cujo nome seja um valor na tag de Owner
recurso do projeto, conforme especificado na condição.
{ "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
" } } } ] }
Exemplo: permitir que o Amazon Pinpoint envie e-mails usando identidades que foram verificadas na Amazon SES
Quando você verifica uma identidade de e-mail (como endereço de e-mail ou domínio) por meio do console do Amazon Pinpoint, essa identidade é configurada automaticamente para que possa ser usada tanto pelo Amazon Pinpoint quanto pela Amazon. SES No entanto, se você verificar uma identidade de e-mail por meio da Amazon SES e quiser usar essa identidade com o Amazon Pinpoint, deverá aplicar uma política a essa identidade.
O exemplo de política a seguir concede ao Amazon Pinpoint permissão para enviar e-mails usando uma identidade de e-mail que foi verificada pela 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 você usa o Amazon Pinpoint na região AWS GovCloud (Oeste dos EUA), use o seguinte exemplo de política em vez disso:
{ "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/*
" } } } ] }