Puedes instalar componentes adicionales como Ranger cuando creas un clúster de Dataproc con la función de componentes opcionales. En esta página, se describe el componente Ranger.
El componente de Apache Ranger
es un framework de código abierto que sirve para administrar los permisos y las auditorías del
ecosistema de Hadoop. El servidor admin de Ranger y la IU web están disponibles en el puerto
6080 del primer nodo principal del clúster.
Consulta también lo siguiente:
Instala el componente
Instala el componente cuando crees un clúster de Dataproc. Los componentes se pueden agregar a los clústeres creados con Dataproc la versión 1.3 y las posteriores. El componente Ranger requiere la instalación del Solr.
Consulta las versiones compatibles de Dataproc para la versión del componente incluida en cada versión de la imagen de Dataproc.
Pasos de instalación:
Configura tu contraseña
adminde Ranger:- Otorga la
función Encriptador/Desencriptador de CryptoKey de Cloud Key Management Service
a la cuenta de servicio del clúster. De forma predeterminada, la cuenta de servicio del clúster
se establece como la cuenta de servicio predeterminada de Compute Engine, que tiene el siguiente formato:
Puedes especificar una cuenta de servicio del clúster diferente cuando creas el clúster.project-number-compute@developer.gserviceaccount.com
- Ejemplo:
Otorga la función Encriptador/Desencriptador de CryptoKey de 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:
Otorga la función Encriptador/Desencriptador de CryptoKey de Cloud KMS
a la cuenta de servicio predeterminada de Compute Engine:
- Encripta tu contraseña
adminde Ranger con una clave de Key Management Service (KMS). Para los clústeres con versiones de imagen anteriores a la 2.2, la contraseña debe constar de al menos 8 caracteres, con al menos un carácter alfabético y uno numérico. Para los clústeres con versiones de imagen 2.2 y posteriores, la contraseña debe constar de al menos 8 caracteres, con al menos una letra mayúscula, una letra minúscula, y un carácter numérico.- Ejemplo:
- Crea el llavero 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
- Encripta tu contraseña del usuario
adminde 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 llavero de claves:
- Ejemplo:
- Sube la contraseña encriptada a un
bucket de Cloud Storage en tu proyecto.
- Ejemplo:
gcloud storage cp admin-password.encrypted gs://my-bucket
- Ejemplo:
- Otorga la
función Encriptador/Desencriptador de CryptoKey de Cloud Key Management Service
a la cuenta de servicio del clúster. De forma predeterminada, la cuenta de servicio del clúster
se establece como la cuenta de servicio predeterminada de Compute Engine, que tiene el siguiente formato:
Cree su clúster
- Al instalar el componente Ranger, también se debe instalar el
componente Solr.
- 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 borran cuando se borra el clúster. A fin de configurar el componente de Solr para almacenar datos, incluidos los registros de auditoría de Ranger, en Cloud Storage, usa la propiedad de clúster
dataproc:solr.gcs.path=gs://<bucket>cuando crees tu clúster. Los datos de Cloud Storage se conservan después de que se borra 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 borran cuando se borra el clúster. A fin de configurar el componente de Solr para almacenar datos, incluidos los registros de auditoría de Ranger, en Cloud Storage, usa la propiedad de clúster
- Pasa los URI de Cloud Storage de la clave y la contraseña de KMS al
comando de creación de clústeres. Para ello, configura las
dataproc:ranger.kms.key.uriydataproc:ranger.admin.password.uripropiedades del clúster. - Opcionalmente, puedes pasar la contraseña de usuario
adminde la base de datos de Ranger a través de un URI de archivo de Cloud Storage encriptado si estableces la propiedad de clústerdataproc:ranger.db.admin.password.uri. - De forma predeterminada, el componente Ranger usa la instancia de la base de datos de MySql que se ejecuta
en el primer nodo de la instancia principal del clúster. En la instancia de MySQL,
habilita la marca
log_bin_trust_function_creatorsconfigurando la variable enON. Configurar esta marca controla si se puede confiar en los creadores de funciones almacenadas. Después de la creación correcta del clúster y la configuración de Ranger, puedes restablecerlog_bin_trust_function_creatorsaOFF. Para conservar la base de datos de Ranger después de la eliminación del clúster, usa una instancia de Cloud SQL como la base de datos externa de MySql.
- Configura la propiedad de clúster
dataproc:ranger.cloud-sql.instance.connection.nameen la instancia de Cloud SQL. - Establece la propiedad de clúster
dataproc:ranger.cloud-sql.root.password.urien el URI de Cloud Storage de la contraseña raíz encriptada con clave de KMS correspondiente a la instancia de Cloud SQL. - Establece la propiedad de clúster
dataproc:ranger.cloud-sql.use-private-ippara indicar si la conexión a la instancia de Cloud SQL es sobre 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, haz lo siguiente:
- Configura el permiso de la API
sqlservice.admincuando crees el clúster (consulta Autoriza solicitudes con OAuth 2.0). Si usas el comandogcloud dataproc cluster create, agrega el parámetro--scopes=default,sql-admin. - Habilita la API de Administrador de SQL en tu proyecto.
- Asegúrate de que la cuenta de servicio del clúster tenga la función Editor de Cloud SQL.
- Dado que el proxy de autenticación de Cloud SQL en el nodo principal 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 desde el nodo principal 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.
gcloud CLI
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 de 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 debes configurar 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"
Console
- Habilita la puerta de enlace del componente y el componente.
- En la Google Cloud consola, abre la página Dataproc Create a cluster. Se selecciona el panel Configurar clúster.
- En la sección Componentes, sigue estos pasos:
- En Componentes opcionales, selecciona Ranger, Solr y otros componentes opcionales para instalar en tu clúster.
- En Puerta de enlace del componente, selecciona Habilitar puerta de enlace de componentes (consulta Visualiza y accede a las URL de la puerta de enlace de componentes).
- Configura la propiedad de clúster
- Al instalar el componente Ranger, también se debe instalar el
componente Solr.
Haz clic en la pestaña Interfaces web. En Puerta de enlace del componente, haz clic en Ranger para abrir la interfaz web de Ranger. Accede con el nombre de usuario y la contraseña de administrador de Ranger (por ejemplo, "admin").
Registros de administrador de Ranger
Los registros admin de Ranger están disponibles en
Logging como registros ranger-admin-root.