

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á.

# Gerenciamento de identidade e acesso no Amazon SQS
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) é uma ferramenta AWS service (Serviço da AWS) que ajuda o administrador a controlar com segurança o acesso aos AWS recursos. Os administradores do IAM controlam quem pode ser *autenticado* (conectado) e *autorizado* (ter permissões) para utilizar os recursos do Amazon SQS. O IAM é um AWS service (Serviço da AWS) que você pode usar sem custo adicional.

## Público
<a name="security_iam_audience"></a>

A forma como você usa AWS Identity and Access Management (IAM) difere com base na sua função:
+ **Usuário do serviço**: solicite permissões ao seu administrador se você não conseguir acessar os atributos (consulte [Resolução de problemas de identidade e acesso do Amazon Simple Queue Service](security_iam_troubleshoot.md)).
+ **Administrador do serviço**: determine o acesso do usuário e envie solicitações de permissão (consulte [Como o Amazon Simple Queue Service funciona com o IAM](security_iam_service-with-iam.md))
+ **Administrador do IAM**: escreva políticas para gerenciar o acesso (consulte [Práticas recomendadas de política](sqs-basic-examples-of-iam-policies.md#security_iam_id-based-policy-examples))

## Autenticação com identidades
<a name="security_iam_authentication"></a>

A autenticação é a forma como você faz login AWS usando suas credenciais de identidade. Você deve estar autenticado como usuário do IAM ou assumindo uma função do IAM. Usuário raiz da conta da AWS

Você pode fazer login como uma identidade federada usando credenciais de uma fonte de identidade como Centro de Identidade do AWS IAM (IAM Identity Center), autenticação de login único ou credenciais. Google/Facebook Para ter mais informações sobre como fazer login, consulte [Como fazer login em sua Conta da AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) no *Guia do usuário do Início de Sessão da AWS *.

Para acesso programático, AWS fornece um SDK e uma CLI para assinar solicitações criptograficamente. Para ter mais informações, consulte [AWS Signature Version 4 para solicitações de API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) no *Guia do usuário do IAM*.

### Conta da AWS usuário root
<a name="security_iam_authentication-rootuser"></a>

 Ao criar um Conta da AWS, você começa com uma identidade de login chamada *usuário Conta da AWS raiz* que tem acesso completo a todos Serviços da AWS os recursos. É altamente recomendável não usar o usuário-raiz em tarefas diárias. Consulte as tarefas que exigem credenciais de usuário-raiz em [Tarefas que exigem credenciais de usuário-raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) no *Guia do usuário do IAM*. 

### Identidade federada
<a name="security_iam_authentication-federated"></a>

Como prática recomendada, exija que os usuários humanos usem a federação com um provedor de identidade para acessar Serviços da AWS usando credenciais temporárias.

Uma *identidade federada* é um usuário do seu diretório corporativo, provedor de identidade da web ou Directory Service que acessa Serviços da AWS usando credenciais de uma fonte de identidade. As identidades federadas assumem funções que oferecem credenciais temporárias.

Para o gerenciamento de acesso centralizado, recomendamos Centro de Identidade do AWS IAM. Para saber mais, consulte [O que é o IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

### Usuários e grupos do IAM
<a name="security_iam_authentication-iamuser"></a>

Um *[usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* é uma identidade com permissões específicas para uma única pessoa ou aplicação. É recomendável usar credenciais temporárias, em vez de usuários do IAM com credenciais de longo prazo. Para obter mais informações, consulte [Exigir que usuários humanos usem a federação com um provedor de identidade para acessar AWS usando credenciais temporárias](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) no *Guia do usuário do IAM*.

Um [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) especifica um conjunto de usuários do IAM e facilita o gerenciamento de permissões para grandes conjuntos de usuários. Para ter mais informações, consulte [Casos de uso de usuários do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) no *Guia do usuário do IAM*.

### Perfis do IAM
<a name="security_iam_authentication-iamrole"></a>

Uma *[perfil do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* é uma identidade com permissões específicas que oferece credenciais temporárias. Você pode assumir uma função [mudando de um usuário para uma função do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) ou chamando uma operação de AWS API AWS CLI ou. Para saber mais, consulte [Métodos para assumir um perfil](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) no *Manual do usuário do IAM*.

Os perfis do IAM são úteis para acesso de usuário federado, permissões de usuário do IAM temporárias, acesso entre contas, acesso entre serviços e aplicações em execução no Amazon EC2. Consulte mais informações em [Acesso a recursos entre contas no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) no *Guia do usuário do IAM*.

## Gerenciar o acesso usando políticas
<a name="security_iam_access-manage"></a>

Você controla o acesso AWS criando políticas e anexando-as a AWS identidades ou recursos. Uma política define permissões quando associada a uma identidade ou recurso. AWS avalia essas políticas quando um diretor faz uma solicitação. A maioria das políticas é armazenada AWS como documentos JSON. Para ter mais informações sobre documentos de política JSON, consulte [Visão geral das políticas JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) no *Guia do usuário do IAM*.

Por meio de políticas, os administradores especificam quem tem acesso a que, definindo qual **entidade principal** pode realizar **ações** em quais **recursos** e sob quais **condições**.

Por padrão, usuários e perfis não têm permissões. Um administrador do IAM cria políticas do IAM e as adiciona aos perfis, os quais os usuários podem então assumir. As políticas do IAM definem permissões, independentemente do método usado para realizar a operação.

### Políticas baseadas em identidade
<a name="security_iam_access-manage-id-based-policies"></a>

As políticas baseadas em identidade são documentos de políticas de permissão JSON que você anexa a uma identidade (usuário, grupo ou perfil). Essas políticas controlam quais ações as identidades podem realizar, em quais recursos e sob quais condições. Para saber como criar uma política baseada em identidade, consulte [Definir permissões personalizadas do IAM com as políticas gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) no *Guia do Usuário do IAM*.

As políticas baseadas em identidade podem ser políticas *em linha* (incorporadas diretamente em uma única identidade) ou *políticas gerenciadas* (políticas autônomas anexadas a várias identidades). Para saber como escolher entre uma política gerenciada e políticas em linha, consulte [Escolher entre políticas gerenciadas e políticas em linha](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) no *Guia do usuário do IAM*.

### Políticas baseadas em recursos
<a name="security_iam_access-manage-resource-based-policies"></a>

Políticas baseadas em recursos são documentos de políticas JSON que você anexa a um recurso. Entre os exemplos estão *políticas de confiança de perfil* do IAM e *políticas de bucket* do Amazon S3. Em serviços compatíveis com políticas baseadas em recursos, os administradores de serviço podem usá-las para controlar o acesso a um recurso específico. É necessário [especificar uma entidade principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) em uma política baseada em recursos.

Políticas baseadas em recursos são políticas em linha localizadas nesse serviço. Você não pode usar políticas AWS gerenciadas do IAM em uma política baseada em recursos.

### Outros tipos de política
<a name="security_iam_access-manage-other-policies"></a>

AWS oferece suporte a tipos de políticas adicionais que podem definir o máximo de permissões concedidas por tipos de políticas mais comuns:
+ **Limites de permissões**: definem o número máximo de permissões que uma política baseada em identidade pode conceder a uma entidade do IAM. Para saber mais sobre limites de permissões, consulte [Limites de permissões para identidades do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) no *Guia do usuário do IAM*.
+ **Políticas de controle de serviço (SCPs)** — Especifique as permissões máximas para uma organização ou unidade organizacional em AWS Organizations. Para saber mais, consulte [Políticas de controle de serviço](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) no *Guia do usuário do AWS Organizations *.
+ **Políticas de controle de recursos (RCPs)** — Defina o máximo de permissões disponíveis para recursos em suas contas. Para obter mais informações, consulte [Políticas de controle de recursos (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) no *Guia AWS Organizations do usuário*.
+ **Políticas de sessão**: políticas avançadas transmitidas como um parâmetro durante a criação de uma sessão temporária para um perfil ou um usuário federado. Para saber mais, consulte [Políticas de sessão](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) no *Guia do usuário do IAM*.

### Vários tipos de política
<a name="security_iam_access-manage-multiple-policies"></a>

Quando vários tipos de política são aplicáveis a uma solicitação, é mais complicado compreender as permissões resultantes. Para saber como AWS determinar se uma solicitação deve ser permitida quando vários tipos de políticas estão envolvidos, consulte [Lógica de avaliação de políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) no *Guia do usuário do IAM*.

# Visão geral do gerenciamento de acesso no Amazon SQS
<a name="sqs-overview-of-managing-access"></a>

Cada AWS recurso é de propriedade de um Conta da AWS, e as permissões para criar ou acessar um recurso são regidas por políticas de permissões. Um administrador da conta pode anexar políticas de permissões a identidades do IAM (usuários, grupos e funções) e alguns produtos (como o Amazon SQS) também oferecem suporte à anexação de políticas de permissões aos recursos.

**nota**  
O *administrador da conta* (ou usuário administrador) é um usuário com privilégios administrativos. Para obter mais informações, consulte [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*.

Ao conceder permissões, você especifica os usuários que recebem permissões, o recurso para o qual as permissões são concedidas e as ações específicas que você deseja permitir no recurso.

## Recursos e operações do Amazon Simple Queue Service
<a name="sqs-resource-and-operations"></a>

No Amazon SQS, o único recurso é a *fila*. Em uma política, use um nome de recurso da Amazon (ARN) para identificar o recurso ao qual a política se aplica. O seguinte recurso tem um ARN exclusivo associado a ele:


| Tipo de atributo | Formato ARN | 
| --- | --- | 
| Fila | arn:aws:sqs:region:account\$1id:queue\$1name | 

Veja a seguir exemplos do formato do ARN para filas:
+ Um ARN para uma fila nomeada `my_queue` na região Leste dos EUA (Ohio), pertencente à AWS Conta 123456789012:

  ```
  arn:aws:sqs:us-east-2:123456789012:my_queue
  ```
+ Um ARN para uma fila chamada `my_queue` em cada uma das diferentes regiões compatíveis com o Amazon SQS:

  ```
  arn:aws:sqs:*:123456789012:my_queue
  ```
+ Um ARN que usa `*` ou `?` como um curinga para o nome da fila. No exemplo a seguir, o ARN corresponde a todas as filas prefixadas com `my_prefix_`:

  ```
  arn:aws:sqs:*:123456789012:my_prefix_*
  ```

Você pode obter o valor do ARN para uma fila existente chamando a ação [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueAttributes.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueAttributes.html). O valor do atributo `QueueArn` é o ARN da fila. Para obter mais informações sobre ARNs, consulte [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) no *Guia do usuário do IAM*.

O Amazon SQS fornece um conjunto de ações que funcionam com o recurso de fila. Para obter mais informações, consulte [Permissões da API do Amazon SQS: referência de ações e recurso](sqs-api-permissions-reference.md).

## Informações sobre propriedade de recursos
<a name="sqs-understanding-resource-ownership"></a>

Ele Conta da AWS possui os recursos que são criados na conta, independentemente de quem criou os recursos. Mais especificamente, o proprietário do recurso é a Conta da AWS da *entidade principal* (ou seja, a conta raiz, um usuário ou um perfil do IAM) que autentica a solicitação de criação de recursos. Os seguintes exemplos mostram como isso funciona:
+ Se você usar as credenciais da sua conta raiz Conta da AWS para criar uma fila do Amazon SQS, Conta da AWS você é o proprietário do recurso (no Amazon SQS, o recurso é a fila do Amazon SQS).
+ Se você criar um usuário no seu Conta da AWS e conceder permissões para criar uma fila para o usuário, o usuário poderá criar a fila. No entanto, a Conta da AWS (à qual o usuário pertence) é a proprietária do recurso de fila.
+ Se você criar uma função do IAM Conta da AWS com permissões para criar uma fila do Amazon SQS, qualquer pessoa que possa assumir a função poderá criar uma fila. Seu Conta da AWS (ao qual a função pertence) é proprietário do recurso de fila. 

## Gerenciar acesso aos recursos da
<a name="sqs-managing-access-to-resources"></a>

Uma *política de permissões* descreve as permissões concedidas às contas. A seção a seguir explica as opções disponíveis para a criação das políticas de permissões.

**nota**  
 Esta seção discute o uso do IAM no contexto do Amazon SQS. Não são fornecidas informações detalhadas sobre o serviço IAM. Para ver a documentação completa do IAM, consulte [What is IAM?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) no *IAM User Guide*. Para obter mais informações sobre a sintaxe e as descrições da política do IAM, consulte a [Referência de política do AWS IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) no *Guia do usuário do IAM*. 

As políticas anexadas a uma identidade do IAM são conhecidas como políticas *baseadas em identidade* (políticas do IAM;) e as políticas anexadas a um recurso são conhecidas como políticas *baseadas em recurso*.

### Políticas baseadas em identidade
<a name="sqs-identity-based-features-of-sqs-policies"></a>

Há duas maneiras de conceder aos usuários permissões às suas filas do Amazon SQS: usando os sistemas de políticas do Amazon SQS e do IAM. Você pode usar um dos sistemas, ou ambos, para anexar políticas a usuários ou funções. Na maioria dos casos, você pode atingir o mesmo resultado usando um dos sistemas. Por exemplo, você pode fazer o seguinte:
+ **Anexar uma política de permissões a um usuário ou grupo na conta**: para conceder a um usuário permissões para criar uma fila do Amazon SQS, anexe uma política de permissões a um usuário ou grupo a que o usuário pertença.
+ **Anexar uma política de permissão a um usuário em outro Conta da AWS** — Você pode anexar uma política de permissões a um usuário em outro Conta da AWS para permitir que ele interaja com uma fila do Amazon SQS. No entanto, as permissões entre contas não se aplicam às seguintes ações:

  As permissões entre contas não se aplicam às seguintes ações:
  + `[AddPermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html)`
  + `[CancelMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CancelMessageMoveTask.html)`
  + `[CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html)`
  + `[DeleteQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html)`
  + `[ListMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html)`
  + `[ListQueues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueues.html)`
  + `[ListQueueTags](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html)`
  + `[RemovePermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_RemovePermission.html)`
  + `[SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)`
  + `[StartMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_StartMessageMoveTask.html)`
  + `[TagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_TagQueue.html)`
  + `[UntagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_UntagQueue.html)`

  Para conceder acesso a essas ações, o usuário deve pertencer à mesma Conta da AWS que detém a fila do Amazon SQS.
+ **Anexar uma política de permissões a um perfil (conceder permissões entre contas)**: para conceder permissões entre contas a uma fila do SQS, você deve combinar políticas do IAM e baseadas em recursos:

  1. Na **Conta A** (que é proprietária da fila):
     + Anexe uma **política baseada em recursos** à fila SQS. Essa política deve conceder explicitamente as permissões necessárias (por exemplo, [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html), [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html)) à entidade principal na **Conta B** (como um perfil do IAM).

  1. Na **Conta A**, crie um perfil do IAM.
     + Uma **política de confiança** que permita que a **Conta B** ou um AWS service (Serviço da AWS) assuma o perfil.
**nota**  
Se você quiser que um AWS service (Serviço da AWS) (como Lambda ouEventBridge) assuma a função, especifique o principal do serviço (por exemplo,lambda.amazonaws.com) na política de confiança.
     + Uma **política baseada em identidade** que concede ao perfil assumido permissões para interagir com a fila.

  1. Na **Conta B**, conceda permissão para assumir o perfil na **Conta A**.

Você deve configurar a política de acesso da fila para permitir a entidade principal entre contas. As políticas baseadas em identidade do IAM, por si só, não são suficientes para o acesso entre contas às filas do SQS.

Para obter mais informações sobre o uso do IAM para delegar permissões, consulte [Gerenciamento de acesso](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) no *Guia do usuário do IAM*.

Embora o Amazon SQS funcione com políticas do IAM, ele tem sua própria infraestrutura de políticas. Você pode usar uma política do Amazon SQS com uma fila para especificar quais AWS contas têm acesso à fila. Você pode especificar o tipo de acesso e condições (por exemplo, uma condição que conceda permissões para usar `SendMessage`, `ReceiveMessage` se a solicitação for feita antes de 31 de dezembro de 2010). As ações específicas para as quais você pode conceder permissões são um subconjunto de toda a lista de ações do Amazon SQS. Quando você grava uma política do Amazon SQS e especifica `*` para “permitir todas as ações do Amazon SQS”, significa que um usuário pode realizar todas as ações nesse subconjunto.

O diagrama a seguir ilustra o conceito de uma dessas políticas básicas do Amazon SQS que abrange o subconjunto de ações. A política é para `queue_xyz` e concede à AWS Conta 1 e à AWS Conta 2 permissões para usar qualquer uma das ações permitidas com a fila especificada. 

**nota**  
O recurso na política é especificado como`123456789012/queue_xyz`, onde `123456789012` está o AWS ID da conta que possui a fila.

![\[Uma política do Amazon SQS que abrange o subconjunto de ações\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/SQS_BasicPolicy.png)


Com a introdução do IAM e os conceitos de *Users* e *Amazon Resource Names (ARNs)*, algumas coisas mudaram nas políticas do SQS. O diagrama e a tabela a seguir descrevem as alterações.

![\[IAM e nomes de recurso da Amazon adicionados à política do Amazon SQS.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/SQS_PolicyWithNewFeatures.png)


![\[Number one in the diagram.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-1-red.png)Para obter informações sobre como conceder permissões a usuários em contas diferentes, consulte [Tutorial: Delegar acesso entre AWS contas usando funções do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html) no *Guia do usuário do IAM*.

![\[Number two in the diagram.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-2-red.png) O subconjunto de ações incluídas em `*` foi expandido. Para obter uma lista de ações permitidas, consulte [Permissões da API do Amazon SQS: referência de ações e recurso](sqs-api-permissions-reference.md).

![\[Number three in the diagram.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-3-red.png) Você pode especificar o recurso usando o nome do recurso da Amazon (ARN), a forma padrão de especificar recursos nas políticas do IAM. Para obter informações sobre o formato ARN para filas do Amazon SQS, consulte [Recursos e operações do Amazon Simple Queue Service](#sqs-resource-and-operations).

Por exemplo, de acordo com a política do Amazon SQS no diagrama anterior, qualquer pessoa que possua as credenciais de segurança da AWS Conta 1 ou AWS da Conta 2 pode acessar. `queue_xyz` Além disso, os usuários Bob e Susan em sua própria conta da AWS (com o ID `123456789012`) podem acessar a fila.

Antes da introdução do IAM, o Amazon SQS concedia automaticamente ao criador de uma fila o controle total sobre ela (ou seja, o acesso a todas as ações possíveis do Amazon SQS nessa fila). Isso não é mais verdadeiro, a menos que o criador use credenciais de segurança da AWS . Qualquer usuário que tenha permissões para criar uma fila também deve ter permissões para usar outras ações do Amazon SQS, para fazer qualquer coisa com as filas criadas.

Veja a seguir uma política de exemplo que permite que um usuário use todas as ações do Amazon SQS, mas apenas com as filas cujos nomes estejam prefixados com a string literal `bob_queue_`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:*:123456789012:bob_queue_*"
   }]
}
```

------

Para obter mais informações, consulte [Usar políticas com o Amazon SQS](sqs-using-identity-based-policies.md) e [Identidades (usuários, grupos e funções)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) no *Guia do usuário do IAM*.

## Especificar elementos da política: ações, efeitos, recursos e entidades principais
<a name="sqs-specifying-policy-elements"></a>

Para cada [recurso do Amazon Simple Queue Service](#sqs-resource-and-operations), o produto define um conjunto de [ações](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_Operations.html). Para conceder permissões a essas ações, o Amazon SQS define um conjunto de ações que podem ser especificadas em uma política.

**nota**  
A execução de uma ação de pode exigir permissões para mais de uma ação. Ao conceder permissões para ações específicas, você também identifica o recurso para o qual as ações são permitidas ou recusadas.

Estes são os elementos de política mais básicos:
+ **Recurso**: em uma política, você usa um Amazon Resource Name (ARN – Nome do recurso da Amazon) para identificar o recurso a que a política se aplica.
+ **Ação**: você usa palavras-chave de ação para identificar as ações de recurso que deseja permitir ou negar. Por exemplo, a permissão `sqs:CreateQueue` permite que o usuário execute a ação `CreateQueue` do Amazon Simple Queue Service.
+ **Efeito**: você especifica o efeito quando o usuário solicita a ação específica, que pode ser permitir ou negar. Se você não conceder explicitamente acesso a um recurso, o acesso estará implicitamente negado. Você também pode negar explicitamente o acesso a um recurso a fim de ter certeza de que um usuário não conseguirá acessá-lo, mesmo que uma política diferente conceda acesso.
+ **Principal**: em políticas baseadas em identidade (políticas do IAM), o usuário ao qual a política é anexada é implicitamente o principal. Para as políticas baseadas em recursos, você especifica quais usuários, contas, serviços ou outras entidades deseja que recebam permissões (isso se aplica somente a políticas baseadas em recursos). 

Para saber mais sobre a sintaxe e as descrições da política do Amazon SQS, consulte a [Referência de política do IAM da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) no *Guia do usuário do IAM*.

Para ver uma tabela com todas as ações do Amazon Simple Queue Service e os recursos a que elas se aplicam, consulte [Permissões da API do Amazon SQS: referência de ações e recurso](sqs-api-permissions-reference.md).

# Como o Amazon Simple Queue Service funciona com o IAM
<a name="security_iam_service-with-iam"></a>

Antes de usar o IAM para gerenciar o acesso ao Amazon SQS, entenda que recursos do IAM estão disponíveis para uso com o Amazon SQS.






**Recursos do IAM que você pode usar com o Amazon Simple Queue Service**  

| Recurso do IAM | Compatibilidade com o Amazon SQS | 
| --- | --- | 
|  [Políticas baseadas em identidade](#security_iam_service-with-iam-id-based-policies)  |   Sim  | 
|  [Políticas baseadas em atributos](#security_iam_service-with-iam-resource-based-policies)  |  Sim  | 
|  [Ações de políticas](#security_iam_service-with-iam-id-based-policies-actions)  |   Sim  | 
|  [Recursos de políticas](#security_iam_service-with-iam-id-based-policies-resources)  |   Sim  | 
|  [Chaves de condição de política (específicas do serviço)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Sim  | 
|  [ACLs](#security_iam_service-with-iam-acls)  |   Não   | 
|  [ABAC (tags em políticas)](#security_iam_service-with-iam-tags)  |   Parcial  | 
|  [Credenciais temporárias](#security_iam_service-with-iam-roles-tempcreds)  |   Sim  | 
|  [Sessões de acesso direto (FAS)](#security_iam_service-with-iam-principal-permissions)  |   Sim  | 
|  [Perfis de serviço](#security_iam_service-with-iam-roles-service)  |   Sim  | 
|  [Perfis vinculados a serviço](#security_iam_service-with-iam-roles-service-linked)  |   Não   | 

Para obter uma visão de alto nível de como o Amazon SQS e AWS outros serviços funcionam com a maioria dos recursos do IAM, [AWS consulte os serviços que funcionam com o IAM no Guia](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) do usuário *do IAM*.

## Controle de acesso
<a name="access-control"></a>

As listas de controle de acesso (ACLs) controlam quais diretores (membros da conta, usuários ou funções) têm permissões para acessar um recurso. ACLs são semelhantes às políticas baseadas em recursos, embora não usem o formato de documento de política JSON.

O Amazon S3 e o AWS WAF Amazon VPC são exemplos de serviços que oferecem suporte. ACLs Para saber mais ACLs, consulte a [visão geral da lista de controle de acesso (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) no *Guia do desenvolvedor do Amazon Simple Storage Service*.

**nota**  
É importante entender que todos Contas da AWS podem delegar suas permissões aos usuários em suas contas. O acesso entre contas permite que você compartilhe o acesso aos seus AWS recursos sem precisar gerenciar usuários adicionais. Para obter informações sobre como usar o acesso entre contas, consulte [Habilitar o acesso entre contas](https://docs.aws.amazon.com/IAM/latest/UserGuide/Delegation.html) no *Guia do usuário do IAM*.   
Consulte [Limitações das políticas personalizadas do Amazon SQS](sqs-limitations-of-custom-policies.md) para obter mais detalhes sobre permissões de conteúdo cruzado e chaves de condição nas políticas personalizadas do Amazon SQS. 

## Políticas baseadas em identidade do Amazon SQS
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Compatível com políticas baseadas em identidade:** sim

As políticas baseadas em identidade são documentos de políticas de permissões JSON que podem ser anexados a uma identidade, como usuário do IAM, grupo de usuários ou perfil. Essas políticas controlam quais ações os usuários e perfis podem realizar, em quais recursos e em que condições. Para saber como criar uma política baseada em identidade, consulte [Definir permissões personalizadas do IAM com as políticas gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) no *Guia do Usuário do IAM*.

Com as políticas baseadas em identidade do IAM, é possível especificar ações e recursos permitidos ou negados, assim como as condições sob as quais as ações são permitidas ou negadas. Para saber mais sobre todos os elementos que podem ser usados em uma política JSON, consulte [Referência de elemento de política JSON do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) no *Guia do usuário do IAM*.

### Exemplos de políticas baseadas em identidade para o Amazon SQS
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Para ver exemplos de políticas baseadas em identidade do Amazon SQS, consulte [Práticas recomendadas de política](sqs-basic-examples-of-iam-policies.md#security_iam_id-based-policy-examples).

## Políticas baseadas em recursos no Amazon SQS
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Compatível com políticas baseadas em recursos:** sim

Políticas baseadas em recursos são documentos de políticas JSON que você anexa a um recurso. São exemplos de políticas baseadas em recursos as *políticas de confiança de perfil* do IAM e as *políticas de bucket* do Amazon S3. Em serviços compatíveis com políticas baseadas em recursos, os administradores de serviço podem usá-las para controlar o acesso a um recurso específico. Para o atributo ao qual a política está anexada, a política define quais ações uma entidade principal especificado pode executar nesse atributo e em que condições. É necessário [especificar uma entidade principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) em uma política baseada em recursos. Os diretores podem incluir contas, usuários, funções, usuários federados ou. Serviços da AWS

Para permitir o acesso entre contas, é possível especificar uma conta inteira ou as entidades do IAM em outra conta como a entidade principal em uma política baseada em recursos. Consulte mais informações em [Acesso a recursos entre contas no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) no *Guia do usuário do IAM*.

## Ações de políticas para o Amazon SQS
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Compatível com ações de políticas:** sim

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento `Action` de uma política JSON descreve as ações que podem ser usadas para permitir ou negar acesso em uma política. Incluem ações em uma política para conceder permissões para executar a operação associada.



Para ver uma lista das ações do Amazon SQS, consulte [Tipos de recursos definidos pelo Amazon SQS](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsqs.html#amazonsqs-resources-for-iam-policies) na *Referência de autorização do serviço*.

As ações de política no Amazon SQS usam o seguinte prefixo antes da ação:

```
sqs
```

Para especificar várias ações em uma única declaração, separe-as com vírgulas.

```
"Action": [
      "sqs:action1",
      "sqs:action2"
         ]
```





Para ver exemplos de políticas baseadas em identidade do Amazon SQS, consulte [Práticas recomendadas de política](sqs-basic-examples-of-iam-policies.md#security_iam_id-based-policy-examples).

## Recursos de políticas para o Amazon SQS
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Compatível com recursos de políticas:** sim

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento de política JSON `Resource` especifica o objeto ou os objetos aos quais a ação se aplica. Como prática recomendada, especifique um recurso usando seu [nome do recurso da Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Para ações que não oferecem compatibilidade com permissões em nível de recurso, use um curinga (\$1) para indicar que a instrução se aplica a todos os recursos.

```
"Resource": "*"
```

Para ver uma lista dos tipos de recursos do Amazon SQS e seus ARNs, consulte [Ações definidas pelo Amazon Simple Queue Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsqs.html#amazonsqs-actions-as-permissions) na Referência de autorização de *serviço*. Para saber com quais ações você pode especificar o ARN de cada recurso, consulte [Tipos de recursos definidos pelo Amazon SQS](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsqs.html#amazonsqs-resources-for-iam-policies).





Para ver exemplos de políticas baseadas em identidade do Amazon SQS, consulte [Práticas recomendadas de política](sqs-basic-examples-of-iam-policies.md#security_iam_id-based-policy-examples).

## Chaves de condição de política para o Amazon SQS
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Compatível com chaves de condição de política específicas de serviço:** sim

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento `Condition` especifica quando as instruções são executadas com base em critérios definidos. É possível criar expressões condicionais que usem [agentes de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), como “igual a” ou “menor que”, para fazer a condição da política corresponder aos valores na solicitação. Para ver todas as chaves de condição AWS globais, consulte as [chaves de contexto de condição AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) no *Guia do usuário do IAM*.

Para ver uma lista de chaves de condição do Amazon SQS, consulte [Ações, recursos e chaves de condição do AWS Key Management Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsqs.html#amazonsqs-policy-keys) na *Referência de autorização do serviço*. Para saber com quais ações e recursos você pode usar a chave de condição, consulte [Tipos de recursos definidos pelo Amazon SQS](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsqs.html#amazonsqs-resources-for-iam-policies).

Para ver exemplos de políticas baseadas em identidade do Amazon SQS, consulte [Práticas recomendadas de política](sqs-basic-examples-of-iam-policies.md#security_iam_id-based-policy-examples).

## ACLs no Amazon SQS
<a name="security_iam_service-with-iam-acls"></a>

**Suportes ACLs:** Não 

As listas de controle de acesso (ACLs) controlam quais diretores (membros da conta, usuários ou funções) têm permissões para acessar um recurso. ACLs são semelhantes às políticas baseadas em recursos, embora não usem o formato de documento de política JSON.

## ABAC com o Amazon SQS
<a name="security_iam_service-with-iam-tags"></a>

**Compatível com ABAC (tags em políticas):** parcial

O controle de acesso por atributo (ABAC) é uma estratégia de autorização que define permissões com base em atributos chamados de tags. Você pode anexar tags a entidades e AWS recursos do IAM e, em seguida, criar políticas ABAC para permitir operações quando a tag do diretor corresponder à tag no recurso.

Para controlar o acesso baseado em tags, forneça informações sobre as tags no [elemento de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de uma política usando as `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` ou chaves de condição `aws:TagKeys`.

Se um serviço for compatível com as três chaves de condição para cada tipo de recurso, o valor será **Sim** para o serviço. Se um serviço for compatível com as três chaves de condição somente para alguns tipos de recursos, o valor será **Parcial**

Para saber mais sobre o ABAC, consulte [Definir permissões com autorização do ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) no *Guia do usuário do IAM*. Para visualizar um tutorial com etapas para configurar o ABAC, consulte [Usar controle de acesso por atributo (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) no *Guia do usuário do IAM*.

## Usar credenciais temporárias com o Amazon SQS
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Compatível com credenciais temporárias:** sim

As credenciais temporárias fornecem acesso de curto prazo aos AWS recursos e são criadas automaticamente quando você usa a federação ou troca de funções. AWS recomenda que você gere credenciais temporárias dinamicamente em vez de usar chaves de acesso de longo prazo. Para ter mais informações, consulte [Credenciais de segurança temporárias no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) e [Serviços da Serviços da AWS que funcionam com o IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) no *Guia do usuário do IAM*.

## Sessões de acesso direto para o Amazon SQS
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Compatibilidade com o recurso de encaminhamento de sessões de acesso (FAS):** sim

 As sessões de acesso direto (FAS) usam as permissões do principal chamando um AWS service (Serviço da AWS), combinadas com a solicitação AWS service (Serviço da AWS) de fazer solicitações aos serviços posteriores. Para obter detalhes da política ao fazer solicitações de FAS, consulte [Sessões de acesso direto](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Perfis de serviço para o Amazon SQS
<a name="security_iam_service-with-iam-roles-service"></a>

**Compatível com perfis de serviço:** sim

 O perfil de serviço é um [perfil do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que um serviço assume para executar ações em seu nome. Um administrador do IAM pode criar, modificar e excluir um perfil de serviço do IAM. Para saber mais, consulte [Criar um perfil para delegar permissões a um AWS service (Serviço da AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) no *Guia do Usuário do IAM*. 

**Atenção**  
A alteração das permissões de um perfil de serviço pode interromper a funcionalidade do Amazon SQS. Edite perfis de serviço somente quando o Amazon SQS fornecer orientação para isso.

## Perfis vinculados ao serviço para o Amazon SQS
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Compatível com perfis vinculados ao serviço:** Não 

 Uma função vinculada ao serviço é um tipo de função de serviço vinculada a um. AWS service (Serviço da AWS) O serviço pode assumir o perfil de executar uma ação em seu nome. As funções vinculadas ao serviço aparecem em você Conta da AWS e são de propriedade do serviço. Um administrador do IAM pode visualizar, mas não editar as permissões para perfis vinculados ao serviço. 

Para obter detalhes sobre como criar ou gerenciar perfis vinculados a serviços, consulte [Serviços da AWS que funcionam com o IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). Encontre um serviço na tabela que inclua um `Yes` na coluna **Perfil vinculado ao serviço**. Escolha o link **Sim** para visualizar a documentação do perfil vinculado a serviço desse serviço.







# Atualizações do Amazon SQS para AWS políticas gerenciadas
<a name="sqs-access-policy-aws-managed-policies"></a>

Para adicionar permissões a usuários, grupos e perfis, é mais fácil usar políticas gerenciadas pela AWS do que gravar políticas por conta própria. É necessário tempo e experiência para [criar políticas gerenciadas pelo cliente do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) que fornecem à sua equipe apenas as permissões de que precisam. Para começar rapidamente, é possível usar nossas políticas gerenciadas pela AWS . Essas políticas abrangem casos de uso comuns e estão disponíveis na sua conta da AWS . Para obter mais informações sobre políticas AWS gerenciadas, consulte [políticas AWS gerenciadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) no *Guia do usuário do IAM*.

AWS os serviços mantêm e atualizam as políticas AWS gerenciadas. Você não pode alterar as permissões nas políticas AWS gerenciadas. Ocasionalmente, os serviços adicionam permissões adicionais a uma política AWS gerenciada para oferecer suporte a novos recursos. Esse tipo de atualização afeta todas as identidades (usuários, grupos e funções) em que a política está anexada. É mais provável que os serviços atualizem uma política AWS gerenciada quando um novo recurso é lançado ou quando novas operações são disponibilizadas. Os serviços não removem as permissões de uma política AWS gerenciada, portanto, as atualizações de políticas não violarão suas permissões existentes.

Além disso, AWS oferece suporte a políticas gerenciadas para funções de trabalho que abrangem vários serviços. Por exemplo, a política **ReadOnlyAccess** AWS gerenciada fornece acesso somente de leitura a todos os AWS serviços e recursos. Quando um serviço lança um novo recurso, AWS adiciona permissões somente de leitura para novas operações e recursos. Para obter uma lista e descrições das políticas de perfis de trabalho, consulte [Políticas gerenciadas pela AWS para perfis de trabalho](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) no *Guia do usuário do IAM*.

## AWS política gerenciada: Amazon SQSFull Access
<a name="security-iam-awsmanpol-AmazonSQSFullAccess"></a>

É possível anexar a política `AmazonSQSFullAccess` às suas identidades do Amazon SQS. Essa política concede permissões de acesso total ao Amazon SQS.

Para ver as permissões dessa política, consulte [Amazon SQSFull Access](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSQSFullAccess.html) na *Referência de políticas AWS gerenciadas*.

## AWS política gerenciada: Amazon SQSRead OnlyAccess
<a name="security-iam-awsmanpol-AmazonSQSReadOnlyAccess"></a>

É possível anexar a política `AmazonSQSReadOnlyAccess` às suas identidades do Amazon SQS. Essa política concede permissões de acesso somente leitura ao Amazon SQS.

Para ver as permissões dessa política, consulte [Amazon SQSRead OnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSQSReadOnlyAccess.html) na *Referência de políticas AWS gerenciadas*.

## AWS política gerenciada: SQSUnlock QueuePolicy
<a name="security-iam-awsmanpol-SQSUnlockQueuePolicy"></a>

Se você configurou incorretamente sua política de fila para uma conta membro para negar a todos os usuários o acesso à sua fila do Amazon SQS, você pode usar a política gerenciada para `SQSUnlockQueuePolicy` AWS desbloquear a fila.

*Para obter mais informações sobre como remover uma política de fila mal configurada que impede que todos os principais acessem uma fila do Amazon SQS, consulte [Executar uma tarefa privilegiada em uma conta membro no](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user-privileged-task.html) Guia do usuário do IAM. AWS Organizations *

## Atualizações do Amazon SQS para AWS políticas gerenciadas
<a name="security-iam-awsmanpol-updates"></a>

Veja detalhes sobre as atualizações das políticas AWS gerenciadas do Amazon SQS desde que esse serviço começou a rastrear essas alterações. Para receber alertas automáticos sobre mudanças nesta página, assine o feed RSS na página [Histórico de documentos](sqs-release-notes.md) do Amazon SQS.


| Alteração | Descrição | Data | 
| --- | --- | --- | 
|  [SQSUnlockQueuePolicy](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-SQSUnlockQueuePolicy)  |  O Amazon SQS adicionou uma nova política AWS gerenciada chamada `SQSUnlockQueuePolicy` para desbloquear uma fila e remover uma política de fila mal configurada que impede que todos os principais acessem uma fila do Amazon SQS.  | 15 de novembro de 2024 | 
|  [AmazonSQSReadOnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonSQSReadOnlyAccess)  |  O Amazon SQS adicionou a ação [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html), que recupera todas as tags associadas a uma fila especificada do Amazon SQS. Ele permite visualizar os pares de chave-valor que foram atribuídos à fila para fins organizacionais ou de metadados. Essa ação está associada à operação de API `ListQueueTags`.  | 20 de junho de 2024 | 
|  [AmazonSQSReadOnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonSQSReadOnlyAccess)  |  O Amazon SQS adicionou uma nova ação que permite listar as tarefas mais recentes de movimentação de mensagens (até dez) em uma fila de origem específica. Essa ação está associada à operação de API [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html).  | 9 de junho de 2023 | 

# Resolução de problemas de identidade e acesso do Amazon Simple Queue Service
<a name="security_iam_troubleshoot"></a>

Use as informações a seguir para ajudar a diagnosticar e corrigir problemas comuns que você pode encontrar ao trabalhar com o Amazon SQS e o IAM.

## Não tenho autorização para executar uma ação no Amazon SQS
<a name="security_iam_troubleshoot-no-permissions"></a>

Se você receber uma mensagem de erro informando que não tem autorização para executar uma ação, suas políticas deverão ser atualizadas para permitir que você realize a ação.

O erro do exemplo a seguir ocorre quando o usuário `mateojackson` tenta usar o console para visualizar detalhes sobre um recurso do `my-example-widget` fictício, mas não tem as permissões fictícias do `sqs:GetWidget`.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: sqs:GetWidget on resource: my-example-widget
```

Nesse caso, a política de Mateo deve ser atualizada para permitir que ele tenha acesso ao recurso `my-example-widget` usando a ação `sqs:GetWidget`.

Se precisar de ajuda, entre em contato com seu AWS administrador. Seu administrador é a pessoa que forneceu suas credenciais de login.

## Não estou autorizado a realizar iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Caso receba uma mensagem de erro informando que você não tem autorização para executar a ação `iam:PassRole`, as políticas deverão ser atualizadas para permitir a transmissão de um perfil ao Amazon SQS.

Alguns Serviços da AWS permitem que você passe uma função existente para esse serviço em vez de criar uma nova função de serviço ou uma função vinculada ao serviço. Para fazer isso, é preciso ter permissões para passar o perfil para o serviço.

O exemplo de erro a seguir ocorre quando uma usuária do IAM chamada `marymajor` tenta usar o console para executar uma ação no Amazon SQS. No entanto, a ação exige que o serviço tenha permissões concedidas por um perfil de serviço. Mary não tem permissões para passar o perfil para o serviço.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Nesse caso, as políticas de Mary devem ser atualizadas para permitir que ela realize a ação `iam:PassRole`.

Se precisar de ajuda, entre em contato com seu AWS administrador. Seu administrador é a pessoa que forneceu suas credenciais de login.

## Quero permitir que pessoas de fora da minha Conta da AWS acessem meus recursos do Amazon SQS
<a name="security_iam_troubleshoot-cross-account-access"></a>

É possível criar um perfil que os usuários de outras contas ou pessoas fora da organização podem usar para acessar seus recursos. É possível especificar quem é confiável para assumir o perfil. Para serviços que oferecem suporte a políticas baseadas em recursos ou listas de controle de acesso (ACLs), você pode usar essas políticas para conceder às pessoas acesso aos seus recursos.

Para saber mais, consulte:
+ Para saber se o Amazon SQS é compatível com esses recursos, consulte [Como o Amazon Simple Queue Service funciona com o IAM](security_iam_service-with-iam.md).
+ Para saber como fornecer acesso aos seus recursos em todos os Contas da AWS que você possui, consulte Como [fornecer acesso a um usuário do IAM em outro Conta da AWS que você possui](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) no *Guia do usuário do IAM*.
+ Para saber como fornecer acesso aos seus recursos a terceiros Contas da AWS, consulte Como [fornecer acesso Contas da AWS a terceiros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) no *Guia do usuário do IAM*.
+ Para saber como conceder acesso por meio da federação de identidades, consulte [Conceder acesso a usuários autenticados externamente (federação de identidades)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) no *Guia do usuário do IAM*.
+ Para saber a diferença entre perfis e políticas baseadas em recurso para acesso entre contas, consulte [Acesso a recursos entre contas no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) no *Guia do usuário do IAM*.

## Quero desbloquear minha fila
<a name="sqs-troubleshooting-org-policies"></a>

Se você Conta da AWS pertence a uma organização, AWS Organizations as políticas podem impedir que você acesse os recursos do Amazon SQS. Por padrão, AWS Organizations as políticas não bloqueiam nenhuma solicitação para o Amazon SQS. No entanto, certifique-se de que suas AWS Organizations políticas não tenham sido configuradas para bloquear o acesso às filas do Amazon SQS. Para obter instruções sobre como verificar suas AWS Organizations políticas, consulte [Listar todas as políticas](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_info-operations.html#list-all-pols-in-org.html) no *Guia AWS Organizations do usuário*.

Além disso, se você configurou incorretamente a política da fila para uma conta de membro a fim de negar a todos os usuários o acesso à fila do Amazon SQS, é possível desbloquear a fila iniciando uma sessão privilegiada para a conta de membro no IAM. Depois de iniciar uma sessão privilegiada, é possível excluir a política de fila configurada incorretamente para recuperar o acesso à fila. Para obter mais informações, consulte [Executar uma tarefa privilegiada em uma conta de AWS Organizations membro](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user-privileged-task.html) no *Guia do usuário do IAM*.

# Usar políticas com o Amazon SQS
<a name="sqs-using-identity-based-policies"></a>

Este tópico fornece exemplos de políticas baseadas em identidade em que um administrador de conta pode anexar políticas de permissões a identidades do IAM (usuários, grupos e funções).

**Importante**  
Recomendamos analisar primeiro os tópicos introdutórios que explicam os conceitos básicos e as opções disponíveis para gerenciar o acesso aos recursos do Amazon Simple Queue Service. Para obter mais informações, consulte [Visão geral do gerenciamento de acesso no Amazon SQS](sqs-overview-of-managing-access.md).  
Com exceção de `ListQueues`, todas as ações do Amazon SQS oferecem suporte a permissões no nível do recurso. Para obter mais informações, consulte [Permissões da API do Amazon SQS: referência de ações e recurso](sqs-api-permissions-reference.md).

## Usar políticas do Amazon SQS e do IAM
<a name="sqs-using-sqs-and-iam-policies"></a>

Há duas maneiras de conceder aos usuários permissões aos recursos do Amazon SQS: usando o sistema de políticas do Amazon SQS (políticas baseadas em recursos) e usando o sistema de política do IAM (políticas baseadas em identidade). É possível usar um ou os dois métodos, com exceção da ação `ListQueues`, que é uma permissão regional que só pode ser definida em uma política do IAM.

Por exemplo, o diagrama a seguir mostra uma política do IAM e uma política equivalente do Amazon SQS. A política do IAM concede os direitos ao Amazon SQS `ReceiveMessage` e às `SendMessage` ações da fila chamada `queue_xyz` em sua AWS conta, e a política é anexada aos usuários chamados Bob e Susan (Bob e Susan têm as permissões declaradas na política). Essa política do Amazon SQS também oferece a Bob e Susan direitos às ações `ReceiveMessage` e `SendMessage` para a mesma fila.

**nota**  
O exemplo a seguir mostra políticas simples sem condições. Você pode especificar uma determinada condição na política e obter o mesmo resultado.

![\[Diagrama comparando uma política do IAM e uma política equivalente a ela do Amazon SQS. A política do IAM concede os direitos ao Amazon SQS ReceiveMessage e às SendMessage ações da fila chamada queue_xyz em sua AWS conta, e a política é anexada aos usuários chamados Bob e Susan (Bob e Susan têm as permissões declaradas na política). Essa política do Amazon SQS também oferece a Bob e Susan direitos às ações ReceiveMessage e SendMessage para a mesma fila.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-iam-policies-equivalent.png)


Há uma grande diferença entre as políticas do IAM e do Amazon SQS: o sistema de políticas do Amazon SQS permite que você conceda permissão para AWS outras contas, enquanto o IAM não.

Você é quem decide como usar os dois sistemas para gerenciar suas permissões. Os exemplos a seguir mostram como os dois sistemas de política funcionam em conjunto.
+ No primeiro exemplo, Bob tem uma política do IAM e uma do Amazon SQS que se aplicam à sua conta. A política do IAM concede à sua conta permissão para a ação `ReceiveMessage` em `queue_xyz`, enquanto a política do Amazon SQS fornece à sua conta permissão para a ação `SendMessage` na mesma fila. O seguinte diagrama ilustra o conceito.  
![\[Diagrama comparando os componentes de uma política do IAM com uma política do Amazon SQS. No primeiro exemplo, Bob tem uma política do IAM e uma do Amazon SQS que se aplicam à sua conta. A política do IAM concede à sua conta permissão para a ação ReceiveMessage em queue_xyz, enquanto a política do Amazon SQS fornece à sua conta permissão para a ação SendMessage na mesma fila.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-iam-policies-union.png)

  Se Bob enviar uma solicitação `ReceiveMessage` a `queue_xyz`, a política do IAM permitirá a ação. Se Bob enviar uma solicitação `SendMessage` a `queue_xyz`, a política do Amazon SQS permitirá a ação.
+ No segundo exemplo, Bob abusa de seu acesso a `queue_xyz`, para que seja necessário remover todo o seu acesso à fila. O mais fácil a fazer é adicionar uma política que negue a ele acesso a todas as ações para a fila. Essa política substitui as outras duas, pois uma `deny` explícita sempre substitui uma `allow`. Para obter mais informações sobre a lógica de avaliação da política, consulte [Usar políticas personalizadas com linguagem de políticas de acesso do Amazon SQS](sqs-creating-custom-policies.md). O seguinte diagrama ilustra o conceito.  
![\[Diagrama mostrando uma substituição da política do IAM por uma política do Amazon SQS. Bob abusa de seu acesso a queue_xyz, para que seja necessário remover todo o seu acesso à fila. O mais fácil a fazer é adicionar uma política que negue a ele acesso a todas as ações para a fila. Essa política substitui as outras duas, pois uma deny explícita sempre substitui uma allow.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-iam-policies-deny-override.png)

  Você também pode adicionar outra instrução à política do Amazon SQS que nega a Bob qualquer tipo de acesso à fila. Ela tem o mesmo efeito que a adição de uma política do IAM que nega o acesso de Bob à fila. Para obter exemplos de políticas que abranjam ações e recursos do Amazon SQS, consulte [Exemplos básicos de políticas do Amazon SQS](sqs-basic-examples-of-sqs-policies.md). Para obter mais informações sobre como elaborar políticas do Amazon SQS, consulte [Usar políticas personalizadas com linguagem de políticas de acesso do Amazon SQS](sqs-creating-custom-policies.md).

## Permissões necessárias para usar o console do Amazon SQS
<a name="sqs-console-permissions"></a>

Um usuário que queira trabalhar com o console do Amazon SQS deve ter o conjunto mínimo de permissões para trabalhar com as filas do Amazon SQS na Conta da AWS do usuário. Por exemplo, o usuário deve ter a permissão para chamar a ação `ListQueues` a fim de poder listar as filas, ou a permissão para chamar a ação `CreateQueue` para poder criar filas. Além de permissões do Amazon SQS, para inscrever uma fila do Amazon SQS em um tópico do Amazon SNS, o console também exige permissões para ações do Amazon SNS.

Se você criar uma política do IAM que seja mais restritiva que as permissões mínimas necessárias, o console poderá não funcionar como pretendido para os usuários com essa política do IAM.

Você não precisa permitir permissões mínimas do console para usuários que fazem chamadas somente para as ações AWS CLI ou para as ações do Amazon SQS. 

# Exemplos de políticas baseadas em identidade para o Amazon SQS
<a name="sqs-basic-examples-of-iam-policies"></a>

Por padrão, os usuários e perfis não têm permissão para criar ou modificar recursos do Amazon SQS. Para conceder permissão aos usuários para executar ações nos recursos que eles precisam, um administrador do IAM pode criar políticas do IAM.

Para aprender a criar uma política baseada em identidade do IAM ao usar esses documentos de política em JSON de exemplo, consulte [Criar políticas do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) no *Guia do usuário do IAM*.

Para obter detalhes sobre ações e tipos de recursos definidos pelo Amazon SQS, incluindo o formato de cada um dos tipos de recursos, consulte [Ações, recursos e chaves de condição ARNs para o Amazon Simple Queue Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsqs.html) na Referência de autorização de *serviço*.

**nota**  
Ao configurar ganchos do ciclo de vida para o Amazon EC2 Auto Scaling, não é necessário escrever uma política para enviar mensagens a uma fila do Amazon SQS. Consulte mais informações em [Amazon EC2 Auto Scaling Lifecycle Hooks](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) no *Guia do usuário do Amazon EC2*.

## Práticas recomendadas de política
<a name="security_iam_id-based-policy-examples"></a>

As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do Amazon SQS em sua conta. Essas ações podem incorrer em custos para sua Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
+ **Comece com as políticas AWS gerenciadas e avance para as permissões de privilégios mínimos — Para começar a conceder permissões** aos 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 saber mais, consulte [Políticas gerenciadas pela AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou [Políticas gerenciadas pela AWS para funções de trabalho](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) no *Guia do usuário do IAM*.
+ **Aplique permissões de privilégio mínimo**: ao definir permissões com as políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Você faz isso definindo as ações que podem ser executadas em recursos específicos sob condições específicas, também conhecidas como *permissões de privilégio mínimo*. Para saber mais sobre como usar o IAM para aplicar permissões, consulte [Políticas e permissões no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) no *Guia do usuário do IAM*.
+ **Use condições nas políticas do IAM para restringir ainda mais o acesso**: é possível adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, é possível escrever uma condição de política para especificar que todas as solicitações devem ser enviadas usando SSL. 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 CloudFormation. Para saber mais, consulte [Elementos da política JSON do IAM: condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) no *Guia do usuário do IAM*.
+ **Use o IAM Access Analyzer para validar suas políticas do IAM a fim de garantir permissões seguras e funcionais**: o IAM Access Analyzer valida as políticas novas e existentes para que elas sigam a linguagem de política do IAM (JSON) e as práticas recomendadas do IAM. O IAM Access Analyzer oferece mais de cem verificações de política e recomendações práticas para ajudar a criar políticas seguras e funcionais. Para saber mais, consulte [Validação de políticas do IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) no *Guia do Usuário do IAM*.
+ **Exigir autenticação multifator (MFA**) — Se você tiver um cenário que exija usuários do IAM ou um usuário root, ative Conta da AWS a MFA para obter segurança adicional. Para exigir MFA quando as operações de API forem chamadas, adicione condições de MFA às suas políticas. Para saber mais, consulte [Configuração de acesso à API protegido por MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) no *Guia do Usuário do IAM*.

Para saber mais sobre as práticas recomendadas do IAM, consulte [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*.

## Usar o console do Amazon SQS
<a name="security_iam_id-based-policy-examples-console"></a>

Para acessar o console do Amazon Simple Queue Service, 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 SQS em seu. Conta da AWS Caso crie uma política baseada em identidade mais restritiva que as permissões mínimas necessárias, o console não funcionará como pretendido para entidades (usuários ou perfis) com essa política.

Você não precisa permitir permissões mínimas do console para usuários que estão fazendo chamadas somente para a API AWS CLI ou para a AWS API. Em vez disso, permita o acesso somente a ações que correspondam à operação de API que estiverem tentando executar.

Para garantir que usuários e funções ainda possam usar o console do Amazon SQS, anexe também a política gerenciada do Amazon `AmazonSQSReadOnlyAccess` AWS SQS às entidades. Para obter informações, consulte [Adicionar permissões a um usuário](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) no *Guia do usuário do IAM*.

## Permitir que os usuários visualizem suas próprias permissões
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Este exemplo mostra como criar uma política que permita que os usuários do IAM visualizem as políticas gerenciadas e em linha anexadas a sua identidade de usuário. Essa política inclui permissões para concluir essa ação no console ou programaticamente usando a API AWS CLI ou AWS .

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

## Permitir que um usuário crie filas
<a name="allow-queue-creation"></a>

No exemplo a seguir, criamos uma política para Bob que permite acessar todas as ações do Amazon SQS, mas apenas com as filas cujos nomes sejam prefixados com a string literal `alice_queue_`.

O Amazon SQS não concede automaticamente ao criador de uma fila permissões para usá-la. Portanto, é preciso conceder explicitamente permissões a Bob para usar todas as ações do Amazon SQS, além da ação `CreateQueue` na política do IAM.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:*:123456789012:alice_queue_*"
   }]
}
```

------

## Permitir que os desenvolvedores gravem mensagens em uma fila compartilhada
<a name="write-messages-to-shared-queue"></a>

No exemplo a seguir, criamos um grupo para desenvolvedores e anexamos uma política que permite que o grupo use a `SendMessage` ação do Amazon SQS, mas somente com a fila que pertence ao especificado Conta da AWS e é nomeada. `MyCompanyQueue`

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:*:123456789012:MyCompanyQueue"
   }]
}
```

------

Você pode usar `*` em vez de `SendMessage` para conceder as seguintes ações a um principal em uma fila compartilhada: `ChangeMessageVisibility`, `DeleteMessage`, `GetQueueAttributes`, `GetQueueUrl`, `ReceiveMessage` e `SendMessage`.

**nota**  
Embora `*` inclua o acesso fornecido por outros tipos de permissão, o Amazon SQS considera as permissões separadamente. Por exemplo, é possível conceder permissões `*` e `SendMessage` a um usuário, embora `*` inclua o acesso fornecido pelo `SendMessage`.  
Esse conceito também se aplica quando você remove uma permissão. Se uma entidade principal tiver apenas uma permissão `*`, a solicitação de remoção de uma permissão `SendMessage` *não* deixará a entidade principal com uma permissão do tipo *tudo, exceto*. Em vez disso, a solicitação não fará nada, pois a entidade principal não tinha uma permissão `SendMessage` explícita. Para deixar a entidade principal apenas com a permissão `ReceiveMessage`, primeiro adicione a permissão `ReceiveMessage` e remova a permissão `*`.

## Permitir que gerentes obtenham o tamanho geral de filas
<a name="get-size-of-queues"></a>

No exemplo a seguir, criamos um grupo para gerentes e anexamos uma política que permite que o grupo use a `GetQueueAttributes` ação do Amazon SQS com todas as filas que pertencem à conta especificada. AWS 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": "sqs:GetQueueAttributes",
      "Resource": "*"   
   }]
}
```

------

## Permitir que um parceiro envie mensagens a uma fila específica
<a name="send-messages-to-specific-queue"></a>

Você pode realizar essa tarefa usando uma política do Amazon SQS ou do IAM. Se seu parceiro tiver uma Conta da AWS, talvez seja mais fácil usar uma política do Amazon SQS. No entanto, qualquer usuário da empresa do parceiro que possua as credenciais AWS de segurança pode enviar mensagens para a fila. Para limitar o acesso a um determinado usuário ou aplicação, você deve tratar o parceiro como um usuário em sua própria empresa e usar uma política do IAM em vez de uma política do Amazon SQS.

Esse exemplo executa as seguintes ações:

1. Crie um grupo chamado WidgetCo para representar a empresa parceira.

1. Criar um usuário para o usuário ou aplicativo específico na empresa do parceiro que precisa de acesso.

1. Adicione o usuário ao grupo .

1. Associe uma política que ofereça ao grupo acesso apenas à ação `SendMessage` somente para a fila denominada `WidgetPartnerQueue`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
         "Effect": "Allow",
         "Action": "sqs:SendMessage",
         "Resource": "arn:aws:sqs:*:123456789012:WidgetPartnerQueue"
   }]
}
```

------

# Exemplos básicos de políticas do Amazon SQS
<a name="sqs-basic-examples-of-sqs-policies"></a>

Esta seção mostra exemplos de políticas para casos de uso comuns do Amazon SQS.

Você pode usar o console para verificar os efeitos de cada política à medida que anexa a política ao usuário. Inicialmente, o usuário não tem permissões e, portanto, não poderá fazer nada no console. À medida que você anexar políticas ao usuário, poderá verificar se o usuário pode executar várias ações no console.

**nota**  
Recomendamos que você use duas janelas do navegador: uma para conceder permissões e outra para fazer login Console de gerenciamento da AWS usando as credenciais do usuário para verificar as permissões à medida que você as concede ao usuário.

## Exemplo 1: Conceder uma permissão a um Conta da AWS
<a name="grant-one-permission-to-one-account"></a>

O exemplo de política a seguir Conta da AWS concede `111122223333` ao número a `SendMessage` permissão para a fila nomeada `444455556666/queue1` na região Leste dos EUA (Ohio).

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_SendMessage",
      "Effect": "Allow",
      "Principal": {
         "AWS": [ 
            "111122223333"
         ]
      },
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue1"
   }]  
}
```

------

## Exemplo 2: Conceder duas permissões a uma Conta da AWS
<a name="grant-two-permissions-to-one-account"></a>

O exemplo de política a seguir Conta da AWS concede o número `111122223333` `SendMessage` e a `ReceiveMessage` permissão para a fila nomeada`444455556666/queue1`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_Send_Receive",
      "Effect": "Allow",
      "Principal": {
         "AWS": [
            "111122223333"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ],
      "Resource": "arn:aws:sqs:*:444455556666:queue1"
   }]
}
```

------

## Exemplo 3: Conceder todas as permissões a dois Contas da AWS
<a name="grant-all-permissions-to-two-accounts"></a>

O exemplo de política a seguir concede dois Contas da AWS números diferentes (`111122223333`e`444455556666`) permissão para usar todas as ações às quais o Amazon SQS permite acesso compartilhado para a fila nomeada `123456789012/queue1` na região Leste dos EUA (Ohio).

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AllActions",
      "Effect": "Allow",
      "Principal": {
         "AWS": [
            "111122223333",
            "444455556666"
         ]
      },
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:us-east-2:123456789012:queue1"
   }]
}
```

------

## Exemplo 4: conceder permissões entre contas a um perfil e um nome de usuário
<a name="grant-cross-account-permissions-to-role-and-user-name"></a>

O exemplo de política a seguir concede `role1` e, `username1` sob Conta da AWS número, permissão `111122223333` entre contas para usar todas as ações às quais o Amazon SQS permite acesso compartilhado à fila `123456789012/queue1` nomeada na região Leste dos EUA (Ohio).

As permissões entre contas não se aplicam às seguintes ações:
+ `[AddPermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html)`
+ `[CancelMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CancelMessageMoveTask.html)`
+ `[CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html)`
+ `[DeleteQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html)`
+ `[ListMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html)`
+ `[ListQueues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueues.html)`
+ `[ListQueueTags](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html)`
+ `[RemovePermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_RemovePermission.html)`
+ `[SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)`
+ `[StartMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_StartMessageMoveTask.html)`
+ `[TagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_TagQueue.html)`
+ `[UntagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_UntagQueue.html)`

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AllActions",
      "Effect": "Allow",
      "Principal": {
         "AWS": [
            "arn:aws:iam::111122223333:role/role1",
            "arn:aws:iam::111122223333:user/username1"
         ]
      },
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:us-east-2:123456789012:queue1"
   }]
}
```

------

## Exemplo 5: conceder uma permissão a todos os usuários
<a name="grant-permissions-to-all-users"></a>

O exemplo de política a seguir concede a todos os usuários (anônimos) a permissão `ReceiveMessage` para a fila denominada `111122223333/queue1`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AnonymousAccess_ReceiveMessage",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "sqs:ReceiveMessage",
      "Resource": "arn:aws:sqs:*:111122223333:queue1"
   }]
}
```

------

## Exemplo 6: conceder uma permissão de tempo limitado a todos os usuários
<a name="grant-time-limited-permission-to-all-users"></a>

O exemplo de política a seguir concede a todos os usuários (anônimos) a permissão `ReceiveMessage` para a fila denominada `111122223333/queue1`, mas apenas das 12h (meio dia) às 15h em 31 de janeiro de 2009.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AnonymousAccess_ReceiveMessage_TimeLimit",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "sqs:ReceiveMessage",
      "Resource": "arn:aws:sqs:*:111122223333:queue1",
      "Condition" : {
         "DateGreaterThan" : {
            "aws:CurrentTime":"2009-01-31T12:00Z"
         },
         "DateLessThan" : {
            "aws:CurrentTime":"2009-01-31T15:00Z"
         }
      }
   }]
}
```

------

## Exemplo 7: conceder todas as permissões a todos os usuários em um intervalo CIDR
<a name="grant-all-permissions-to-all-users-in-cidr-range"></a>

A política de exemplo a seguir concede a todos os usuários (anônimos) permissão para usar todas as ações possíveis do Amazon SQS que podem ser compartilhadas para a fila denominada `111122223333/queue1`, mas somente se a solicitação vier do intervalo CIDR `192.0.2.0/24`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AnonymousAccess_AllActions_AllowlistIP",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:*:111122223333:queue1",
      "Condition" : {
         "IpAddress" : {
            "aws:SourceIp":"192.0.2.0/24"
         }
      }
   }]
}
```

------

## Exemplo 8: lista de permissões e lista de bloqueios para usuários em diferentes intervalos CIDR
<a name="allowlist-blocklist-permissions-for-users-in-different-cidr-ranges"></a>

O exemplo de política a seguir contém duas instruções:
+ A primeira instrução concede a todos os usuários (anônimos) no intervalo `192.0.2.0/24` CIDR (exceto para `192.0.2.188`) permissão para usar a ação `SendMessage` para a fila denominada `111122223333`/queue1.
+ A segunda instrução impede que todos os usuários (anônimos) no intervalo CIDR `12.148.72.0/23` usem a fila.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Queue1_Policy_UUID",
   "Statement": [{
      "Sid":"Queue1_AnonymousAccess_SendMessage_IPLimit",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:*:111122223333:queue1",
      "Condition" : {
         "IpAddress" : {
            "aws:SourceIp":"192.0.2.0/24"
         },
         "NotIpAddress" : {
            "aws:SourceIp":"192.0.2.188/32"
         }
      }
   }, {
      "Sid":"Queue1_AnonymousAccess_AllActions_IPLimit_Deny",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "sqs:*",
      "Resource": "arn:aws:sqs:*:111122223333:queue1",
      "Condition" : {
         "IpAddress" : {
            "aws:SourceIp":"12.148.72.0/23"
         }
      }
   }]
}
```

