Puedes instalar componentes adicionales, como Ranger, al crear un clúster de Dataproc mediante la función Componentes opcionales. En esta página se describe el componente Ranger.
El componente Apache Ranger es un framework de código abierto para gestionar los permisos y la auditoría del ecosistema de Hadoop. El servidor de administración y la interfaz de usuario web de Ranger están disponibles en el puerto
6080
del primer nodo maestro del clúster.
Consulta también:
Instalar el componente
Instala el componente al crear un clúster de Dataproc. Los componentes se pueden añadir a los clústeres creados con la versión 1.3 de Dataproc o versiones posteriores. El componente Ranger requiere la instalación del componente Solr, como se muestra a continuación.
Consulta las versiones de Dataproc compatibles para ver la versión del componente incluida en cada lanzamiento de imagen de Dataproc.
Pasos de instalación:
Configura la contraseña de administrador de Ranger:
- Asigna el rol Encargado del encriptado y desencriptado de la clave criptográfica Cloud KMS a la cuenta de servicio del clúster. De forma predeterminada, la cuenta de servicio del clúster se define como la cuenta de servicio predeterminada de Compute Engine, que tiene el siguiente formato:
Puedes especificar otra cuenta de servicio de clúster cuando crees el clúster, como se indica a continuación.project-number-compute@developer.gserviceaccount.com
- Ejemplo:
Asigna el rol Encargado del encriptado y desencriptado de la clave criptográfica Cloud KMS
a la cuenta de servicio predeterminada de Compute Engine:
gcloud projects add-iam-policy-binding project-id \ --member=serviceAccount:project-number-compute@developer.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyDecrypter
- Ejemplo:
Asigna el rol Encargado del encriptado y desencriptado de la clave criptográfica Cloud KMS
a la cuenta de servicio predeterminada de Compute Engine:
- Encripta la contraseña del usuario administrador de Ranger con una clave de Key Management Service (KMS).
En los clústeres con versiones de imagen anteriores a la 2.2, la contraseña debe tener al menos 8 caracteres, con al menos un carácter alfabético y un carácter numérico. En los clústeres con la versión de imagen 2.2 o posterior, la contraseña debe tener al menos 8 caracteres, con al menos una letra mayúscula, una minúscula y un carácter numérico.
- Ejemplo:
- Crea el conjunto de claves:
gcloud kms keyrings create my-keyring --location=global
- Crea la clave:
gcloud kms keys create my-key \ --location=global \ --keyring=my-keyring \ --purpose=encryption
- Cifra la contraseña de usuario administrador de Ranger:
echo 'my-ranger-admin-password' | \ gcloud kms encrypt \ --location=global \ --keyring=my-keyring \ --key=my-key \ --plaintext-file=- \ --ciphertext-file=admin-password.encrypted
- Crea el conjunto de claves:
- Ejemplo:
- Sube la contraseña cifrada a un segmento de Cloud Storage de tu proyecto.
- Ejemplo:
gcloud storage cp admin-password.encrypted gs://my-bucket
- Ejemplo:
- Asigna el rol Encargado del encriptado y desencriptado de la clave criptográfica Cloud KMS a la cuenta de servicio del clúster. De forma predeterminada, la cuenta de servicio del clúster se define como la cuenta de servicio predeterminada de Compute Engine, que tiene el siguiente formato:
Crea el clúster:
- Al instalar el componente Ranger, también se debe instalar el componente Solr, como se muestra a continuación.
- El componente Ranger se basa en el componente Solr para almacenar y consultar sus registros de auditoría, que de forma predeterminada usa HDFS como almacenamiento. Estos datos de HDFS se eliminan cuando se elimina el clúster. Para configurar el componente Solr de forma que almacene datos, incluidos los registros de auditoría de Ranger, en Cloud Storage, usa la
dataproc:solr.gcs.path=gs://<bucket>
propiedad de clúster cuando crees el clúster. Los datos de Cloud Storage se conservan después de eliminar el clúster.
- El componente Ranger se basa en el componente Solr para almacenar y consultar sus registros de auditoría, que de forma predeterminada usa HDFS como almacenamiento. Estos datos de HDFS se eliminan cuando se elimina el clúster. Para configurar el componente Solr de forma que almacene datos, incluidos los registros de auditoría de Ranger, en Cloud Storage, usa la
- Transfiere los URIs de Cloud Storage de la clave de KMS y la contraseña al comando de creación de clústeres configurando las propiedades del clúster
dataproc:ranger.kms.key.uri
ydataproc:ranger.admin.password.uri
. - También puedes introducir la contraseña del usuario administrador de la base de datos de Ranger
a través de un URI de archivo de Cloud Storage cifrado
definiendo la
dataproc:ranger.db.admin.password.uri
propiedad de clúster. - De forma predeterminada, el componente Ranger usa la instancia de base de datos MySQL que se ejecuta en el primer nodo maestro del clúster. En la instancia de MySQL, habilita la marca
log_bin_trust_function_creators
asignando el valorON
a la variable. Este ajuste controla si se puede confiar en los creadores de funciones almacenadas. Una vez que hayas creado el clúster y configurado Ranger correctamente, puedes restablecerlog_bin_trust_function_creators
aOFF
. Para conservar la base de datos de Ranger después de eliminar el clúster, usa una instancia de Cloud SQL como base de datos MySQL externa.
- Define la
dataproc:ranger.cloud-sql.instance.connection.name
propiedad de clúster en la instancia de Cloud SQL. - Define la propiedad
dataproc:ranger.cloud-sql.root.password.uri
cluster en el URI de Cloud Storage de la contraseña raíz encriptada con la clave de KMS de la instancia de Cloud SQL. - Define la
dataproc:ranger.cloud-sql.use-private-ip
propiedad cluster para indicar si la conexión a la instancia de Cloud SQL se realiza a través de una IP privada.
El componente Ranger usa el proxy de autenticación de Cloud SQL para conectarse a la instancia de Cloud SQL. Para usar el proxy, sigue estos pasos:
- Define el alcance de la API
sqlservice.admin
al crear el clúster (consulta Autorizar solicitudes con OAuth 2.0). Si usas el comandogcloud dataproc cluster create
, añade el parámetro--scopes=default,sql-admin
. - Habilita la API Admin de SQL en tu proyecto.
- Asegúrate de que la cuenta de servicio del clúster tenga el rol Editor de Cloud SQL.
- Como el proxy de autenticación de Cloud SQL del nodo maestro crea conexiones de salida a la instancia de Cloud SQL a través del puerto 3307, asegúrate de que se permitan las conexiones TCP de salida del nodo maestro a la instancia de Cloud SQL a través del puerto 3307. Para obtener más información, consulta Cómo funciona el proxy de autenticación de Cloud SQL.
Comando gcloud
Para crear un clúster de Dataproc que incluya el componente Ranger, usa el comando gcloud dataproc clusters create cluster-name con la marca
--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
Especifica los componentes Ranger y Solr en el campo SoftwareConfig.Component como parte de una solicitud clusters.create de la API de Dataproc. También debe definir las siguientes propiedades del clúster en el 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"
Consola
- Habilita el componente y la pasarela de componentes.
- En la consola de Google Cloud , abre la página de Dataproc Crear un clúster. Se selecciona el panel Configurar clúster.
- En la sección Components (Componentes):
- En Componentes opcionales, selecciona Ranger, Solr y otros componentes opcionales que quieras instalar en el clúster.
- En Pasarela de componentes, selecciona Habilitar pasarela de componentes (consulta Ver y acceder a URLs de pasarela de componentes).
- Define la
- Al instalar el componente Ranger, también se debe instalar el componente Solr, como se muestra a continuación.
Haga clic en la pestaña Interfaces web. En Component gateway (Pasarela de componentes), haga clic en Ranger para abrir la interfaz web de Ranger. Inicia sesión con el nombre de usuario de administrador de Ranger (por ejemplo, "admin") y la contraseña.
Registros de administrador de Ranger
Los registros de administrador de Ranger están disponibles en Logging como registros ranger-admin-root
.
