Provedor de credenciais do Secret Manager

Este documento descreve como usar o Secret Manager como um repositório de credenciais com o Dataproc Serverless para armazenar e acessar com segurança os dados sensíveis processados por cargas de trabalho sem servidor.

Visão geral

O Secret Manager pode proteger seus dados sensíveis, como chaves de API, senhas e certificados. Use-o para gerenciar, acessar e auditar seus segredos no Google Cloud.

Ao executar uma carga de trabalho em lote do Dataproc sem servidor, é possível configurá-la para usar um segredo do Secret Manager usando o provedor de credenciais do Secret Manager do Dataproc.

Disponibilidade

Esse recurso está disponível para as versões do ambiente de execução do Dataproc Serverless para Spark 1.2.29+, 2.2.29+ ou versões principais mais recentes.

Terminologia

A tabela a seguir descreve os termos usados neste documento.

Termo Descrição
Secret Um secret do Secret Manager é um objeto de projeto global que contém uma coleção de metadados e versões de secrets. É possível armazenar, gerenciar e acessar secrets como blobs binários ou strings de texto.
Credential No Hadoop e em outros workloads do Dataproc, uma credencial consiste em um nome (ID) e um valor (senha). Um ID e um valor de credencial são mapeados para um ID e um valor de secret do Secret Manager (versão do secret).

Uso

É possível configurar o Hadoop com suporte e outros componentes do OSS para trabalhar com o Secret Manager definindo as seguintes propriedades ao enviar uma carga de trabalho do Dataproc sem servidor:

  • Caminho do provedor (obrigatório): a propriedade do caminho do provedor, hadoop.security.credential.provider.path, é uma lista separada por vírgulas de um ou mais URIs de provedor de credencial que é percorrida para resolver uma credencial.

    --properties=hadoop.security.credential.provider.path=gsm://projects/PROJECT_ID
    
    • O scheme no caminho do provedor indica o tipo de provedor de credenciais. Os esquemas do Hadoop incluem jceks://, user:// e localjceks://. Use o esquema gsm:// para pesquisar credenciais no Secret Manager.
  • Operador de ponto substituto (opcional): o Secret Manager não oferece suporte ao operador de ponto(.) em nomes secretos, mas as chaves de credencial de componentes do OSS podem conter esse operador. Quando essa propriedade é definida como true. Você pode substituir pontos(.) por hífens(-) nos nomes das credenciais. Por exemplo, quando essa propriedade é definida como true, é possível especificar o nome da credencial a.b.c como a-b-c ao transmiti-la ao Secret Manager.

    --properties=hadoop.security.credstore.google-secret-manager.secret-id.substitute-dot-operator=true
    
  • Versão do secret (opcional): os secrets no Secret Manager podem ter várias versões (valores). Use essa propriedade para acessar uma versão do secret. Por padrão, o Secret Manager acessa a versão LATEST, que é resolvida para o valor mais recente do secret no momento da execução. Uma prática recomendada é definir essa propriedade para acesso estável em ambientes de produção. Para saber como criar um secret, consulte Criar e acessar um secret usando o Secret Manager.

    --properties=hadoop.security.credstore.google-secret-manager.secret-version=1
    

Executar uma carga de trabalho em lote com o provedor de credenciais do Secret Manager

Para enviar uma carga de trabalho em lote que usa o provedor de credenciais do Secret Manager, execute o comando a seguir localmente ou no Cloud Shell.

gcloud dataproc batches submit spark \
    --region=REGION \
    --jars=JARS \
    --class=MAIN_CLASS \
    --properties="spark.hive.hadoop.security.credential.provider.path=gsm://projects/PROJECT_ID,spark.hive.hadoop.security.credstore.google-secret-manager.secret-id.substitute-dot-operator=true" \
    ...other flags as needed...

Substitua: