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á.
Armazenar dados de configuração sigilosos no AWS Secrets Manager
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
Para criar um segredo, siga as instruções em Criação de um segredo do AWS Secrets Manager 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
O Amazon EMR usa um perfil de serviço do IAM para provisionar e gerenciar clusters para você. A função de serviço do Amazon EMR define as ações permitidas para o Amazon EMR quando ele provisiona recursos e executa tarefas de nível de serviço que não são executadas no contexto de uma instância da Amazon em execução em um cluster. EC2 Para obter mais informações sobre perfis de serviço, consulte Service role for Amazon EMR (EMR role) e Customize IAM roles.
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 no Manual do usuário do AWS Secrets Manager .
Usar o segredo em uma classificação de configuração
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
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.