

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

# Gerenciar funções de serviço do Elastic Beanstalk
<a name="iam-servicerole"></a>

Para gerenciar e monitorar seu ambiente, AWS Elastic Beanstalk executa ações nos recursos do ambiente em seu nome. O Elastic Beanstalk precisa de certas permissões para realizar essas ações e AWS Identity and Access Management assume funções de serviço (IAM) para obter essas permissões.

O Elastic Beanstalk precisa usar credenciais de segurança temporárias sempre que assumir uma função de serviço. Para obter essas credenciais, o Elastic Beanstalk envia uma solicitação para o AWS Security Token Service (AWS STS) em um endpoint específico da região. Para obter mais informações, consulte [Credenciais de segurança temporárias](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) no *Manual do usuário do IAM*.

**nota**  
Se o AWS STS endpoint da região em que seu ambiente está localizado estiver desativado, o Elastic Beanstalk enviará a solicitação em um endpoint alternativo que não pode ser desativado. Este endpoint está associado a uma região diferente. Assim, trata-se de uma solicitação entre regiões. Para obter mais informações, consulte [Ativação e desativação AWS STS em uma AWS região no Guia](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) do usuário do *IAM*.

## Gerenciar funções de serviço usando o console do Elastic Beanstalk e a CLI do EB
<a name="iam-servicerole-console"></a>

Você pode usar o console do Elastic Beanstalk e a CLI do EB para configurar funções de serviço para o seu ambiente com um conjunto suficiente de permissões. Eles criam uma função de serviço padrão e usam políticas gerenciadas nela.

### Políticas gerenciadas de função de serviços
<a name="iam-servicerole-policy"></a>

O Elastic Beanstalk fornece uma política gerenciada para o [monitoramento avançado de integridade](health-enhanced.md) e outra com permissões adicionais necessárias para [atualizações de plataforma gerenciada](environment-platform-update-managed.md). O console e a CLI do EB atribuem as políticas à função de serviço padrão criada para você. Essas políticas devem ser usadas somente para esta função de serviço padrão. Elas não devem ser usadas com outros usuários ou funções em suas contas.

#### `AWSElasticBeanstalkEnhancedHealth`
<a name="iam-servicerole-policy.health"></a>

Esta política concede permissões ao Elastic Beanstalk para monitorar a integridade do ambiente e da instância. Ela também inclui ações do Amazon SQS para permitir que o Elastic Beanstalk monitore a atividade das filas nos ambientes de operador. Para ver o conteúdo dessa política gerenciada, consulte a [ AWSElasticBeanstalkEnhancedHealth](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSElasticBeanstalkEnhancedHealth.html)página no *Guia de referência da política AWS gerenciada*.

#### `AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy`
<a name="iam-servicerole-policy.service"></a>

Esta política concede permissões ao Elastic Beanstalk para atualizar ambientes em seu nome a fim de realizar atualizações gerenciadas de plataforma. Para ver o conteúdo dessa política gerenciada, consulte a [AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy.html)página no *Guia de referência da política AWS gerenciada*. 

**Agrupamentos de permissão no nível de serviço**

Esta política é agrupada em declarações com base no conjunto de permissões fornecidas.
+ *`ElasticBeanstalkPermissions`*— Esse grupo de permissões serve para chamar as ações de serviço do Elastic Beanstalk (Elastic Beanstalk). APIs
+ *`AllowPassRoleToElasticBeanstalkAndDownstreamServices`* - Esse grupo de permissões permite que qualquer função seja transferida para o Elastic Beanstalk e para outros serviços downstream, como o CloudFormation.
+ *`ReadOnlyPermissions`*: esse grupo de permissões destina-se a coletar informações sobre o ambiente em execução.
+ *`*OperationPermissions`*: os grupos com este padrão de nomenclatura destinam-se a acionar as operações necessárias para executar atualizações na plataforma.
+ *`*BroadOperationPermissions`*: os grupos com este padrão de nomenclatura destinam-se a acionar as operações necessárias para executar atualizações na plataforma. Eles também incluem permissões amplas para oferecer suporte a ambientes herdados.
+ *`*TagResource`*— Os grupos com esse padrão de nomenclatura são para chamadas que usam o tag-on-create APIs para anexar tags em recursos que estão sendo criados em um ambiente do Elastic Beanstalk.

