

# Usar funções vinculadas ao serviço do IAM para o DAX
<a name="using-service-linked-roles"></a>

O Amazon DynamoDB Accelerator (DAX) usa [funções vinculadas ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) do AWS Identity and Access Management (IAM). A função vinculada ao serviço é um tipo exclusivo de função do IAM ligada diretamente ao DAX. As funções vinculadas a serviços são predefinidas pelo DAX e incluem todas as permissões que o serviço requer para chamar outros serviços da AWS em seu nome. 

Uma função vinculada ao serviço facilita a configuração do DAX porque você não precisa adicionar as permissões necessárias manualmente. O DAX define as permissões das funções vinculadas ao serviço e, exceto se definido de outra forma, somente o DAX pode assumir suas funções. As permissões definidas incluem a política de confiança e a política de permissões. Essa política de permissões não pode ser anexada a nenhuma outra entidade do IAM.

Você pode excluir os perfis somente depois de primeiro excluir seus recursos relacionados. Isso protege seus recursos do DAX, pois você não pode remover por engano as permissões para acessar os recursos.

Para obter informações sobre outros serviços que oferecem suporte a funções vinculadas ao serviço, consulte [Serviços da AWS compatíveis 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*. Procure os serviços que têm **Yes (Sim)** na coluna **Service-linked roles (Funções vinculadas ao serviço)**. Selecione o link **Yes (Sim)** para exibir a documentação da função vinculada ao serviço para esse serviço.

**Topics**
+ [Permissões de função vinculada ao serviço para o DAX](#service-linked-role-permissions)
+ [Criar uma função vinculada ao serviço do DAX](#create-service-linked-role)
+ [Editar uma função vinculada ao serviço do DAX](#edit-service-linked-role)
+ [Excluir uma função vinculada ao serviço do DAX](#delete-service-linked-role)

## Permissões de função vinculada ao serviço para o DAX
<a name="service-linked-role-permissions"></a>

O DAX usa a função vinculada ao serviço chamada `AWSServiceRoleForDAX`. Essa função permite que o DAX chame serviços em nome do seu cluster do DAX.

**Importante**  
A função `AWSServiceRoleForDAX` vinculada ao serviço facilita a configuração e a manutenção de um cluster do DAX. No entanto, ainda é necessário conceder a cada cluster acesso ao DynamoDB para que você possa usá-lo. Para obter mais informações, consulte [Controle de acesso do DAX](DAX.access-control.md).

A função vinculada ao serviço `AWSServiceRoleForDAX` confia nos seguintes serviços para assumir a função:
+ `dax.amazonaws.com`

A política de permissões da função permite que o DAX conclua as seguintes ações nos recursos especificados:
+ Ações em `ec2`:
  + `AuthorizeSecurityGroupIngress`
  + `CreateNetworkInterface`
  + `CreateSecurityGroup`
  + `DeleteNetworkInterface`
  + `DeleteSecurityGroup`
  + `DescribeAvailabilityZones`
  + `DescribeNetworkInterfaces`
  + `DescribeSecurityGroups`
  + `DescribeSubnets`
  + `DescribeVpcs`
  + `ModifyNetworkInterfaceAttribute`
  + `RevokeSecurityGroupIngress`

Você deve configurar permissões para que uma entidade do IAM (por exemplo, um usuário, grupo ou função) crie, edite ou exclua um perfil vinculado a serviço. Para saber mais, consulte [Permissões de Função Vinculadas ao Serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) no *Guia do Usuário do IAM*.

**Para permitir que uma entidade do IAM crie funções vinculadas ao serviço AWSServiceRoleForDAX**

 Adicione a seguinte declaração de política às permissões dessa entidade do IAM.

```
{
    "Effect": "Allow",
    "Action": [
        "iam:CreateServiceLinkedRole"
    ],
    "Resource": "*",
    "Condition": {"StringLike": {"iam:AWSServiceName": "dax.amazonaws.com"}}
}
```

## Criar uma função vinculada ao serviço do DAX
<a name="create-service-linked-role"></a>

Não é necessário criar manualmente um perfil vinculado ao serviço. Quando você cria um cluster, o DAX cria uma função vinculada ao serviço para você. 

**Importante**  
Se você usava o serviço DAX antes de 28 de fevereiro de 2018, quando ele começou a oferecer suporte às funções vinculadas ao serviço, o DAX criou a função `AWSServiceRoleForDAX` em sua conta. Para obter mais informações, consulte [Uma nova função apareceu em minha conta da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared) no *Guia do usuário do IAM*.

Se você excluir essa função vinculada ao serviço e precisar criá-la novamente, poderá usar esse mesmo processo para recriar a função em sua conta. Quando você cria uma instância ou um cluster, o DAX cria uma função vinculada ao serviço para você novamente.

## Editar uma função vinculada ao serviço do DAX
<a name="edit-service-linked-role"></a>

O DAX não permite editar a função vinculada ao serviço `AWSServiceRoleForDAX`. Depois que criar um perfil vinculado ao serviço, você não poderá alterar o nome do perfil, pois várias entidades podem fazer referência a ele. No entanto, será possível editar a descrição do perfil usando o IAM. Para saber mais, consulte [Editar uma função vinculada a serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) no *Guia do usuário do IAM*.

## Excluir uma função vinculada ao serviço do DAX
<a name="delete-service-linked-role"></a>

Se você não precisar mais usar um recurso ou serviço que requer um perfil vinculado ao serviço, é recomendável excluí-lo. Dessa forma, você não tem uma entidade não utilizada que não seja monitorada ativamente ou mantida. No entanto, você deve excluir todos os seus clusters do DAX para poder excluir a função vinculada ao serviço.

### Limpar uma função vinculada ao serviço
<a name="service-linked-role-review-before-delete"></a>

Antes de você poder usar o IAM para excluir uma função vinculada ao serviço, você deve primeiro confirmar que a função não tem sessões ativas e remover quaisquer recursos usados pela função.

**Para verificar se a função vinculada ao serviço tem uma sessão ativa no console do IAM**

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação do console do IAM, escolha **Perfis**. Em seguida, selecione o nome (não a caixa de seleção) da função **AWSServiceRoleForDAX**.

1. Na página **Resumo** para a função selecionada, escolha a guia **Consultor de Acesso**.

1. Na guia **Consultor de Acesso**, revise a atividade recente para a função vinculada ao serviço.
**nota**  
Se não tiver certeza se o DAX está usando a função `AWSServiceRoleForDAX`, você poderá tentar excluir a função. Se o serviço estiver usando a função, a exclusão falhará, e você poderá visualizar as regiões em que a função está sendo usada. Se a função estiver sendo usada, você deverá excluir os clusters do DAX antes de excluir a função. Você não pode revogar a sessão de uma função vinculada ao serviço. 

Para remover a função `AWSServiceRoleForDAX`, você deverá excluir primeiro todos os seus clusters do DAX. 

#### Excluir todos os clusters do DAX
<a name="delete-service-linked-role.clusters"></a>

Use um destes procedimentos para excluir cada um de seus clusters do DAX. 

**Para excluir um cluster do DAX (console)**

1. Abra o console do DynamoDB em [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/).

1. No painel de navegação, em **DAX**, escolha **Clusters**.

1. Escolha **Ações** e, em seguida, escolha **Excluir**.

1. Na caixa de diálogo **Delete cluster confirmation (Confirmar exclusão de cluster)**, escolha **Delete (Excluir)**.

**Para excluir um cluster do DAX (AWS CLI)**  
Consulte [delete-cluster](https://docs.aws.amazon.com/cli/latest/reference/dax/delete-cluster.html) na *Referência de comandos da AWS CLI*.

**Para excluir um cluster do DAX (API)**  
Consulte [DeleteCluster](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_dax_DeleteCluster.html) na *Referência da API do Amazon DynamoDB*.

#### Excluir uma função vinculada ao serviço
<a name="delete-service-linked-role.slr"></a>

**Como excluir manualmente o perfil vinculado ao serviço usando o IAM**

Use o console, a CLI ou a API do IAM para excluir a função vinculada ao serviço `AWSServiceRoleForDAX`. Para saber mais, consulte [Excluir um perfil vinculado ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) no *Guia do usuário do IAM*.