------

# Usar políticas personalizadas com linguagem de políticas de acesso do Amazon SQS
<a name="sqs-creating-custom-policies"></a>

Para conceder permissões básicas (como [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)ou [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html)) com base somente em uma Conta da AWS ID, você não precisa criar uma política personalizada. Em vez disso, use a ação [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html) do Amazon SQS.

Para permitir ou negar o acesso com base em condições específicas, como o horário da solicitação ou o endereço IP do solicitante, você deve criar uma política personalizada do Amazon SQS e carregá-la usando [SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)a ação.

**Topics**
+ [Arquitetura de controle de acesso](sqs-creating-custom-policies-architecture.md)
+ [Fluxo de trabalho do processo de controle de acesso](sqs-creating-custom-policies-process-workflow.md)
+ [Conceitos-chave da linguagem de políticas de acesso](sqs-creating-custom-policies-key-concepts.md)
+ [Lógica de avaliação da linguagem de políticas de acesso](sqs-creating-custom-policies-evaluation-logic.md)
+ [Relações entre negações explícitas e padrão](sqs-creating-custom-policies-relationships-between-explicit-default-denials.md)
+ [Limitações das políticas personalizadas](sqs-limitations-of-custom-policies.md)
+ [Exemplos de linguagem de políticas de acesso personalizadas](sqs-creating-custom-policies-access-policy-examples.md)

# Arquitetura do controle de acesso do Amazon SQS
<a name="sqs-creating-custom-policies-architecture"></a>

O diagrama a seguir descreve o controle de acesso para seus recursos do Amazon SQS.

![\[Descreve o controle de acesso para seus recursos do Amazon SQS.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/AccessPolicyLanguage_Arch_Overview.png)


![\[In the previous diagram, section number one.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-1-red.png) Você, o proprietário do recurso.

![\[In the previous diagram, section number two.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-2-red.png)Seus recursos contidos no AWS serviço (por exemplo, filas do Amazon SQS).

![\[In the previous diagram, section number three.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-3-red.png) Suas políticas. É uma boa prática ter uma política por recurso. O AWS serviço fornece uma API que você usa para carregar e gerenciar suas políticas.

![\[In the previous diagram, section number four.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-4-red.png) Os solicitantes e suas solicitações de entrada para o serviço da AWS .

![\[In the previous diagram, section number five.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-5-red.png) O código de avaliação da linguagem de políticas de acesso. Esse é o conjunto de códigos dentro do AWS serviço que avalia as solicitações recebidas em relação às políticas aplicáveis e determina se o solicitante tem permissão para acessar o recurso.

# Fluxo de trabalho do processo de controle de acesso do Amazon SQS
<a name="sqs-creating-custom-policies-process-workflow"></a>

O diagrama a seguir descreve o fluxo de trabalho geral do controle de acesso com a linguagem de políticas de acesso do Amazon SQS.

![\[O fluxo de trabalho geral do controle de acesso com a linguagem de políticas de acesso do Amazon SQS.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/AccessPolicyLanguage_Basic_Flow.png)


![\[Figure one in the previous diagram.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-1-red.png) Você cria uma política do Amazon SQS para a fila.

![\[Figure two in the previous diagram.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-2-red.png)Você carrega sua política para AWS. O AWS serviço fornece uma API que você usa para carregar suas políticas. Por exemplo, você pode usar a ação `SetQueueAttributes` do Amazon SQS com a finalidade de fazer upload de uma política para uma determinada fila do Amazon SQS.

![\[Figure three in the previous diagram.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-3-red.png) Alguém envia uma solicitação para usar sua fila do Amazon SQS.

![\[Figure four in the previous diagram.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-4-red.png) O Amazon SQS examina todas as políticas do Amazon SQS disponíveis e determina quais são aplicáveis.

![\[Figure five in the previous diagram.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-5-red.png) O Amazon SQS avalia as políticas e determina se o solicitante tem permissão para usar sua fila.

![\[Figure six in the previous diagram.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-6-red.png) Com base no resultado da avaliação da política, o Amazon SQS retorna um erro `Access denied` para o solicitante ou continua a processar a solicitação.

# Conceitos-chave da linguagem de políticas de acesso do Amazon SQS
<a name="sqs-creating-custom-policies-key-concepts"></a>

Para criar suas próprias políticas, você deve estar familiarizado com [JSON](http://json.org/) e um número de conceitos-chave.

**Permitir**  <a name="allow"></a>
O resultado de uma [Instrução](#statement) que tenha [Efeito](#effect) definido como `allow`.

**Ação**  <a name="action"></a>
A atividade que o [Principal](#principal) tem permissão para executar, normalmente uma solicitação para à AWS.

**Negação padrão**  <a name="default-deny"></a>
O resultado de uma [Instrução](#statement) que não tem as configurações [Permitir](#allow) e [Negação explícita](#explicit-deny).

**Condição**  <a name="condition"></a>
Qualquer restrição ou detalhe sobre uma [Permissão](#permission). Condições comuns são relacionadas a data e hora e a endereços IP.

**Efeito**  <a name="effect"></a>
O resultado que você deseja que a [Instrução](#statement) de uma [Política](#policy) retorno no momento da avaliação. Você especifica o valor `deny` ou `allow` ao gravar a declaração de política. Há três resultados possíveis no momento da avaliação da política: [Negação padrão](#default-deny), [Permitir](#allow) e [Negação explícita](#explicit-deny).

**Negação explícita**  <a name="explicit-deny"></a>
O resultado de uma [Instrução](#statement) que tenha [Efeito](#effect) definido como `deny`.

**Avaliação**  <a name="evaluation"></a>
O processo que o Amazon SQS usa para determinar se uma solicitação recebida deve ser negada ou permitida com base em uma [Política](#policy).

**Emissor**  <a name="issuer"></a>
O usuário que grava uma [Política](#policy) para conceder permissões a um recurso. O emissor, por definição, é sempre o proprietário do recurso. AWS não permite que os usuários do Amazon SQS criem políticas para recursos que não são de sua propriedade.

**Chave**  <a name="key"></a>
A característica específica que é a base para a restrição de acesso.

**Permissão**  <a name="permission"></a>
O conceito de permissão ou não de acesso a um recurso usando uma [Condição](#condition) e uma [Chave](#key).

**Política**  <a name="policy"></a>
O documento que atua como um contêiner para uma ou mais **[instruções](#statement)**.  

![\[A política A que contém a instrução 1 e a instrução 2 é equivalente à política A que contém a instrução 1 e à política B que contém a instrução 2.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/AccessPolicyLanguage_Statement_and_Policy.png)

O Amazon SQS usa a política para determinar se deverá conceder acesso a um usuário para um recurso.

**Principal**  <a name="principal"></a>
O usuário que recebe [Permissão](#permission) na [Política](#policy).

**Recurso**  <a name="resource"></a>
O objeto ao qual a [Principal](#principal) solicita acesso.

**Instrução**  <a name="statement"></a>
A descrição formal de uma única permissão, escrita na linguagem de políticas de acesso como parte de um documento de [Política](#policy) mais amplo.

**Solicitante**  <a name="requester"></a>
O usuário que envia uma solicitação de acesso a um [Recurso](#resource).

# Lógica de avaliação da linguagem de políticas de acesso do Amazon SQS
<a name="sqs-creating-custom-policies-evaluation-logic"></a>

No momento da avaliação, o Amazon SQS determina se uma solicitação de alguém que não seja o proprietário do recurso deve ser permitida ou negada. A lógica de avaliação segue várias regras básicas:
+ Por padrão, todas as solicitações para usar o recurso que venham de outras pessoas, e não de você, serão negadas.
+ Um *[Permitir](sqs-creating-custom-policies-key-concepts.md#allow)* substitui qualquer *[Negação padrão](sqs-creating-custom-policies-key-concepts.md#default-deny)*.
+ Uma *[Negação explícita](sqs-creating-custom-policies-key-concepts.md#explicit-deny)* substitui qualquer **permissão**.
+ A ordem em que as políticas são avaliadas não é importante.

O diagrama a seguir descreve em detalhes como o Amazon SQS avalia as decisões sobre permissões de acesso.

![\[Fluxograma que descreve como o Amazon SQS avalia as decisões sobre permissões de acesso.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/AccessPolicyLanguage_Evaluation_Flow.png)


![\[In the previous diagram, number one.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-1-red.png) A decisão começa com uma **negação padrão**.

![\[In the previous diagram, number two.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-2-red.png) O código de aplicação avalia todas as políticas que são aplicáveis à solicitação (com base no recurso, na entidade principal, na ação e nas condições). A ordem em que o código de aplicação avalia as políticas não é importante.

![\[In the previous diagram, number three.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-3-red.png) O código de imposição procura uma instrução de **negação explícita** que possa ser aplicada à solicitação. Se encontrar um código, o código de aplicação retornará uma decisão de **negação** e o processo será concluído.

![\[In the previous diagram, number four.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-4-red.png) Se nenhuma instrução de **negação explícita** for encontrada, o código de imposição procurará qualquer instrução de **permissão** que possa ser aplicada à solicitação. Se encontrar uma instrução "permitir", o código de aplicação retornará uma decisão de **permitir**, e o processo será concluído (o serviço continua a processar a solicitação).

![\[In the previous diagram, number five.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-5-red.png) Se nenhuma instrução de **permissão** for encontrada, a decisão final será **negar** (como não há nenhuma **negação explícita** ou **permissão**, isso é considerado uma **negação padrão**).

# Relações entre negações explícitas e padrão na linguagem de políticas de acesso do Amazon SQS
<a name="sqs-creating-custom-policies-relationships-between-explicit-default-denials"></a>

Se uma política do Amazon SQS não se aplicar diretamente a uma solicitação, esta resultará em uma *[Negação padrão](sqs-creating-custom-policies-key-concepts.md#default-deny)*. Por exemplo, se um usuário solicitar permissão para usar o Amazon SQS, mas a única política que se aplica a ele puder usar o DynamoDB, as solicitações resultarão em uma **negação padrão**.

Se uma condição em uma instrução não for atendida, a solicitação resultará em uma **negação padrão**. Se todas as condições em uma instrução forem atendidas, a solicitação resultará em *[Permitir](sqs-creating-custom-policies-key-concepts.md#allow)* ou *[Negação explícita](sqs-creating-custom-policies-key-concepts.md#explicit-deny)*, com base no valor do elemento *[Efeito](sqs-creating-custom-policies-key-concepts.md#effect)* da política. As políticas não especificam o que fazer se uma condição não for atendida, portanto, o resultado padrão nesse caso é uma **negação padrão**. Por exemplo, digamos que você deseje evitar solicitações da Antártica. Você elabora uma Política A1 que permite uma solicitação apenas se não vier da Antártica. O seguinte diagrama ilustra a política do Amazon SQS.

![\[Política A1, que contém Efeito igual a Permitir e Condição igual a se a solicitação não for da Antártica.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-security-custom-policy-allow-request-if-not-from-antarctica.png)


Se um usuário enviar uma solicitação dos EUA, a condição será atendida (a solicitação não será da Antártica) e a solicitação resultará em uma **permissão**. No entanto, se um usuário enviar uma solicitação da Antártica, a condição não será atendida, e a solicitação será padronizada para uma **solicitação padrão**. Você pode alterar o resultado para uma **negação explícita** criando a Política A2 que nega explicitamente uma solicitação quando ela for recebida da Antártica. O seguinte diagrama ilustra a política.

![\[Política A2, que contém Efeito igual a Negar e Condição igual a se a solicitação for da Antártica.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-security-custom-policy-explicitly-deny-request-if-from-antarctica.png)


Se um usuário enviar uma solicitação da Antártica, a condição será atendida, e a solicitação resultará em uma **negação explícita**.

A distinção entre uma **negação padrão** e uma **negação explícita** é importante porque uma **permissão** pode substituir a anterior, mas não a última. Por exemplo, a Política B permite solicitações que cheguem em 1º de junho de 2010. O diagrama a seguir compara a combinação dessa política com Política A1 e Política A2.

![\[Uma side-by-side comparação entre o cenário 1 e o cenário 2.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-security-custom-policy-compare-allow-request-deny-request-policies-override.png)


No Cenário 1, a Política A1 resulta em uma **negação padrão** e a Política B resulta em uma **permissão** porque a política permite solicitações recebidas em 1º de junho de 2010. A **permissão** da Política B substitui a **negação padrão** da Política A1, e a solicitação é permitida.

No Cenário 2, a Política B2 resulta em uma **negação explícita**, e a Política B resulta em uma **permissão**. A **negação explícita** da Política A2 substitui a **permissão** da Política B, e a solicitação é negada.

# Limitações das políticas personalizadas do Amazon SQS
<a name="sqs-limitations-of-custom-policies"></a>

## Acesso entre contas
<a name="sqs-cross-account-access"></a>

As permissões entre contas não se aplicam às seguintes ações:
+ `[AddPermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html)`
+ `[CancelMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CancelMessageMoveTask.html)`
+ `[CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html)`
+ `[DeleteQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html)`
+ `[ListMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListMessageMoveTasks.html)`
+ `[ListQueues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueues.html)`
+ `[ListQueueTags](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueueTags.html)`
+ `[RemovePermission](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_RemovePermission.html)`
+ `[SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)`
+ `[StartMessageMoveTask](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_StartMessageMoveTask.html)`
+ `[TagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_TagQueue.html)`
+ `[UntagQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_UntagQueue.html)`

## Chaves de condição
<a name="sqs-condition-keys"></a>

Atualmente, o Amazon SQS suporta apenas um subconjunto limitado de [chaves de condições disponíveis no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys). Para obter mais informações, consulte [Permissões da API do Amazon SQS: referência de ações e recurso](sqs-api-permissions-reference.md).

# Exemplos de linguagem de políticas de acesso do Amazon SQS personalizadas
<a name="sqs-creating-custom-policies-access-policy-examples"></a>

Os seguintes são exemplos de políticas de acesso típicas do Amazon SQS.

## Exemplo 1: conceder permissão a uma conta
<a name="one-account"></a>

O exemplo de política do Amazon SQS a seguir concede à Conta da AWS 111122223333 permissão para enviar e receber da `queue2`, de propriedade da Conta da AWS 444455556666.

------
#### [ JSON ]

****  

```
{   
   "Version":"2012-10-17",		 	 	 
   "Id": "UseCase1",
   "Statement" : [{
      "Sid": "1", 
      "Effect": "Allow",           
      "Principal": {
         "AWS": [
            "111122223333"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ], 
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2"  
   }]
}
```

------

## Exemplo 2: conceder permissão a uma ou mais contas
<a name="two-accounts"></a>

O exemplo a seguir da política do Amazon SQS dá a um ou mais Contas da AWS acesso às filas pertencentes à sua conta por um período de tempo específico. É necessário criar essa política e fazer upload no Amazon SQS usando a ação [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html), porque a ação [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html) não permite especificar uma restrição de tempo ao conceder acesso a uma fila.

------
#### [ JSON ]

****  

```
{   
   "Version":"2012-10-17",		 	 	 
   "Id": "UseCase2",
   "Statement" : [{
      "Sid": "1", 
      "Effect": "Allow",           
      "Principal": {
         "AWS": [
            "111122223333",
            "444455556666"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ], 
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2",
      "Condition": {
         "DateLessThan": {
            "AWS:CurrentTime": "2009-06-30T12:00Z"
         }
      }   
   }]
}
```

------

## Exemplo 3: Conceder permissão para solicitações de instâncias do Amazon EC2
<a name="requests-from-ec2"></a>

A política de exemplo do Amazon SQS a seguir fornece acesso a solicitações provenientes de instâncias do Amazon EC2. Esse exemplo se baseia no exemplo "[Exemplo 2: conceder permissão a uma ou mais contas](#two-accounts)": ele restringe o acesso a antes de 30 de junho de 2009 ao meio-dia (UTC), que restringe o acesso ao intervalo de IP `203.0.113.0/24`. É necessário criar essa política e fazer upload no Amazon SQS usando a ação [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html), porque a ação [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html) não permite especificar uma restrição de endereço IP ao conceder acesso a uma fila.

------
#### [ JSON ]

****  

```
{   
   "Version":"2012-10-17",		 	 	 
   "Id": "UseCase3",
   "Statement" : [{
      "Sid": "1", 
      "Effect": "Allow",           
      "Principal": {
         "AWS": [
            "111122223333"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ], 
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2",
      "Condition": {
         "DateLessThan": {
            "AWS:CurrentTime": "2009-06-30T12:00Z"
         },
         "IpAddress": {
            "AWS:SourceIp": "203.0.113.0/24"
         }
      }   
   }]
}
```

------

## Exemplo 4: negar acesso a uma conta específica
<a name="deny-account"></a>

O exemplo a seguir da política do Amazon SQS nega um Conta da AWS acesso específico à sua fila. Este exemplo se baseia no exemplo [Exemplo 1: conceder permissão a uma conta](#one-account) "": ele nega acesso ao especificado. Conta da AWSÉ necessário criar essa política e fazer upload no Amazon SQS usando a ação [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html), porque a ação [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_AddPermission.html) não permite negar acesso a uma fila (ela permite apenas conceder acesso a uma fila). 

------
#### [ JSON ]

****  

```
{ 
   "Version":"2012-10-17",		 	 	 
   "Id": "UseCase4",
   "Statement" : [{
      "Sid": "1", 
      "Effect": "Deny",           
      "Principal": {
         "AWS": [
            "111122223333"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ], 
      "Resource": "arn:aws:sqs:us-east-2:444455556666:queue2"   
   }]
}
```

------

## Exemplo 5: negar o acesso se não vier de um VPC endpoint
<a name="deny-not-from-vpc"></a>

O exemplo de política do Amazon SQS a seguir restringe o acesso à `queue1`: 111122223333 pode realizar as ações [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html) e [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) somente do ID de endpoint da VPC `vpce-1a2b3c4d` (especificado usando a condição `aws:sourceVpce`). Para obter mais informações, consulte [Endpoints da Amazon Virtual Private Cloud para o Amazon SQS](sqs-internetwork-traffic-privacy.md#sqs-vpc-endpoints).

**nota**  
A condição `aws:sourceVpce` não requer um ARN para o recurso do VPC endpoint, somente o ID do VPC endpoint.
Você pode modificar o exemplo a seguir para restringir todas as ações para um endpoint da VPC negando todas as ações do Amazon SQS (`sqs:*`) na segunda instrução. No entanto, essa instrução de política determinará que todas as ações (incluindo ações administrativas necessárias para modificar as permissões da fila) deverão ser feitas por meio do VPC endpoint específico definido na política, potencialmente impedindo que o usuário modifique as permissões da fila no futuro.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "UseCase5",
   "Statement": [{
      "Sid": "1",
      "Effect": "Allow",
      "Principal": {
         "AWS": [
            "111122223333"
         ]
      },
      "Action": [
         "sqs:SendMessage",
         "sqs:ReceiveMessage"
      ],
         "Resource": "arn:aws:sqs:us-east-2:111122223333:queue1"
      },
      {
         "Sid": "2",
         "Effect": "Deny",
         "Principal": "*",
         "Action": [
            "sqs:SendMessage",
            "sqs:ReceiveMessage"
         ],
         "Resource": "arn:aws:sqs:us-east-2:111122223333:queue1",
         "Condition": {
            "StringNotEquals": {
               "aws:sourceVpce": "vpce-1a2b3c4d"
            }
         }
      }
   ]
}
```

------

# Usar credenciais de segurança temporárias com o Amazon SQS
<a name="sqs-using-temporary-security-credentials"></a>

Além de criar usuários com suas próprias credenciais de segurança, o IAM também permite que você conceda credenciais de segurança temporárias a qualquer usuário, permitindo que ele acesse seus AWS serviços e recursos. Você pode gerenciar os usuários que têm Contas da AWS. Você também pode gerenciar usuários do seu sistema que não têm Contas da AWS (usuários federados). Além disso, os aplicativos que você cria para acessar seus AWS recursos também podem ser considerados “usuários”.

Use essas credenciais de segurança temporárias para fazer solicitações ao Amazon SQS. As bibliotecas de API calculam o valor de assinatura necessário usando essas credenciais para autenticar sua solicitação. Se você enviar solicitações usando credenciais vencidas, o Amazon SQS negará a solicitação.

**nota**  
Você não pode definir uma política com base em credenciais temporárias.

## Pré-requisitos
<a name="temporary-security-credentials-prerequisites"></a>

1. Use o IAM para criar credenciais de segurança temporárias:
   + Token de segurança
   + Access Key ID
   + Secret Access Key

1. Prepare sua string para assinar com o ID da chave de acesso temporária e o token de segurança.

1. Use a chave de acesso secreta temporária em vez de sua própria chave de acesso secreta para assinar a solicitação de API de consulta.

**nota**  
Quando você enviar a solicitação de API de consulta assinada, use o ID da chave de acesso temporária em vez de seu próprio ID da chave de acesso e para incluir o token de segurança. Para obter mais informações sobre o suporte do IAM para credenciais de segurança temporárias, consulte Como [conceder acesso temporário aos seus AWS recursos no Guia](https://docs.aws.amazon.com/IAM/latest/UserGuide/TokenBasedAuth.html) do *usuário do IAM*. 

## Para chamar uma ação de API de consulta do Amazon SQS usando credenciais de segurança temporárias
<a name="temporary-security-credentials-query-api"></a>

1. Solicite um token de segurança temporário usando AWS Identity and Access Management o. Para obter mais informações, consulte [Criar credencias de segurança temporárias para habilitar o acesso para usuários do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/CreatingSessionTokens.html) no *Guia do usuário do IAM*.

   O IAM retorna um token de segurança, um ID da chave de acesso e uma chave de acesso secreta.

1. Prepare sua consulta usando o ID da chave de acesso temporária em vez de seu próprio ID da chave de acesso e para incluir o token de segurança. Assine sua solicitação usando a chave de acesso secreta temporária em vez de sua própria.

1. Envie sua string de consulta assinada com o ID da chave de acesso temporária e o token de segurança.

   O exemplo a seguir demonstra como usar credenciais de segurança temporárias para autenticar uma solicitação do Amazon SQS. A estrutura de *`AUTHPARAMS`* depende de como você assina sua solicitação de API. Para obter mais informações, consulte [Assinar solicitações de AWS API](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) na *Referência geral da Amazon Web Services*.

   ```
   https://sqs.us-east-2.amazonaws.com/
   ?Action=CreateQueue
   &DefaultVisibilityTimeout=40
   &QueueName=MyQueue
   &Attribute.1.Name=VisibilityTimeout
   &Attribute.1.Value=40
   &Expires=2020-12-18T22%3A52%3A43PST
   &SecurityToken=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   &AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE
   &Version=2012-11-05
   &AUTHPARAMS
   ```

   O exemplo a seguir usa credenciais de segurança temporárias para enviar duas mensagens usando a ação `SendMessageBatch`.

   ```
   https://sqs.us-east-2.amazonaws.com/
   ?Action=SendMessageBatch
   &SendMessageBatchRequestEntry.1.Id=test_msg_001
   &SendMessageBatchRequestEntry.1.MessageBody=test%20message%20body%201
   &SendMessageBatchRequestEntry.2.Id=test_msg_002
   &SendMessageBatchRequestEntry.2.MessageBody=test%20message%20body%202
   &SendMessageBatchRequestEntry.2.DelaySeconds=60
   &Expires=2020-12-18T22%3A52%3A43PST
   &SecurityToken=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
   &AWSAccessKeyId=AKIAI44QH8DHBEXAMPLE
   &Version=2012-11-05
   &AUTHPARAMS
   ```

# Gerenciamento de acesso para filas criptografadas do Amazon SQS com políticas de privilégio mínimo
<a name="sqs-least-privilege-policy"></a>

É possível usar o Amazon SQS para trocar dados sigilosos entre aplicações usando a criptografia do lado do servidor (SSE) integrada ao [AWS Key Management Service (KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html). Com a integração do Amazon SQS e AWS KMS, você pode gerenciar centralmente as chaves que protegem o Amazon SQS, bem como as chaves que protegem seus outros recursos. AWS 

Vários AWS serviços podem atuar como fontes de eventos que enviam eventos para o Amazon SQS. [Para permitir que uma fonte de eventos acesse a fila criptografada do Amazon SQS, você precisa configurar a fila com uma chave gerenciada pelo cliente.](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) AWS KMS Em seguida, use a política de chaves para permitir que o serviço use os métodos de AWS KMS API necessários. O serviço também exige permissões para autenticar o acesso e permitir que a fila envie eventos. É possível fazer isso usando uma política do Amazon SQS, que é uma política baseada em recursos que você pode usar para controlar o acesso à fila do Amazon SQS e os respectivos dados.

As seções a seguir fornecem informações sobre como controlar o acesso à sua fila criptografada do Amazon SQS por meio da política do Amazon SQS e da política de chaves. AWS KMS As políticas deste guia ajudarão você a alcançar o [privilégio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).

Este guia também descreve como as políticas baseadas em recursos resolvem o [problema de confused-deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) usando as chaves de contexto de condição globais do IAM [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn), [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) e [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid).

**Topics**
+ [

## Visão geral do
](#sqs-least-privilege-overview)
+ [

## Política de chaves de privilégio mínimo para o Amazon SQS
](#sqs-least-privilege-use-case)
+ [

## Declarações de política do Amazon SQS para a fila de mensagens não entregues
](#sqs-policy-dlq)
+ [

## Prevenção do problema de adjunto confuso entre serviços
](#sqs-confused-deputy-prevention)
+ [

## Usar o IAM Access Analyzer para analisar o acesso entre contas
](#sqs-cross-account-findings)

## Visão geral do
<a name="sqs-least-privilege-overview"></a>

Neste tópico, vamos mostrar um caso de uso comum para ilustrar como você pode criar a política de chaves e a política de filas do Amazon SQS. Esse caso de uso é mostrado na imagem a seguir.

![\[Publicação de mensagens do Amazon SNS no Amazon SQS.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-least-privilege.png)


Neste exemplo, o produtor de mensagens é um tópico do [Amazon Simple Notification Service (SNS)](https://docs.aws.amazon.com/sns/latest/dg/welcome.html), que está configurado para fazer fanout de mensagens para a fila criptografada do Amazon SQS. O consumidor de mensagens é um serviço de computação, como uma função do [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html), uma instância do [Amazon Elastic Compute Cloud (EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) ou um contêiner do [AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html). Sua fila do Amazon SQS é então configurada para enviar mensagens de falha Amazon a uma [fila de mensagens não entregues (DLQ)](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html). Isso é útil para depurar seu aplicativo ou sistema de mensagens, pois DLQs permite isolar mensagens não consumidas para determinar por que seu processamento não foi bem-sucedido. Na solução definida neste tópico, um serviço de computação, como uma função do Lambda, é usado para processar mensagens armazenadas na fila do Amazon SQS. Se o consumidor da mensagem estiver localizado em uma nuvem privada virtual (VPC), a declaração de política [`DenyReceivingIfNotThroughVPCE`](#sqs-restrict-message-to-endpoint) incluída neste guia permite restringir o recebimento de mensagens a essa VPC específica.

**nota**  
Este guia contém somente as permissões do IAM necessárias na forma de declarações de política. Para criar a política, você precisa adicionar as declarações à sua política do Amazon SQS ou à sua política de AWS KMS chaves. Este guia não fornece instruções sobre como criar a fila ou a chave do Amazon SQS. AWS KMS Para obter instruções sobre a criação desses recursos, consulte “[Creating an Amazon SQS queue](creating-sqs-standard-queues.md#step-create-standard-queue)” (Criar uma fila do Amazon SQS) e [Creating keys](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) (Criar chaves).   
A política do Amazon SQS definida neste guia não é compatível com o redirecionamento de mensagens diretamente para a mesma fila ou uma fila diferente do Amazon SQS. 

## Política de chaves de privilégio mínimo para o Amazon SQS
<a name="sqs-least-privilege-use-case"></a>

Nesta seção, descrevemos as permissões de privilégio mínimo necessárias AWS KMS para a chave gerenciada pelo cliente que você usa para criptografar sua fila do Amazon SQS. Com essas permissões, você pode limitar o acesso somente às entidades pretendidas e, ao mesmo tempo, implementar o privilégio mínimo. A política principal deve consistir nas seguintes declarações de política, que descrevemos em detalhes abaixo:
+ [Conceda permissões de administrador à AWS KMS chave](#sqs-use-case-kms-admin-permissions)
+ [Conceder acesso somente leitura aos metadados de chave](#sqs-use-case-read-only-permissions)
+ [Conceder permissões de KMS do Amazon SNS para que este publique mensagens na fila](#sqs-use-case-publish-messages-permissions)
+ [Permitir que os consumidores decodifiquem mensagens da fila](#sqs-use-case-decrypt-messages-permissions)

### Conceda permissões de administrador à AWS KMS chave
<a name="sqs-use-case-kms-admin-permissions"></a>

Para criar uma AWS KMS chave, você precisa fornecer permissões de AWS KMS administrador para a função do IAM que você usa para implantar a AWS KMS chave. Essas permissões de administrador são definidas na declaração de política do `AllowKeyAdminPermissions` a seguir. Ao adicionar essa declaração à sua política de AWS KMS chaves, certifique-se de *<admin-role ARN>* substituí-la pelo Amazon Resource Name (ARN) da função do IAM usada para implantar a AWS KMS chave, gerenciar a AWS KMS chave ou ambas. Essa pode ser o perfil do IAM do pipeline de implantação ou a [função de administrador da sua organização](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html) no [AWS Organizations](https://aws.amazon.com/organizations/).

```
{
  "Sid": "AllowKeyAdminPermissions",
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "<admin-role ARN>"
    ]
  },
  "Action": [
    "kms:Create*",
    "kms:Describe*",
    "kms:Enable*",
    "kms:List*",
    "kms:Put*",
    "kms:Update*",
    "kms:Revoke*",
    "kms:Disable*",
    "kms:Get*",
    "kms:Delete*",
    "kms:TagResource",
    "kms:UntagResource",
    "kms:ScheduleKeyDeletion",
    "kms:CancelKeyDeletion"
  ],
  "Resource": "*"
}
```

**nota**  
Em uma política AWS KMS chave, o valor do `Resource` elemento precisa ser`*`, o que significa “essa AWS KMS chave”. O asterisco (`*`) identifica a AWS KMS chave à qual a política de chaves está anexada.

### Conceder acesso somente leitura aos metadados de chave
<a name="sqs-use-case-read-only-permissions"></a>

Para conceder a outros perfis do IAM acesso somente leitura aos metadados de chave, adicione a declaração `AllowReadAccessToKeyMetaData` à política de chaves. Por exemplo, a declaração a seguir permite que você liste todas as AWS KMS chaves em sua conta para fins de auditoria. Essa declaração concede ao usuário AWS raiz acesso somente de leitura aos metadados da chave. Portanto, qualquer entidade principal do IAM na conta pode ter acesso aos metadados de chave quando as respectivas políticas baseadas em identidade tiverem as permissões listadas na seguinte declaração: `kms:Describe*`, `kms:Get*` e `kms:List*`. Certifique-se de *<account-ID>* substituir por suas próprias informações. 

```
{
  "Sid": "AllowReadAcesssToKeyMetaData",
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "arn:aws:iam::<accountID>:root"
    ]
  },
  "Action": [
    "kms:Describe*",
    "kms:Get*",
    "kms:List*"
  ],
  "Resource": "*"
}
```

### Conceder permissões de KMS do Amazon SNS para que este publique mensagens na fila
<a name="sqs-use-case-publish-messages-permissions"></a>

Para permitir que o tópico do Amazon SNS publique mensagens na fila criptografada do Amazon SQS, adicione a declaração de política `AllowSNSToSendToSQS` à sua política de chaves. Essa declaração concede ao Amazon SNS permissões para usar a AWS KMS chave para publicar na sua fila do Amazon SQS. Certifique-se de *<account-ID>* substituir por suas próprias informações.

**nota**  
A `Condition` declaração limita o acesso somente ao serviço Amazon SNS na mesma AWS conta.

```
{
  "Sid": "AllowSNSToSendToSQS",
  "Effect": "Allow",
  "Principal": {
    "Service": [
      "sns.amazonaws.com"
    ]
  },
  "Action": [
    "kms:Decrypt",
    "kms:GenerateDataKey"
  ],
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "aws:SourceAccount": "<account-id>"
    }
  }
}
```

### Permitir que os consumidores decodifiquem mensagens da fila
<a name="sqs-use-case-decrypt-messages-permissions"></a>

A declaração `AllowConsumersToReceiveFromTheQueue` a seguir concede ao consumidor de mensagens do Amazon SQS as permissões necessárias para descriptografar as mensagens recebidas da fila criptografada do Amazon SQS. Ao anexar a declaração de política, *<consumer's runtime role ARN>* substitua pelo ARN da função de tempo de execução do IAM do consumidor da mensagem.

```
{
  "Sid": "AllowConsumersToReceiveFromTheQueue",
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "<consumer's execution role ARN>"
    ]
  },
  "Action": [
    "kms:Decrypt"
  ],
  "Resource": "*"
}
```

### Política de privilégio mínimo do Amazon SQS
<a name="sqs-use-case-specific-policy"></a>

Esta seção mostra as políticas de fila do Amazon SQS de privilégio mínimo para o caso de uso coberto por este guia (por exemplo, do Amazon SNS para o Amazon SQS). A política definida foi projetada para impedir o acesso não intencional usando uma combinação das declarações `Deny` e `Allow`. As declarações `Allow` concedem acesso à entidade ou às entidades pretendidas. As declarações `Deny` impedem que outras entidades não intencionais acessem a fila do Amazon SQS e exclui a entidade pretendida da condição da política.

A política do Amazon SQS inclui as seguintes declarações, que descrevemos em detalhes abaixo:
+ [Restringir as permissões de gerenciamento do Amazon SQS](#sqs-use-case-restrict-permissions)
+ [Restringir as ações de fila do Amazon SQS da organização especificada](#sqs-use-case-restrict-permissions-from-org)
+ [Conceder permissões do Amazon SQS aos consumidores](#sqs-use-grant-consumer-permissions)
+ [Aplicar a criptografia em trânsito](#sqs-encryption-in-transit)
+ [Restringir a transmissão de mensagens para um tópico específico do Amazon SNS](#sqs-restrict-transmission-to-topic)
+ [(Opcional) Restringir o recebimento de mensagens a um endpoint da VPC específico](#sqs-restrict-message-to-endpoint)

### Restringir as permissões de gerenciamento do Amazon SQS
<a name="sqs-use-case-restrict-permissions"></a>

A declaração de política `RestrictAdminQueueActions` a seguir restringe as permissões de gerenciamento do Amazon SQS somente ao perfil ou aos perfis do IAM que você usa para implantar a fila, gerenciar a fila ou realizar ambas as atividades. Substitua *<placeholder values>* por suas próprias informações. Especifique o ARN da função do IAM usada para implantar a fila do Amazon SQS, bem como o de qualquer função de administrador que ARNs deva ter permissões de gerenciamento do Amazon SQS. 

```
{
  "Sid": "RestrictAdminQueueActions",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": [
    "sqs:AddPermission",
    "sqs:DeleteQueue",
    "sqs:RemovePermission",
    "sqs:SetQueueAttributes"
  ],
  "Resource": "<SQS Queue ARN>",
  "Condition": {
    "StringNotLike": {
      "aws:PrincipalARN": [
        "arn:aws:iam::<account-id>:role/<deployment-role-name>",
        "<admin-role ARN>"
      ]
    }
  }
}
```

### Restringir as ações de fila do Amazon SQS da organização especificada
<a name="sqs-use-case-restrict-permissions-from-org"></a>

Para ajudar a proteger seus recursos do Amazon SQS contra acesso externo (acesso por uma entidade fora da sua [organização da AWS](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)), use a instrução a seguir. Essa declaração limita o acesso à fila do Amazon SQS à organização que você especifica na `Condition`. Certifique-se de *<SQS queue ARN>* substituir pelo ARN da função do IAM usada para implantar a fila do Amazon SQS; e *<org-id>* pelo ID da sua organização. 

```
{
  "Sid": "DenyQueueActionsOutsideOrg",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": [
    "sqs:AddPermission",
    "sqs:ChangeMessageVisibility",
    "sqs:DeleteQueue",
    "sqs:RemovePermission",
    "sqs:SetQueueAttributes",
    "sqs:ReceiveMessage"
  ],
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "StringNotEquals": {
      "aws:PrincipalOrgID": [
        "<org-id>"
      ]
    }
  }
}
```

### Conceder permissões do Amazon SQS aos consumidores
<a name="sqs-use-grant-consumer-permissions"></a>

Para receber mensagens da fila do Amazon SQS, você precisa fornecer ao consumidor da mensagem as permissões necessárias. A declaração de política a seguir concede ao consumidor, especificado por você, as permissões necessárias para consumir mensagens da fila do Amazon SQS. Ao adicionar a declaração à sua política do Amazon SQS, certifique-se de *<consumer's IAM runtime role ARN>* substituí-la pelo ARN da função de tempo de execução do IAM usada pelo consumidor e *<SQS queue ARN>* pelo ARN da função do IAM usada para implantar a fila do Amazon SQS.

```
{
  "Sid": "AllowConsumersToReceiveFromTheQueue",
  "Effect": "Allow",
  "Principal": {
    "AWS": "<consumer's IAM execution role ARN>"
  },
  "Action": [
    "sqs:ChangeMessageVisibility",
    "sqs:DeleteMessage",
    "sqs:GetQueueAttributes",
    "sqs:ReceiveMessage"
  ],
  "Resource": "<SQS queue ARN>"
}
```

Para evitar que outras entidades recebam mensagens da fila do Amazon SQS, adicione a declaração `DenyOtherConsumersFromReceiving` à política de filas do Amazon SQS. Essa declaração restringe o consumo de mensagens ao consumidor que você especificar, permitindo que nenhum outro consumidor tenha acesso, mesmo quando suas permissões de identidade concederem acesso. Certifique-se de substituir *<SQS queue ARN>* e *<consumer’s runtime role ARN>* com suas próprias informações.

```
{
  "Sid": "DenyOtherConsumersFromReceiving",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": [
    "sqs:ChangeMessageVisibility",
    "sqs:DeleteMessage",
    "sqs:ReceiveMessage"
  ],
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "StringNotLike": {
      "aws:PrincipalARN": "<consumer's execution role ARN>"
    }
  }
}
```

### Aplicar a criptografia em trânsito
<a name="sqs-encryption-in-transit"></a>

A declaração de política do `DenyUnsecureTransport` a seguir obriga os consumidores e produtores a usarem canais seguros (conexões TLS) para enviar e receber mensagens da fila do Amazon SQS. Certifique-se de *<SQS queue ARN>* substituir pelo ARN da função do IAM usada para implantar a fila do Amazon SQS.

```
{
  "Sid": "DenyUnsecureTransport",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": [
    "sqs:ReceiveMessage",
    "sqs:SendMessage"
  ],
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "Bool": {
      "aws:SecureTransport": "false"
    }
  }
}
```

### Restringir a transmissão de mensagens para um tópico específico do Amazon SNS
<a name="sqs-restrict-transmission-to-topic"></a>

Veja a seguir um exemplo de declaração de política que permite ao tópico do Amazon SNS enviar mensagem à fila do Amazon SQS. Certifique-se de *<SQS queue ARN>* substituir pelo ARN da função do IAM usada para implantar a fila do Amazon SQS *<SNS topic ARN>* e pelo ARN do tópico do Amazon SNS.

```
{
  "Sid": "AllowSNSToSendToTheQueue",
  "Effect": "Allow",
  "Principal": {
    "Service": "sns.amazonaws.com"
  },
  "Action": "sqs:SendMessage",
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "ArnLike": {
      "aws:SourceArn": "<SNS topic ARN>"
    }
  }
}
```

A declaração de política `DenyAllProducersExceptSNSFromSending` a seguir impede que outros produtores enviem mensagens à fila. Substitua *<SQS queue ARN>* e *<SNS topic ARN>* pelas próprias informações.

```
{
  "Sid": "DenyAllProducersExceptSNSFromSending",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": "sqs:SendMessage",
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "ArnNotLike": {
      "aws:SourceArn": "<SNS topic ARN>"
    }
  }
}
```

### (Opcional) Restringir o recebimento de mensagens a um endpoint da VPC específico
<a name="sqs-restrict-message-to-endpoint"></a>

Para restringir o recebimento de mensagens apenas a determinado [endpoint da VPC](https://aws.amazon.com/about-aws/whats-new/2018/12/amazon-sqs-vpc-endpoints-aws-privatelink/), adicione a declaração de política do Amazon SQS à política de fila do Amazon SQS. Essa declaração impede que um consumidor de mensagens receba mensagens da fila, a menos que as mensagens sejam do endpoint da VPC desejado. *<SQS queue ARN>*Substitua pelo ARN da função do IAM usada para implantar a fila do Amazon SQS *<vpce\$1id>* e pelo ID do VPC endpoint.

```
{
  "Sid": "DenyReceivingIfNotThroughVPCE",
  "Effect": "Deny",
  "Principal": "*",
  "Action": [
    "sqs:ReceiveMessage"
  ],
  "Resource": "<SQS queue ARN>",
  "Condition": {
    "StringNotEquals": {
      "aws:sourceVpce": "<vpce id>"
    }
  }
}
```

## Declarações de política do Amazon SQS para a fila de mensagens não entregues
<a name="sqs-policy-dlq"></a>

Adicione as seguintes declarações de política, identificadas pelo ID da declaração, à política de acesso da fila de mensagens não entregues (DLQ):
+ `RestrictAdminQueueActions`
+ `DenyQueueActionsOutsideOrg`
+ `AllowConsumersToReceiveFromTheQueue`
+ `DenyOtherConsumersFromReceiving`
+ `DenyUnsecureTransport`

Além de adicionar as declarações de política anteriores à política de acesso da DLQ, você também deve adicionar uma declaração para restringir a transmissão de mensagens às filas do Amazon SQS, conforme descrito na seção a seguir.

### Restringir a transmissão de mensagens para filas do Amazon SQS
<a name="sqs-dlq-restrict-permissions"></a>

Para restringir o acesso somente às filas do Amazon SQS da mesma conta, adicione a declaração de política `DenyAnyProducersExceptSQS` a seguir à política de DLQs. Essa declaração não limita a transmissão de mensagens para uma fila específica porque é necessário implantar a DLQ antes de criar a fila principal. Por isso, você não saberá o ARN do Amazon SQS ao criar a DLQ. Se você precisar limitar o acesso a apenas uma fila do Amazon SQS, modifique `aws:SourceArn` na `Condition` com o ARN da sua fila de origem do Amazon SQS quando souber.

```
{
  "Sid": "DenyAnyProducersExceptSQS",
  "Effect": "Deny",
  "Principal": {
    "AWS": "*"
  },
  "Action": "sqs:SendMessage",
  "Resource": "<SQS DLQ ARN>",
  "Condition": {
    "ArnNotLike": {
      "aws:SourceArn": "arn:aws:sqs:<region>:<account-id>:*"
    }
  }
}
```

**Importante**  
As políticas de fila do Amazon SQS definidas neste guia não restringem à ação `sqs:PurgeQueue` para determinado perfil ou perfis do IAM. A ação `sqs:PurgeQueue` permite que você exclua todas as mensagens na fila do Amazon SQS. Também é possível usar essa ação para fazer alterações no formato da mensagem sem substituir a fila do Amazon SQS. Ao depurar uma aplicação, você pode limpar a fila do Amazon SQS para remover mensagens possivelmente errôneas. Ao testar a aplicação, você pode direcionar um alto volume de mensagens pela fila do Amazon SQS e, depois, limpar a fila para começar do zero antes de entrar em produção. O motivo para não restringir essa ação a determinada função é que essa função pode não ser conhecida ao implantar a fila do Amazon SQS. Você precisará adicionar essa permissão à política baseada em identidades da função para poder limpar a fila.

## Prevenção do problema de adjunto confuso entre serviços
<a name="sqs-confused-deputy-prevention"></a>

O [problema de adjunto confuso](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) é um problema de segurança em que uma entidade que não tem permissão para executar uma ação pode coagir outra entidade mais privilegiada a executá-la. Para evitar isso, AWS fornece ferramentas que ajudam você a proteger sua conta se você fornecer acesso a terceiros (conhecido como contas cruzadas) ou outros AWS serviços (conhecido como serviços cruzados) aos recursos em sua conta. As declarações de política nesta seção podem ajudar a evitar o problema de adjunto confuso entre serviços.

A personificação entre serviços pode ocorrer quando um serviço (o serviço de chamada) chama outro serviço (o serviço chamado). O serviço de chamada pode ser manipulado para que ele use as respectivas permissões com o objetivo de acessar os recursos de outro cliente de uma forma que, normalmente, ele não deveria ter permissão. Para ajudar a combater esse problema, as políticas baseadas em recursos definidas nesta publicação usam as chaves de contexto de condição globais do IAM [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn), [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) e [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid). Isso limita as permissões que um serviço tem para um recurso específico, uma conta específica ou uma organização específica em AWS Organizations.

## Usar o IAM Access Analyzer para analisar o acesso entre contas
<a name="sqs-cross-account-findings"></a>

Você pode usar o [AWS IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) para revisar suas políticas de filas AWS KMS e políticas de chaves do Amazon SQS e alertá-lo quando uma fila do Amazon SQS ou AWS KMS uma chave concede acesso a uma entidade externa. O IAM Access Analyzer ajuda a identificar os [recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-resources.html) da sua organização e as contas que são compartilhadas com uma entidade fora da zona de confiança. Essa zona de confiança pode ser uma AWS conta ou a organização dentro de AWS Organizations que você especifica ao habilitar o IAM Access Analyzer.

O IAM Access Analyzer identifica recursos compartilhados com diretores externos usando o raciocínio baseado em lógica para analisar as políticas baseadas em recursos em seu ambiente. AWS Para cada instância de um recurso compartilhado fora de sua zona de confiança, o Access Analyzer gera uma descoberta. As [descobertas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-findings.html) incluem informações sobre o acesso e a entidade principal externa a que é concedido. Analise as descobertas para determinar se o acesso é pretendido e seguro ou se não é intencional e representa um risco à segurança. Para qualquer acesso não intencional, avalie a política afetada e corrija-a. Consulte esta [postagem do blog](https://aws.amazon.com/blogs/aws/identify-unintended-resource-access-with-aws-identity-and-access-management-iam-access-analyzer/) para obter mais informações sobre como o AWS IAM Access Analyzer identifica o acesso não intencional aos seus recursos. AWS 

Para obter mais informações sobre o AWS IAM Access Analyzer, consulte a documentação do [AWS IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html).

# Permissões da API do Amazon SQS: referência de ações e recurso
<a name="sqs-api-permissions-reference"></a>

Ao configurar o [Controle de acesso](security_iam_service-with-iam.md#access-control) e criar políticas de permissões que você possa anexar a uma identidade do IAM, é possível usar a tabela a seguir como referência. A tabela lista cada ação do Amazon Simple Queue Service, as ações correspondentes para as quais você pode conceder permissões para realizar a ação e o AWS recurso para o qual você pode conceder as permissões.

Especifique as ações no campo `Action` da política e o valor do recurso no campo `Resource` da política. Para especificar uma ação, use o prefixo `sqs:` seguido do nome da ação (por exemplo, `sqs:CreateQueue`).

No momento, o Amazon SQS é compatível apenas com [chaves de contexto de condições globais disponíveis no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html).

Use as barras de rolagem para ver o restante da tabela.


**API do Amazon Simple Queue Service e permissões necessárias para ações**  
<a name="sqs-api-and-required-permissions-for-actions-table"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-api-permissions-reference.html)