

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

# Exemplos de políticas baseadas em identidade 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"
   }]
}
```

------