

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

# Uso de funções vinculadas ao serviço para o Amazon ElastiCache
<a name="using-service-linked-roles"></a>

O Amazon ElastiCache 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 vinculada diretamente a um serviço da AWS, como o Amazon ElastiCache. As funções vinculadas ao serviço do Amazon ElastiCache são predefinidas pelo Amazon ElastiCache. Elas incluem todas as permissões que o serviço exige para chamar os serviços da AWS em nome dos seus clusters. 

Uma função vinculada ao serviço facilita a configuração do Amazon ElastiCache porque você não precisa adicionar as permissões necessárias manualmente. As funções ainda existem dentro de sua contada AWS mas estão vinculadas aos casos de uso do Amazon ElastiCache e têm permissões predefinidas. Somente o Amazon ElastiCache pode assumir essas funções e somente essas funções podem usar a política de permissões predefinidas. Você pode excluir os perfis somente depois de primeiro excluir seus recursos relacionados. Isso protege seus recursos do Amazon ElastiCache, pois você não pode remover por engano as permissões necessárias para acessar os recursos.

Para obter informações sobre outros serviços compatíveis com funções vinculadas a serviços, 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) e procure os serviços que contenham **Sim** na coluna **Função vinculada a serviço**. Escolha um **Sim** com um link para visualizar a documentação do perfil vinculado para esse serviço.

**Contents**
+ [Permissões de perfil vinculado ao serviço](#service-linked-role-permissions)
  + [Permissões para criar uma função vinculada ao serviço](#service-linked-role-permissions)
+ [Criação de uma função vinculada ao serviço (IAM)](#create-service-linked-role-iam)
  + [Uso do console do IAM](#create-service-linked-role-iam-console)
  + [Uso da CLI do IAM](#create-service-linked-role-iam-cli)
  + [Uso da API do IAM](#create-service-linked-role-iam-api)
+ [Editar a descrição de uma função vinculada ao serviço](#edit-service-linked-role)
  + [Uso do console do IAM](#edit-service-linked-role-iam-console)
  + [Uso da CLI do IAM](#edit-service-linked-role-iam-cli)
  + [Uso da API do IAM](#edit-service-linked-role-iam-api)
+ [Exclusão de uma função vinculada ao serviço do Amazon ElastiCache](#delete-service-linked-role)
  + [Limpar uma função vinculada ao serviço](#service-linked-role-review-before-delete)
  + [Exclusão de uma função vinculada ao serviço (console do IAM)](#delete-service-linked-role-iam-console)
  + [Exclusão de uma função vinculada ao serviço (CLI do IAM)](#delete-service-linked-role-iam-cli)
  + [Exclusã de uma função vinculada ao serviço (API do IAM)](#delete-service-linked-role-iam-api)

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

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

**Para permitir que uma entidade do IAM crie uma função vinculada ao serviço ServiceRoleForElastiCache da AWS**

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

```
{
    "Effect": "Allow",
    "Action": [
        "iam:CreateServiceLinkedRole",
        "iam:PutRolePolicy"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/elasticache.amazonaws.com/AWSServiceRoleForElastiCache*",
    "Condition": {"StringLike": {"iam:AWSServiceName": "elasticache.amazonaws.com"}}
}
```

**Para permitir que uma entidade do IAM exclua uma função vinculada ao serviço ServiceRoleForElastiCache da AWS**

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

```
{
    "Effect": "Allow",
    "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/elasticache.amazonaws.com/AWSServiceRoleForElastiCache*",
    "Condition": {"StringLike": {"iam:AWSServiceName": "elasticache.amazonaws.com"}}
}
```

Como alternativa, você pode usar uma política gerenciada pela AWS para fornecer acesso total ao Amazon ElastiCache.

## Criação de uma função vinculada ao serviço (IAM)
<a name="create-service-linked-role-iam"></a>

Você pode criar uma função vinculada ao serviço usando o console do IAM, a CLI ou a API.

### Criação de uma função vinculada ao serviço (console do IAM)
<a name="create-service-linked-role-iam-console"></a>

Você pode usar o console do IAM para criar uma função vinculada ao serviço.

**Para criar uma função vinculada ao serviço (console)**

1. Faça login em 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, escolha **Criar nova função**.

1. Em **Select type of trusted entity** (Selecionar tipo de entidade confiável), selecione **Serviço da AWS**.

1. Em **Or select a service to view its use cases** (Ou selecione um serviço para visualizar seus casos de uso), escolha **ElastiCache**.

1. Escolha **Next: Permissions** (Próximo: permissões).

1. Em **Nome da política**, observe que `ElastiCacheServiceRolePolicy` é necessário para esta função. Escolha **Próximo: tags**.

1. Observe que não há suporte para as tags para funções vinculadas ao serviço. Escolha **Próximo: análise**.

1. (Opcional) Em **Descrição da função**, edite a descrição para a nova função vinculada ao serviço.

1. Revise a função e escolha **Criar função**.

### Criação de uma função vinculada ao serviço (CLI do IAM)
<a name="create-service-linked-role-iam-cli"></a>

Você pode usar operações do IAM na AWS Command Line Interface para excluir uma função vinculada ao serviço. Essa função pode incluir a política de confiança e as políticas em linha de que o serviço precisa para assumir a função.

**Para criar uma função vinculada ao serviço (CLI)**

Use a seguinte operação:

```
$ aws iam [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) --aws-service-name {{elasticache.amazonaws.com}}
```

### Criação de uma função vinculada ao serviço (API do IAM)
<a name="create-service-linked-role-iam-api"></a>

Você pode usar a API do IAM para excluir uma função vinculada ao serviço. Essa função pode conter a política de confiança e as políticas em linha de que o serviço precisa para assumir a função.

**Para criar uma função vinculada ao serviço (API)**

Use a chamada da API [CreateServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html). Na solicitação, especifique o nome do serviço na forma de `elasticache.amazonaws.com`. 

## Edição da descrição de uma função vinculada a serviço para o Amazon ElastiCache
<a name="edit-service-linked-role"></a>

O Amazon ElastiCache não permite que você edite a função vinculada ao serviço ServiceRoleForElastiCache da AWS. 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.

### Edição da descrição de uma função vinculada ao serviço (console do IAM)
<a name="edit-service-linked-role-iam-console"></a>

Também é possível usar o console do IAM para editar a descrição de uma função vinculada ao serviço.

**Para editar a descrição de uma função vinculada ao serviço (console)**

1. No painel de navegação do console do IAM, escolha **Perfis**.

1. Escolha o nome da função a ser modificada.

1. No extremo direito da **Descrição da função**, escolha **Editar**. 

1. Insira uma nova descrição na caixa e escolha **Salvar**.

### Edição da descrição de uma função vinculada ao serviço (CLI do IAM)
<a name="edit-service-linked-role-iam-cli"></a>

Você pode usar operações do IAM na AWS Command Line Interface para editar a descrição de uma função vinculada ao serviço.

**Para alterar a descrição de uma função (CLI)**

1. (Opcional) Para visualizar a descrição atual de uma função, use a AWS CLI para a operação do IAM `[get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html)`.  
**Example**  

   ```
   $ aws iam [get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html) --role-name AWSServiceRoleForElastiCache
   ```

   Use o nome da função, não o nome de recurso da Amazon (ARN), para fazer referência às funções com as operações da CLI. Por exemplo, se uma função tiver o seguinte nome de recurso da Amazon (ARN): `arn:aws:iam::123456789012:role/myrole`, você fará referência à função como **myrole**.

1. Para atualizar a descrição de uma função vinculada ao serviço, use a AWS CLIpara a operação do IAM `[update-role-description](https://docs.aws.amazon.com/cli/latest/reference/iam/update-role-description.html)`.

   Para Linux, macOS ou Unix:

   ```
   $ aws iam [update-role-description](https://docs.aws.amazon.com/cli/latest/reference/iam/update-role-description.html) \
       --role-name AWSServiceRoleForElastiCache \
       --description "{{new description}}"
   ```

   Para Windows:

   ```
   $ aws iam [update-role-description](https://docs.aws.amazon.com/cli/latest/reference/iam/update-role-description.html) ^
       --role-name AWSServiceRoleForElastiCache ^
       --description "{{new description}}"
   ```

### Edição da descrição de uma função vinculada ao serviço (API do IAM)
<a name="edit-service-linked-role-iam-api"></a>

Você pode usar a API do IAM para editar uma descrição de função vinculada ao serviço.

**Para alterar a descrição de uma função (API)**

1. (Opcional) Para visualizar a descrição atual de uma função, use a operação da API do IAM [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html).  
**Example**  

   ```
   https://iam.amazonaws.com/
      ?Action=[GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html)
      &RoleName={{AWSServiceRoleForElastiCache}}
      &Version=2010-05-08
      &AUTHPARAMS
   ```

1. Para atualizar uma descrição de função, use a operação da API do IAM [UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html).  
**Example**  

   ```
   https://iam.amazonaws.com/
      ?Action=[UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html)
      &RoleName={{AWSServiceRoleForElastiCache}}
      &Version=2010-05-08
      &Description="{{New description}}"
   ```

## Exclusão de uma função vinculada ao serviço do Amazon ElastiCache
<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 limpar sua função vinculada ao serviço antes de excluí-la.

O Amazon ElastiCache não exclui a função vinculada ao serviço para você.

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

Antes de usar o IAM para excluir uma função vinculada ao serviço, primeiro confirme que a função não tem recursos (clusters ou grupos de replicação) associados a ela.

**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**. Então, escolha o nome (não a caixa de seleção) da função ServiceRoleForElastiCache da AWS.

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.

**Para excluir recursos do Amazon ElastiCache que exigem ServiceRoleForelastiCache da AWS**
+ Para excluir um cluster, consulte o seguinte:
  + [Usando o Console de gerenciamento da AWS](Clusters.Delete.md#Clusters.Delete.CON)
  + [Usando o AWS CLI para excluir um ElastiCache cluster](Clusters.Delete.md#Clusters.Delete.CLI)
  + [Usando a ElastiCache API](Clusters.Delete.md#Clusters.Delete.API)
+ Para excluir um grupo de replicação, consulte o seguinte:
  + [Exclusão de um grupo de replicação (Console)](Replication.DeletingRepGroup.md#Replication.DeletingRepGroup.CON)
  + [Excluir um grupo de replicação (AWS CLI)](Replication.DeletingRepGroup.md#Replication.DeletingRepGroup.CLI)
  + [Exclusão de um grupo de replicação (API do ElastiCache)](Replication.DeletingRepGroup.md#Replication.DeletingRepGroup.API)

### Exclusão de uma função vinculada ao serviço (console do IAM)
<a name="delete-service-linked-role-iam-console"></a>

É possível usar o console do IAM para excluir uma função vinculada ao serviço.

**Para excluir uma função vinculada ao serviço (console)**

1. Faça login em 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 **Roles**. Selecione a caixa de marcação ao lado do nome da função que você deseja excluir, não o nome ou a linha em si. 

1. Em ações de **Role (Função)** na parte superior da página, escolha a função **Delete (Excluir)**.

1. Na caixa de diálogo de confirmação, revise os dados do último acesso ao serviço, que mostram quando cada uma das funções selecionadas acessou pela última vez um serviço da AWS. Isso ajuda você a confirmar se a função está ativo no momento. Se quiser prosseguir, escolha **Sim, Excluir** para enviar a função vinculada ao serviço para exclusão.

1. Monitore as notificações do console do IAM para progresso da exclusão da função vinculada ao serviço. Como a exclusão da função vinculada ao serviço do IAM é assíncrona, depois de enviar a função para exclusão, a tarefa pode ou não ser bem-sucedida. Se a tarefa obtiver êxito, você poderá escolher **Visualizar Detalhes** ou **Visualizar Recursos** a partir das notificações para saber por que a exclusão falhou.

### Exclusão de uma função vinculada ao serviço (CLI do IAM)
<a name="delete-service-linked-role-iam-cli"></a>

Você pode usar operações do IAM na AWS Command Line Interface para excluir uma função vinculada ao serviço.

**Para excluir uma função vinculado ao serviço (CLI)**

1. Se você não souber o nome da função vinculada ao serviço que deseja excluir, insira o seguinte comando. Esse comando lista as funções e os nomes de recursos da Amazon (ARNs) em sua conta.

   ```
   $ aws iam [get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html) --role-name {{role-name}}
   ```

   Use o nome da função, não o nome de recurso da Amazon (ARN), para fazer referência às funções com as operações da CLI. Por exemplo, se uma função tiver o ARN `arn:aws:iam::123456789012:role/myrole`, você fará referência à função como **myrole**.

1. Como uma função vinculada ao serviço não podem ser excluída se estiver sendo usada ou tiver recursos associados, você deverá enviar uma solicitação de exclusão. Essa solicitação poderá ser negada se essas condições não forem atendidas. Você deve capturar o `deletion-task-id` da resposta para verificar o status da tarefa de exclusão. Insira o seguinte para enviar uma solicitação de exclusão de função vinculada ao serviço.

   ```
   $ aws iam [delete-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-service-linked-role.html) --role-name {{role-name}}
   ```

1. Insita o seguinte para verificar o estado da tarefa de exclusão.

   ```
   $ aws iam [get-service-linked-role-deletion-status](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-linked-role-deletion-status.html) --deletion-task-id {{deletion-task-id}}
   ```

   O status da tarefa de exclusão pode ser `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED`, ou `FAILED`. Se a exclusão falhar, a chamada informará o motivo de falha para que você possa solucionar o problema.

### Exclusã de uma função vinculada ao serviço (API do IAM)
<a name="delete-service-linked-role-iam-api"></a>

É possível usar a API do IAM para excluir uma função vinculada ao serviço.

**Para excluir uma função vinculada ao serviço (API)**

1. Para enviar uma solicitação de exclusão de um roll vinculada ao serviço, chame [DeleteServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html). Na solicitação, especifique o nome da função.

   Como uma função vinculada ao serviço não podem ser excluída se estiver sendo usada ou tiver recursos associados, você deverá enviar uma solicitação de exclusão. Essa solicitação poderá ser negada se essas condições não forem atendidas. Você deve capturar o `DeletionTaskId` da resposta para verificar o status da tarefa de exclusão.

1. Para verificar o status da exclusão, chame [GetServiceLinkedRoleDeletionStatus](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLinkedRoleDeletionStatus.html). Na solicitação, especifique o `DeletionTaskId`.

   O status da tarefa de exclusão pode ser `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED`, ou `FAILED`. Se a exclusão falhar, a chamada informará o motivo de falha para que você possa solucionar o problema.