Vous pouvez installer des composants supplémentaires tels que Ranger lorsque vous créez un cluster Dataproc à l'aide de la fonctionnalité Composants facultatifs. Cette page décrit le composant Ranger.
Apache Ranger
est un framework Open Source permettant de gérer les autorisations et les audits
écosystème Hadoop. Le serveur d'administration et l'interface utilisateur Web Ranger sont disponibles sur le port 6080
du premier nœud maître du cluster.
Voir également:
Installer le composant
Installez le composant lorsque vous créez un cluster Dataproc. Des composants peuvent être ajoutés aux clusters créés avec Dataproc version 1.3 et ultérieure. Le composant Ranger nécessite l'installation du composant Solr, comme indiqué ci-dessous.
Consultez la section Versions Dataproc compatibles pour obtenir la version de composant incluse dans chaque version d'image Dataproc.
Procédure d'installation
Configurez le mot de passe administrateur Ranger :
- Accordez le rôle Cloud KMS CryptoKey Encrypter/Decrypter au compte de service du cluster : Par défaut, le compte de service de cluster est défini comme compte de service Compute Engine par défaut, qui se présente sous la forme suivante :
Vous pouvez spécifier un compte de service de cluster différent lors de la création du cluster, ci-dessous.project-number-compute@developer.gserviceaccount.com
- Exemple : Accordez le rôle Cloud KMS CryptoKey Encrypter/Decrypter au compte de service Compute Engine par défaut :
gcloud projects add-iam-policy-binding project-id \ --member=serviceAccount:project-number-compute@developer.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyDecrypter
- Exemple : Accordez le rôle Cloud KMS CryptoKey Encrypter/Decrypter au compte de service Compute Engine par défaut :
- Chiffrez le mot de passe administrateur Ranger à l'aide d'une clé Key Management Service (KMS).
Pour les clusters de versions d'image antérieures à la version 2.2, le mot de passe doit comporter au moins
Huit caractères, dont au moins une lettre et un chiffre. Pour
les clusters des versions d'image 2.2 et ultérieures, le mot de passe doit comporter au moins
8 caractères, dont au moins une lettre majuscule, une lettre minuscule
et un caractère numérique.
- Exemple :
- Créez le trousseau de clés :
gcloud kms keyrings create my-keyring --location=global
- Créez la clé :
gcloud kms keys create my-key \ --location=global \ --keyring=my-keyring \ --purpose=encryption
- Chiffrer le mot de passe administrateur Ranger :
echo 'my-ranger-admin-password' | \ gcloud kms encrypt \ --location=global \ --keyring=my-keyring \ --key=my-key \ --plaintext-file=- \ --ciphertext-file=admin-password.encrypted
- Créez le trousseau de clés :
- Exemple :
- Importez le mot de passe chiffré dans un bucket Cloud Storage de votre projet.
- Exemple :
gcloud storage cp admin-password.encrypted gs://my-bucket
- Exemple :
- Accordez le rôle Cloud KMS CryptoKey Encrypter/Decrypter au compte de service du cluster : Par défaut, le compte de service de cluster est défini comme compte de service Compute Engine par défaut, qui se présente sous la forme suivante :
Créez votre cluster :
- Lors de l'installation du composant Ranger, le composant Solr doit également être installé, comme indiqué ci-dessous.
- Le composant Ranger s'appuie sur le composant Solr pour stocker et interroger ses journaux d'audit. Ce composant utilise par défaut HDFS comme espace de stockage. Ces données HDFS sont supprimées lorsque le cluster est supprimé. Pour configurer le composant Solr afin de stocker des données, y compris les journaux d'audit Ranger, sur Cloud Storage, utilisez la propriété de cluster
dataproc:solr.gcs.path=gs://<bucket>
lorsque vous créez votre cluster. Les données Cloud Storage sont conservées après la suppression du cluster.
- Le composant Ranger s'appuie sur le composant Solr pour stocker et interroger ses journaux d'audit. Ce composant utilise par défaut HDFS comme espace de stockage. Ces données HDFS sont supprimées lorsque le cluster est supprimé. Pour configurer le composant Solr afin de stocker des données, y compris les journaux d'audit Ranger, sur Cloud Storage, utilisez la propriété de cluster
- Transmettez les URI de clé KMS et de mot de passe Cloud Storage à la commande de création de cluster en définissant les propriétés du cluster
dataproc:ranger.kms.key.uri
etdataproc:ranger.admin.password.uri
. - Vous pouvez également transmettre le mot de passe administrateur de la base de données Ranger via un URI de fichier Cloud Storage chiffré en définissant la propriété de cluster
dataproc:ranger.db.admin.password.uri
. - Par défaut, le composant Ranger utilise l'instance de base de données MySQL exécutée sur le premier nœud maître du cluster. Dans l'instance MySQL, activez l'option
log_bin_trust_function_creators
en définissant la variable surON
. Cet indicateur permet de contrôler si les créateurs de fonctions stockées peuvent faire confiance. Une fois la création du cluster et la configuration de Ranger terminées, vous pouvez réinitialiserlog_bin_trust_function_creators
surOFF
. Pour conserver la base de données Ranger après la suppression du cluster, utilisez une instance Cloud SQL en tant que base de données MySQL externe.
- Définissez la propriété de cluster
dataproc:ranger.cloud-sql.instance.connection.name
sur l'instance Cloud SQL. - Définissez la propriété de cluster
dataproc:ranger.cloud-sql.root.password.uri
sur l'URI Cloud Storage du mot de passe racine chiffré par clé KMS de l'instance Cloud SQL. - Définissez la propriété de cluster
dataproc:ranger.cloud-sql.use-private-ip
pour indiquer si la connexion à l'instance Cloud SQL s'effectue via une adresse IP privée.
Le composant Ranger utilise le proxy Cloud SQL pour se connecter à l'instance Cloud SQL. Pour utiliser le proxy :
- Définissez le champ d'application de l'API
sqlservice.admin
lorsque vous créez le cluster (consultez la section Autoriser des requêtes avec OAuth 2.0). Si vous utilisez la commandegcloud dataproc cluster create
, ajoutez le paramètre--scopes=default,sql-admin
. - Activez l'API SQL Admin dans votre projet.
- Assurez-vous que le compte de service du cluster dispose du rôle Éditeur Cloud SQL.
Commande gcloud
Pour créer un cluster Dataproc incluant le composant Ranger, exécutez la commande gcloud dataproc clusters create cluster-name avec l'option
.--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
Spécifiez les composants Ranger et Solr dans le champ SoftwareConfig.Component dans le cadre d'une requête clusters.create de l'API Dataproc. Vous devez également définir les propriétés de cluster suivantes dans le champ 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
- Activez le composant et la passerelle des composants.
- Dans la console Google Cloud, ouvrez Dataproc Créer un cluster . Le panneau "Configurer un cluster" est sélectionné.
- Dans la section "Composants" :
- Sous "Composants facultatifs", sélectionnez "Ranger", "Solr" et les autres composants facultatifs à installer sur votre cluster.
- Sous "Passerelle des composants", sélectionnez "Activer la passerelle des composants" (consultez la section Afficher les URL de la passerelle des composants et y accéder).
- Définissez la propriété de cluster
- Lors de l'installation du composant Ranger, le composant Solr doit également être installé, comme indiqué ci-dessous.
Cliquez sur l'onglet Interfaces Web. Sous Passerelle des composants, cliquez sur Ranger. pour ouvrir l'interface Web de Ranger. Se connecter avec le nom d'utilisateur de l'administrateur Ranger (par exemple, "admin") et votre mot de passe.
Journaux pour les activités d'administration Ranger
Les journaux pour les activités d'administration Ranger sont disponibles dans Logging en tant que journaux ranger-admin-root
.