Para visualizar o conteúdo de uma política gerenciada, você também pode usar a página [https://console.aws.amazon.com/iam/home#policies](https://console.aws.amazon.com/iam/home#policies) no console do IAM.

**Importante**  
As políticas gerenciadas do Elastic Beanstalk não fornecem permissões granulares, elas concedem todas as permissões que são potencialmente necessárias para trabalhar com aplicações Elastic Beanstalk. Em alguns casos, talvez você queira restringir ainda mais as permissões das nossas políticas gerenciadas. Para um exemplo de um caso de uso, consulte [Impedir o acesso ao bucket do Amazon S3 entre ambientes](AWSHowTo.iam.cross-env-s3-access.md).  
Nossas políticas gerenciadas também não abrangem permissões para recursos personalizados que você pode adicionar à sua solução e que não são gerenciados pelo Elastic Beanstalk. Para implementar permissões mais granulares, permissões mínimas necessárias ou permissões de recursos personalizadas, use [políticas personalizadas](AWSHowTo.iam.managed-policies.md#AWSHowTo.iam.policies).

**Políticas gerenciadas pela obsoletas**  
No passado, o Elastic Beanstalk **AWSElasticBeanstalkService**apoiava a política de função de serviço gerenciado. Esta política foi substituída por **AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy**. Talvez você ainda consiga ver e usar a política anterior no console do IAM.

Para ver o conteúdo da política gerenciada, consulte [AWSElasticBeanstalkService](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSElasticBeanstalkService.html)o *Guia de referência de políticas AWS gerenciadas*.

No entanto, recomendamos que você faça a transição para o uso da nova política gerenciada (**AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy**). Adicione políticas personalizadas para conceder permissões a recursos personalizados, se tiver alguma.

### Usar o console do Elastic Beanstalk
<a name="iam-servicerole-console"></a>

Ao executar um ambiente no console do Elastic Beanstalk, o console cria uma função de serviço padrão chamada `aws-elasticbeanstalk-service-role` e anexa políticas gerenciadas com permissões padrão a essa função de serviço. 

Para permitir que o Elastic Beanstalk assuma a função `aws-elasticbeanstalk-service-role`, a função de serviço especifica o Elastic Beanstalk como uma entidade confiável na política de relacionamento de confiança.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "",
        "Effect": "Allow",
        "Principal": {
          "Service": "elasticbeanstalk.amazonaws.com"
        },
        "Action": "sts:AssumeRole",
        "Condition": {
          "StringEquals": {
            "sts:ExternalId": "elasticbeanstalk"
          }
        }
      }
    ]
}
```

------

Ao habilitar [atualizações gerenciadas de plataforma](environment-platform-update-managed.md) para o ambiente, o Elastic Beanstalk assume uma função de serviço separada para executar atualizações gerenciadas. Por padrão, o console do Elastic Beanstalk usa a mesma função de serviço gerada, `aws-elasticbeanstalk-service-role`, para a função de serviço de atualizações gerenciadas. Se você alterar a função de serviço padrão, o console definirá a função de serviço de atualizações gerenciadas para usar a função vinculada ao serviço de atualizações gerenciadas, `AWSServiceRoleForElasticBeanstalkManagedUpdates`. Para obter mais informações sobre funções vinculadas ao serviço, consulte [Uso de perfis vinculados ao serviço](#iam-servicerole-slr).

**nota**  
Em função de problemas de permissão, o serviço do Elastic Beanstalk nem sempre consegue criar essa função vinculada ao serviço para você com sucesso. Portanto, o console tenta criá-lo explicitamente. Para garantir que sua conta tenha essa função vinculada ao serviço, crie um ambiente pelo menos uma vez usando o console e configure as atualizações gerenciadas para serem habilitadas antes da criação do ambiente.

### Uso da EB CLI
<a name="iam-servicerole-ebcli"></a>

Se você executar um ambiente usando o comando [**eb create**](eb3-create.md) da Interface de linhas de comando do Elastic Beanstalk (CLI do EB) e não especificar uma função de serviço por meio da opção `--service-role`, o Elastic Beanstalk cria uma função de serviço padrão `aws-elasticbeanstalk-service-role`. Se a função de serviço padrão já existir, o Elastic Beanstalk a usará para o novo ambiente. Nessas situações, o console do Elastic Beanstalk também executa ações semelhantes.

Diferente de como é no console, você não pode especificar uma função de serviço de atualizações gerenciadas usando uma opção de comando da CLI do EB. Se você habilitar atualizações gerenciadas para o seu ambiente, deverá definir a função de serviço de atualizações gerenciadas nas opções de configuração. O exemplo a seguir habilita atualizações gerenciadas e usa a função de serviço padrão como uma função de serviço de atualizações gerenciadas.

**Example .ebextensions/ .config managed-platform-update**  

```
option_settings:
  aws:elasticbeanstalk:managedactions:
    ManagedActionsEnabled: true
    PreferredStartTime: "Tue:09:00"
    ServiceRoleForManagedUpdates: "aws-elasticbeanstalk-service-role"
  aws:elasticbeanstalk:managedactions:platformupdate:
    UpdateLevel: patch
    InstanceRefreshEnabled: true
```

## Gerenciar funções de serviço usando a API do Elastic Beanstalk
<a name="iam-servicerole-api"></a>

Ao usar a ação `CreateEnvironment` da API do Elastic Beanstalk para criar um ambiente, especifique uma função de serviço usando a opção de configuração `ServiceRole` no namespace `aws:elasticbeanstalk:environment`. Para obter mais informações sobre como usar o monitoramento avançado de integridade com a API do Elastic Beanstalk, consulte [Usar relatórios de integridade aprimorada com a API do Elastic Beanstalk](health-enhanced-api.md). 

Além disso, se você habilitar as [atualizações gerenciadas de plataforma](environment-platform-update-managed.md) para o ambiente, poderá especificar uma função de serviço de atualizações gerenciadas usando a opção `ServiceRoleForManagedUpdates` do namespace `aws:elasticbeanstalk:managedactions`.

## Uso de perfis vinculados ao serviço
<a name="iam-servicerole-slr"></a>

Uma função vinculada ao serviço é um tipo exclusivo de função de serviço predefinida pelo Elastic Beanstalk para incluir todas as permissões que o serviço exige para chamar outros serviços em seu nome. AWS A função vinculada a serviço é associada à sua conta. O Elastic Beanstalk cria essa função uma única vez e depois a reutiliza ao criar ambientes adicionais. Para obter mais informações sobre o uso de funções vinculadas a serviços com ambientes do Elastic Beanstalk, consulte [Usar funções vinculadas ao serviço para o Elastic Beanstalk](using-service-linked-roles.md).

Se você criar um ambiente usando a API do Elastic Beanstalk e não especificar uma função de serviço, o Elastic Beanstalk cria uma [função vinculada ao serviço de monitoramento](using-service-linked-roles-monitoring.md) para a sua conta, se ainda não houver uma. O Elastic Beanstalk usa essa função para o novo ambiente. Você também pode usar o IAM para criar uma função vinculada ao serviço de monitoramento para a sua conta com antecedência. Depois que a sua conta tiver essa função, você pode usá-la para criar um ambiente usando a API do Elastic Beanstalk, o console do Elastic Beanstalk ou a CLI do EB.

Se você habilitar [atualizações de plataforma gerenciadas](environment-platform-update-managed.md) para o ambiente e especificar `AWSServiceRoleForElasticBeanstalkManagedUpdates` como o valor da opção `ServiceRoleForManagedUpdates` do namespace `aws:elasticbeanstalk:managedactions`, o Elastic Beanstalk criará um [perfil vinculado ao serviço de atualizações gerenciadas](using-service-linked-roles-managedupdates.md) para a conta, se ainda não houver uma. O Elastic Beanstalk usa a função para executar atualizações gerenciadas para o novo ambiente.

**nota**  
Quando o Elastic Beanstalk tenta criar funções vinculadas ao serviço de monitoramento e atualizações gerenciadas para sua conta quando um ambiente é criado, é necessário ter a permissão `iam:CreateServiceLinkedRole`. Se você não tiver essa permissão, haverá falhas na criação do ambiente e uma mensagem explicando o problema será exibida.  
Como alternativa, outro usuário com permissão para criar funções vinculadas ao serviço pode usar o IAM para criá-las com antecedência. Com esse método, você não precisa da permissão `iam:CreateServiceLinkedRole` para criar o seu ambiente.

## Como verificar as permissões de funções de serviço padrão
<a name="iam-servicerole-verify"></a>

As permissões concedidas pela sua função de serviço padrão variam com base na sua data de criação, na última vez que você executou um ambiente e em qual cliente você usou. No console do IAM, você pode verificar as permissões concedidas pela função de serviço padrão.

**Para verificar as permissões da função de serviço padrão**

1. No console do IAM, abra a página [https://console.aws.amazon.com/iam/home#roles](https://console.aws.amazon.com/iam/home#roles) (Funções).

1. Selecione **aws-elasticbeanstalk-service-role**.

1. Na guia **Permissions**, (Permissões) revise a lista de políticas associadas à função.

1. Para visualizar as permissões que uma política concede, selecione a política.

## Atualização de uma função de serviço out-of-date padrão
<a name="iam-servicerole-update"></a>

Se a função de serviço padrão não tiver as permissões necessárias, você poderá atualizá-la [criando um novo ambiente](using-features.environments.md) no console de gerenciamento de ambiente do Elastic Beanstalk.

Como alternativa, você pode adicionar manualmente as políticas gerenciadas à função de serviço padrão.

**Para adicionar políticas gerenciadas à função de serviço padrão**

1. No console do IAM, abra a página [https://console.aws.amazon.com/iam/home#roles](https://console.aws.amazon.com/iam/home#roles) (Funções).

1. Selecione **aws-elasticbeanstalk-service-role**.

1. Na guia **Permissions (Permissões)**, escolha **Attach policies (Anexar políticas)**.

1. Insira **AWSElasticBeanstalk** para filtrar as políticas.

1. Selecione as seguintes políticas e selecione **Attach policy (Associar política)**:
   + `AWSElasticBeanstalkEnhancedHealth`
   + `AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy`

## Adicionar permissões à função de serviço padrão
<a name="iam-servicerole-addperms"></a>

Se seu aplicativo incluir arquivos de configuração que se referem a AWS recursos cujas permissões não estão incluídas na função de serviço padrão, o Elastic Beanstalk pode precisar de permissões adicionais. Tais permissões extras são necessárias para resolver essas referências quando elas processam os arquivos de configuração durante uma atualização gerenciada. Em caso de ausência das permissões, a atualização falha e o Elastic Beanstalk retorna uma mensagem indicando quais permissões ele precisa. Siga estas etapas para adicionar permissões para serviços adicionais à função de serviço padrão no console do IAM.

**Para adicionar outras políticas à função de serviço padrão**

1. No console do IAM, abra a página [https://console.aws.amazon.com/iam/home#roles](https://console.aws.amazon.com/iam/home#roles) (Funções).

1. Selecione **aws-elasticbeanstalk-service-role**.

1. Na guia **Permissions (Permissões)**, escolha **Attach policies (Anexar políticas)**.

1. Selecione a política gerenciada para os serviços adicionais que o seu aplicativo utiliza. Por exemplo, `AmazonAPIGatewayAdministrator` ou `AmazonElasticFileSystemFullAccess`.

1. Escolha **Anexar política**.

## Criar um perfil de serviço
<a name="iam-servicerole-create"></a>

Se você não pode usar a função de serviço padrão, crie uma função de serviço.

**Para criar um perfil de serviço**

1. No console do IAM, abra a página [https://console.aws.amazon.com/iam/home#roles](https://console.aws.amazon.com/iam/home#roles) (Funções).

1. Selecione **Criar perfil**.

1. Em **Serviço da AWS **, escolha **AWS Elastic Beanstalk** e selecione o caso de uso.

1. Escolha **Próximo: Permissões**.

1. Associe as políticas gerenciadas `AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy` e `AWSElasticBeanstalkEnhancedHealth` e quaisquer políticas adicionais que fornecem as permissões das quais seu aplicativo precisa.

1. Escolha **Próximo: tags**.

1. (Opcional) Adicione tags à função.

1. Escolha **Próximo: revisar**.

1. Insira um nome para a função.

1. Selecione **Criar perfil**.

Aplique a sua função de serviço personalizada ao criar um ambiente usando o [assistente de criação de ambiente](environments-create-wizard.md) ou com a opção `--service-role` para o comando `eb create`.