

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

# Armazene dados de configuração confidenciais em AWS Secrets Manager
<a name="storing-sensitive-data"></a>

O Amazon EMR descreve e lista as operações de API que emitem dados de configuração personalizados (como `DescribeCluster` e `ListInstanceGroups`) em texto sem formatação. O Amazon EMR se integra AWS Secrets Manager para que você possa armazenar seus dados no Secrets Manager e usar o ARN secreto em suas configurações. Dessa forma, você não passa dados confidenciais de configuração para o Amazon EMR em texto sem formatação e os expõe ao ambiente externo. APIs Se você indicar que um par de chave-valor contém o ARN de um segredo armazenado no Secrets Manager, o Amazon EMR recuperará esse segredo ao enviar dados de configuração ao cluster. O Amazon EMR não envia a anotação quando usa o externo APIs para exibir a configuração.

## Criar um segredo
<a name="create-secret"></a>

Para criar um segredo, siga as instruções em [Criação de um segredo do AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) no *Guia do usuário do AWS Secrets Manager *. Na **Etapa 3**, você deve escolher o campo **Texto sem formatação** para inserir o valor sigiloso.

Observe que, embora o Secrets Manager permita que o segredo contenha até 65536 bytes, o Amazon EMR limita a 1024 caracteres o tamanho combinado da chave de propriedade (excluindo a anotação) e o valor do segredo recuperado.

## Conceder acesso ao Amazon EMR para recuperar o segredo
<a name="grant-access"></a>

O Amazon EMR usa um perfil de serviço do IAM para provisionar e gerenciar clusters para você. O perfil de serviço do Amazon EMR define as ações permitidas para o Amazon EMR durante o provisionamento de recursos e a execução de tarefas no nível de serviço que não são executadas no contexto de uma instância do Amazon EC2 em execução em um cluster. Para obter mais informações sobre perfis de serviço, consulte [Service role for Amazon EMR (EMR role)](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role.html) e [Customize IAM roles](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles-custom.html).

Para permitir que o Amazon EMR recupere o valor do segredo do Secrets Manager, adicione a seguinte instrução de política ao perfil do Amazon EMR ao iniciar o cluster.

```
{
   "Sid":"AllowSecretsRetrieval",
   "Effect":"Allow",
   "Action":"secretsmanager:GetSecretValue",
   "Resource":[
      "arn:aws:secretsmanager:<region>:<aws-account-id>:secret:<secret-name>"
   ]
}
```

Se você criar o segredo com uma chave gerenciada pelo cliente AWS KMS key, também deverá adicionar `kms:Decrypt` permissão à função do Amazon EMR para a chave que você usa. Para obter mais informações, consulte [Controle de acesso e autenticação para o AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html) no *Manual do usuário do AWS Secrets Manager *.

## Usar o segredo em uma classificação de configuração
<a name="config-secret"></a>

Você pode adicionar a anotação `EMR.secret@` a qualquer propriedade de configuração para indicar que o par de chave-valor contém um ARN de um segredo armazenado no Secrets Manager.

O exemplo a seguir mostra como fornecer um ARN de segredo em uma classificação de configuração:

```
{
   "Classification":"core-site",
   "Properties":{
      "presto.s3.access-key":"<sensitive-access-key>",
      "EMR.secret@presto.s3.secret-key":"arn:aws:secretsmanager:<region>:<aws-account-id>:secret:<secret-name>"
   }
}
```

Quando você cria o cluster e envia a configuração anotada, o Amazon EMR valida as propriedades da configuração. Se a configuração for válida, o Amazon EMR removerá a anotação da configuração e recuperará o segredo do Secrets Manager para criar a configuração real antes de aplicá-la ao cluster:

```
{
   "Classification":"core-site",
   "Properties":{
      "presto.s3.access-key":"<sensitive-access-key>",
      "presto.s3.secret-key":"<my-secret-key-retrieved-from-Secrets-Manager>"
   }
}
```

Quando você chama uma ação como `DescribeCluster`, o Amazon EMR retorna a configuração atual da aplicação no cluster. Se uma propriedade de configuração da aplicação estiver marcada como contendo um ARN de segredo, a configuração da aplicação retornada pela chamada `DescribeCluster` conterá o ARN e não o valor do segredo. Isso garante que o valor do segredo seja visível somente no cluster:

```
{
   "Classification":"core-site",
   "Properties":{
      "presto.s3.access-key":"<sensitive-access-key>",
      "presto.s3.secret-key":"arn:aws:secretsmanager:<region>:<aws-account-id>:secret:<secret-name>"
   }
}
```

## Atualizar o valor do segredo
<a name="update-secret"></a>

O Amazon EMR recupera o valor do segredo de uma configuração anotada sempre que o grupo de instâncias anexado estiver iniciando, reconfigurando ou redimensionando. É possível usar o Secrets Manager para modificar o valor de um segredo utilizado na configuração de um cluster em execução. Ao fazer isso, você pode enviar uma solicitação de reconfiguração para cada grupo de instâncias que deve receber o valor atualizado. Para obter mais informações sobre como reconfigurar um grupo de instâncias e o que considerar ao fazer isso, consulte [Reconfigurar um grupo de instâncias de um cluster em execução](emr-configure-apps-running-cluster.md).