É possível instalar outros componentes, como o Ranger, ao criar um cluster do Dataproc usando o recurso Componentes opcionais. Nesta página, descrevemos o componente Ranger.
O componente Apache Ranger
é um framework de código aberto para gerenciar permissões e auditorias do
ecossistema do Hadoop. O servidor de administração do Ranger e a IU da Web estão disponíveis na porta
6080
no primeiro nó mestre do cluster.
Consulte também:
Instalar o componente
Instale o componente ao criar um cluster do Dataproc. Os componentes podem ser adicionados aos clusters criados com o Dataproc versão 1.3 ou posterior. O componente Ranger requer a instalação do componente Solr, conforme mostrado abaixo.
Consulte Versões compatíveis do Dataproc para a versão do componente incluída em cada versão de imagem do Dataproc.
Etapas da instalação
Configure sua senha de administrador do Ranger:
- Conceda o
papel Criptografador/Descriptografador do Cloud KMS CryptoKey
à conta de serviço do cluster. Por padrão, a conta de serviço do
cluster é definida como a conta de serviço padrão do Compute Engine, que tem o seguinte formato:
É possível especificar uma conta de serviço de cluster diferente ao criar o cluster, abaixo.project-number-compute@developer.gserviceaccount.com
- Exemplo:
conceda o papel de criptografador/descriptografador de CryptoKey do Cloud KMS
à conta de serviço padrão do Compute Engine:
gcloud projects add-iam-policy-binding project-id \ --member=serviceAccount:project-number-compute@developer.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyDecrypter
- Exemplo:
conceda o papel de criptografador/descriptografador de CryptoKey do Cloud KMS
à conta de serviço padrão do Compute Engine:
- Criptografe a senha do usuário administrador do Ranger usando uma chave do
Key Management Service (KMS).
Para clusters de versões de imagem anteriores à 2.2, a senha precisa ter pelo menos
8 caracteres, com pelo menos um caractere alfabético e um numérico. Para
clusters de versão de imagem 2.2 e mais recentes, a senha precisa ter pelo menos
8 caracteres, com pelo menos uma letra maiúscula, uma letra minúscula
e um caractere numérico.
- Exemplo:
- Crie o keyring:
gcloud kms keyrings create my-keyring --location=global
- Crie a chave:
gcloud kms keys create my-key \ --location=global \ --keyring=my-keyring \ --purpose=encryption
- Criptografe sua senha de usuário do administrador do Ranger:
echo 'my-ranger-admin-password' | \ gcloud kms encrypt \ --location=global \ --keyring=my-keyring \ --key=my-key \ --plaintext-file=- \ --ciphertext-file=admin-password.encrypted
- Crie o keyring:
- Exemplo:
- Faça o upload da senha criptografada para um bucket do Cloud Storage no projeto.
- Exemplo:
gcloud storage cp admin-password.encrypted gs://my-bucket
- Exemplo:
- Conceda o
papel Criptografador/Descriptografador do Cloud KMS CryptoKey
à conta de serviço do cluster. Por padrão, a conta de serviço do
cluster é definida como a conta de serviço padrão do Compute Engine, que tem o seguinte formato:
Crie o cluster:
- Ao instalar o componente Ranger, o
componente Solr também precisa ser
instalado, conforme mostrado abaixo.
- O componente Ranger depende do componente Solr para armazenar e consultar os
registros de auditoria, que, por padrão, usam o HDFS como armazenamento. Esses dados do HDFS
são excluídos quando o cluster é excluído. Para configurar
o componente Solr para armazenar dados, incluindo os registros de auditoria do Ranger,
no Cloud Storage, use o
dataproc:solr.gcs.path=gs://<bucket>
propriedade de cluster ao criar o cluster. Os dados do Cloud Storage permanecem depois que o cluster é excluído.
- O componente Ranger depende do componente Solr para armazenar e consultar os
registros de auditoria, que, por padrão, usam o HDFS como armazenamento. Esses dados do HDFS
são excluídos quando o cluster é excluído. Para configurar
o componente Solr para armazenar dados, incluindo os registros de auditoria do Ranger,
no Cloud Storage, use o
- Transmita a chave KMS e os URIs do Cloud Storage para o
comando de criação de cluster definindo o
dataproc:ranger.kms.key.uri
edataproc:ranger.admin.password.uri
propriedades do cluster. - Opcionalmente, você pode passar a senha de usuário do administrador
do banco de dados do Ranger por meio de um URI de arquivo criptografado do Cloud Storage definindo o
dataproc:ranger.db.admin.password.uri
propriedade de cluster. - Por padrão, o componente Ranger usa a instância do banco de dados MySql em execução
no primeiro nó mestre do cluster. Na instância do MySQL,
ative a flag
log_bin_trust_function_creators
definindo a variável comoON
. A definição dessa flag controla se os criadores de função armazenados podem ser confiáveis. Após a criação do cluster e a configuração do Ranger, é possível redefinir olog_bin_trust_function_creators
comoOFF
. Para manter o banco de dados do Ranger após a exclusão do cluster, use uma instância do Cloud SQL como o banco de dados MySql externo.
- Defina o
dataproc:ranger.cloud-sql.instance.connection.name
propriedade de cluster à instância do Cloud SQL. - Defina o
dataproc:ranger.cloud-sql.root.password.uri
propriedade de cluster para o URI do Cloud Storage da senha raiz criptografada da chave KMS da instância do Cloud SQL. - Defina a propriedade do cluster
dataproc:ranger.cloud-sql.use-private-ip
para indicar se a conexão com a instância do Cloud SQL está por meio de IP privado.
O componente Ranger usa o Cloud SQL Proxy para se conectar à instância do Cloud SQL. Para usar o proxy:
- Defina o escopo da API
sqlservice.admin
ao criar o cluster (consulte Como autorizar solicitações com o OAuth 2.0). Se estiver usando o comandogcloud dataproc cluster create
, adicione o parâmetro--scopes=default,sql-admin
. - Ative a API SQL Admin no seu projeto.
- Verifique se a conta de serviço do cluster tem o papel de editor do Cloud SQL.
Comando gcloud
Para criar um cluster do Dataproc que inclua o componente Ranger, use o comando gcloud dataproc clusters create cluster-name com a sinalização
--optional-components
.gcloud dataproc clusters create cluster-name \ --optional-components=SOLR,RANGER \ --region=region \ --enable-component-gateway \ --properties="dataproc:ranger.kms.key.uri=projects/project-id/locations/global/keyRings/my-keyring/cryptoKeys/my-key,dataproc:ranger.admin.password.uri=gs://my-bucket/admin-password.encrypted" \ ... other flags
API REST
Especifique os componentes Ranger e Solr no campo SoftwareConfig.Component como parte de uma solicitação clusters.create da API Dataproc. Você também precisa definir as propriedades de cluster a seguir no campo SoftwareConfig.Component.properties:
dataproc:ranger.kms.key.uri
: "projects/project-id/locations/global/keyRings/my-keyring/cryptoKeys/my-key"dataproc:ranger.admin.password.uri
: "gs://my-bucket/admin-password.encrypted"
Console
- Ative o componente e o gateway de componentes.
- No console do Google Cloud, abra a página Criar um cluster do Dataproc. O painel "Configurar cluster" está selecionado.
- Na seção "Componentes":
- Em "Componentes opcionais", selecione "Ranger", "Solr" e outros componentes opcionais para instalar no cluster.
- Em "Gateway de componentes", selecione "Ativar gateway do componentes" (consulte Visualizar e acessar URLs do gateway de componentes).
- Defina o
- Ao instalar o componente Ranger, o
componente Solr também precisa ser
instalado, conforme mostrado abaixo.
Clique na guia Interfaces da Web. Em Gateway do componente, clique em Ranger para abrir a interface da Web do Ranger. Faça login com o nome de usuário e a senha do administrador do Ranger (por exemplo, "admin").
Registros de administrador do Ranger
Os registros de administrador do Ranger estão disponíveis no
Logging como registros ranger-admin-root
.