Apache Ranger™ y Ranger KMS

Este manual es una guía de instalación de Apache Ranger™ y Ranger KMS.

Prerrequisitos

Instale los prerrequisitos para el procedimiento de build de Ranger.

Maven

  1. Descargue la última versión de Maven en Downloading Apache Maven o:

    cd /usr/local
    wget https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz
    tar -xvf apache-maven-<Version>-bin.tar.gz
  2. Edite el archivo que carga las variables de entorno del GHDP:

    vim /etc/profile.d/hadoop_setup.sh
    ...
    # MAVEN (to Ranger)
    export M2_VERSION=$(ls -A /usr/local/ | grep apache-maven- | grep -v .gz | awk -F '-' '{print $3}')
    export M2_HOME=/usr/local/apache-maven-$M2_VERSION
    export M2=$M2_HOME/bin
    ...
  3. Verifique si la instalación se realizó correctamente:

    mvn -version

Otros requisitos

Instale los otros requisitos necesarios:

yum -y install git
yum -y install gcc
yum -y install g++
yum install bzip2 -y
yum -y install java-1.8.0-openjdk-devel
yum -y install python3

Build de Ranger

  1. Descargue el source de Ranger más actualizado que se adecue a la versión de su OS y Java, en el sitio oficial de Ranger o:

    wget https://dlcdn.apache.org/ranger/2.3.0/apache-ranger-2.3.0.tar.gz
    tar -xvf apache-ranger-2.3.0.tar.gz
    cd ./apache-ranger-2.3.0
  2. Haga el build de Ranger utilizando Maven:

    mvn clean compile package install
  3. Si ocurre un error de acceso inseguro, debido a certificado vencido en algún enlace de repositorio, ejecute el build de la siguiente forma:

    mvn clean compile package install -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true
  4. Finalice el procedimiento de build con el siguiente comando:

    mvn eclipse:eclipse
  5. Al final, se generará una carpeta llamada target con todos los componentes de Ranger.

    cd ./target
    ls -l
    
    total 1328820
    drwxr-xr-x. 2 root root      4096 Dec 15 14:34 antrun
    -rw-r--r--. 1 root root        87 Dec 15 14:34 checkstyle-cachefile
    -rw-r--r--. 1 root root      9216 Dec 15 14:34 checkstyle-checker.xml
    -rw-r--r--. 1 root root     20369 Dec 15 14:34 checkstyle-header.txt
    -rw-r--r--. 1 root root        81 Dec 15 14:34 checkstyle-result.xml
    -rw-r--r--. 1 root root      1144 Dec 15 14:34 checkstyle-suppressions.xml
    drwxr-xr-x. 3 root root      4096 Dec 15 14:34 maven-shared-archive-resources
    -rw-r--r--. 1 root root 518758611 Dec 15 14:34 ranger-2.3.0-admin.tar.gz
    -rw-r--r--. 1 root root  41566842 Dec 15 14:34 ranger-2.3.0-atlas-plugin.tar.gz
    -rw-r--r--. 1 root root  36041635 Dec 15 14:34 ranger-2.3.0-elasticsearch-plugin.tar.gz
    -rw-r--r--. 1 root root  36975553 Dec 15 14:34 ranger-2.3.0-hbase-plugin.tar.gz
    -rw-r--r--. 1 root root  35537921 Dec 15 14:34 ranger-2.3.0-hdfs-plugin.tar.gz
    -rw-r--r--. 1 root root  35327622 Dec 15 14:34 ranger-2.3.0-hive-plugin.tar.gz
    -rw-r--r--. 1 root root  54580246 Dec 15 14:34 ranger-2.3.0-kafka-plugin.tar.gz
    drwxr-xr-x. 7 root root      4096 Dec 15 14:34 ranger-2.3.0-kms
    -rw-r--r--. 1 root root 195191513 Dec 15 14:34 ranger-2.3.0-kms.tar.gz
    -rw-r--r--. 1 root root  49243221 Dec 15 14:34 ranger-2.3.0-knox-plugin.tar.gz
    -rw-r--r--. 1 root root  34477047 Dec 15 14:34 ranger-2.3.0-kylin-plugin.tar.gz
    -rw-r--r--. 1 root root     34007 Dec 15 14:34 ranger-2.3.0-migration-util.tar.gz
    -rw-r--r--. 1 root root  41233187 Dec 15 14:34 ranger-2.3.0-ozone-plugin.tar.gz
    -rw-r--r--. 1 root root  55205632 Dec 15 14:34 ranger-2.3.0-presto-plugin.tar.gz
    -rw-r--r--. 1 root root  15803444 Dec 15 14:34 ranger-2.3.0-ranger-tools.tar.gz
    -rw-r--r--. 1 root root    905882 Dec 15 14:34 ranger-2.3.0-schema-registry-plugin.jar
    -rw-r--r--. 1 root root     37302 Dec 15 14:34 ranger-2.3.0-solr_audit_conf.tar.gz
    -rw-r--r--. 1 root root     40595 Dec 15 14:34 ranger-2.3.0-solr_audit_conf.zip
    -rw-r--r--. 1 root root  36130187 Dec 15 14:34 ranger-2.3.0-solr-plugin.tar.gz
    -rw-r--r--. 1 root root  34715214 Dec 15 14:34 ranger-2.3.0-sqoop-plugin.tar.gz
    -rw-r--r--. 1 root root   6315989 Dec 15 14:34 ranger-2.3.0-src.tar.gz
    -rw-r--r--. 1 root root  49575156 Dec 15 14:34 ranger-2.3.0-storm-plugin.tar.gz
    -rw-r--r--. 1 root root  30112906 Dec 15 14:34 ranger-2.3.0-tagsync.tar.gz
    -rw-r--r--. 1 root root  19205167 Dec 15 14:34 ranger-2.3.0-usersync.tar.gz
    -rw-r--r--. 1 root root  33381584 Dec 15 14:34 ranger-2.3.0-yarn-plugin.tar.gz
    -rw-r--r--. 1 root root    196038 Dec 15 14:34 rat.txt
    -rw-r--r--. 1 root root         5 Dec 15 14:34 version

Instalación de Solr

Consulte en el Sitio Oficial de Solr cuál es la mejor versión de Solr para su sistema.

  1. Acceda a la carpeta de build de Ranger, conforme realizado en el tópico anterior.

  2. Dentro de esa carpeta, acceda a la carpeta del instalador de Solr, en la que será preconfigurado para uso con Ranger:

    cd ~/apache-ranger-2.3.0
    cd ./security-admin/contrib/solr_for_audit_setup/
  3. Cree la carpeta de Solr conforme la versión elegida:

    mkdir -p /usr/gdp/hadoop/solr/8.11.2/
  4. Edite el archivo install.properties:

    vim install.properties
    ...
    SOLR_INSTALL=true
    SOLR_DOWNLOAD_URL=https://dlcdn.apache.org/lucene/solr/8.11.2/solr-8.11.2.tgz
    SOLR_LOG_FOLDER=/var/log/hadoop/solr/ranger_audits
    ...
    
    :wq
    sed -i 's/\/opt\/solr/\/usr\/gdp\/hadoop\/solr\/8.11.2/g' install.properties
  5. Ejecute el script setup.sh y verifique los procedimientos de start según indicado por el log de instalación:

    chmod +x setup.sh
    ./setup.sh
    
    less /usr/gdp/hadoop/solr/8.11.2/ranger_audit_server/install_notes.txt
  6. Inicie Solr:

    /usr/gdp/hadoop/solr/8.11.2/ranger_audit_server/scripts/start_solr.sh

Instalación y configuración de Ranger Admin

  1. Cree la carpeta de Ranger Admin:

    mkdir -p /usr/gdp/hadoop/ranger/2.3.0/ranger-admin
  2. Acceda a la carpeta target, generada en el procedimiento de build, y descomprima el archivo ranger-2.3.0-admin.tar.gz:

    cd ./apache-ranger-2.3.0/target
    tar -xvf ranger-2.3.0-admin.tar.gz
  3. Copie todos los archivos dentro de la carpeta descomprimida a la carpeta ranger-admin.

    cd ranger-2.3.0-admin
    cp -R * /usr/gdp/hadoop/ranger/2.3.0/ranger-admin/
  4. En la base de datos, cree el usuario rangerdba de la siguiente forma:

    mysql -uroot -p
    SET GLOBAL validate_password_policy=LOW;
    
    CREATE USER 'rangerdba'@'localhost' IDENTIFIED BY 'rangerdba';
    
    GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'localhost';
    
    CREATE USER 'rangerdba'@'%' IDENTIFIED BY 'rangerdba';
    
    GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'%';
    
    GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'localhost' WITH GRANT OPTION;
    
    GRANT ALL PRIVILEGES ON *.* TO 'rangerdba'@'%' WITH GRANT OPTION;
    
    FLUSH PRIVILEGES;
  5. Si no está instalado, instale el mysql-connector-java y verifique si el archivo mysql-connector-java.jar está en la carpeta correcta:

    yum install mysql-connector-java
    ls /usr/share/java/mysql-connector-java.jar
  6. Cree la carpeta de registros para Ranger Admin:

    mkdir -p /var/log/hadoop/ranger/ranger-admin
  7. En la carpeta de Ranger Admin, edite el archivo install.properties:

    cd /usr/gdp/hadoop/ranger/2.3.0/ranger-admin/
    vim install.properties
    ...
    db_root_user=rangerdba
    db_root_password=rangerdba
    db_host=localhost
    
    db_name=ranger
    db_user=rangerdba
    db_password=rangerdba
    
    rangerAdmin_password=Griaule.123
    rangerTagsync_password=Griaule.123
    rangerUsersync_password=Griaule.123
    keyadmin_password=Griaule.123
    
    audit_solr_urls=http://localhost:6083/solr/ranger_audits
    
    policymgr_supportedcomponents=hbase,hdfs,kafka,kms
    
    authentication_method=UNIX
    remoteLoginEnabled=true
    authServiceHostName=localhost
    authServicePort=5151
    
    hadoop_conf=/etc/hadoop/hdfs/conf/
    
    RANGER_ADMIN_LOG_DIR=/var/log/hadoop/ranger/ranger-admin
    ...
  8. Ejecute el script de setup:

    ./setup.sh
  9. Agregue permisos para las carpetas de Ranger y registros y agregue el usuario ranger al grupo hadoop.

    chown -R ranger: /usr/gdp/hadoop/ranger/
    chown -R ranger: /var/log/hadoop/ranger/
    usermod -a -G hadoop ranger
  10. Para inicializar Ranger Admin utilice el comando:

    ranger-admin start
  11. Acceda al enlace e ingrese el usuario admin y la contraseña preconfigurada.

    http://<my_ip>:6080/

En este contexto, la contraseña preconfigurada siempre será Griaule.123.

Instalación de Ranger UserSync

  1. En la carpeta de build de Ranger, cree una carpeta para Ranger UserSync llamada ranger-usersync, descomprima el archivo tar.gz correspondiente a la aplicación y copie todos los archivos a la carpeta creada:

    mkdir -p /usr/gdp/hadoop/ranger/2.3.0/ranger-usersync
    tar -xvf ranger-2.3.0-usersync.tar.gz
    cd ranger-2.3.0-usersync
    cp -R * /usr/gdp/hadoop/ranger/2.3.0/ranger-usersync
  2. Cree la carpeta de registros y conceda acceso al usuario ranger a las carpetas /usr/gdp/hadoop/ranger/ y /var/log/hadoop/ranger/:

    mkdir -p /var/log/hadoop/ranger/ranger-usersync
    chown -R ranger: /usr/gdp/hadoop/ranger/
    chown -R ranger: /var/log/hadoop/ranger/
  3. En la carpeta ranger-usersync, edite el archivo install.properties de la siguiente forma:

    cd /usr/gdp/hadoop/ranger/2.3.0/ranger-usersync
    vim install.properties
    ...
    POLICY_MGR_URL = http://<ip_addr>:6080
    
    SYNC_SOURCE = unix
    
    SYNC_INTERVAL = 5
    
    rangerUsersync_password=Griaule.123 # misma contraseña que se definió para él en ranger-admin
    
    hadoop_conf=/etc/hadoop/hdfs/conf
    
    logdir=/var/log/hadoop/ranger/ranger-usersync
    ...
  4. Cambie el path predeterminado de la aplicación de /etc/ranger a /usr/gdp/hadoop/ranger/2.3.0/ranger-usersync/ranger:

    sed -i 's/\/etc\/ranger/\/usr\/gdp\/hadoop\/ranger\/2.3.0\/ranger-usersync\/ranger/g' install.properties
  5. Ejecute el script setup.sh:

    ./setup.sh
  6. Cambie la configuración para habilitar la sincronización del UserSync:

    vim /usr/gdp/hadoop/ranger/2.3.0/ranger-usersync/conf/ranger-ugsync-site.xml
    <property>
      <name>ranger.usersync.enabled</name>
      <value>true</value>
    </property>
  7. Después de la instalación con resultado successfully, inicie el servicio utilizando el script ranger-usersync-services.sh:

    # Inicialización:
    ./ranger-usersync-services.sh start
    
    # Parada:
    ./ranger-usersync-services.sh stop

Instalación de Plugins

Los plugins no son necesarios para el funcionamiento de Ranger KMS. Son solo recursos disponibles para auditoría de los recursos de Hadoop.

Plugin HDFS

  1. Cree la carpeta ranger-hdfs-plugin conforme a la estructura del GHDP:

    mkdir -p /usr/gdp/hadoop/ranger/2.3.0/ranger-hdfs-plugin
  2. En la carpeta de build del Ranger, descomprima el archivo ranger-2.3.0-hdfs-plugin.tar.gz y copie todos los archivos a la carpeta creada anteriormente:

    cd ./apache-ranger-2.3.0/target/
    tar -xvf ranger-2.3.0-hdfs-plugin.tar.gz
    cd ranger-2.3.0-hdfs-plugin
    cp -R * /usr/gdp/hadoop/ranger/2.3.0/ranger-hdfs-plugin
  3. En la carpeta del plugin, edite el archivo install.properties:

    cd /usr/gdp/hadoop/ranger/2.3.0/ranger-hdfs-plugin
    vim install.properties
    ...
    POLICY_MGR_URL=http://<host_addrs>:6080
    
    REPOSITORY_NAME=hadoopdev
    
    COMPONENT_INSTALL_DIR_NAME=/usr/gdp/hadoop/hdfs/3.2.4/
    
    XAAUDIT.SOLR.ENABLE = true
    XAAUDIT.SOLR.URL = http://<host_addrs>:6083/solr/ranger_audits
    XAAUDIT.SOLR.USER = NONE
    XAAUDIT.SOLR.PASSWORD = NONE
    XAAUDIT.SOLR.ZOOKEEPER = NONE
    XAAUDIT.SOLR.FILE_SPOOL_DIR = /var/log/hadoop/hdfs/audit/solr/spool
    ...
  4. Si existe más de un NameNode, cree la misma estructura de carpetas y copie todo el contenido a los demás NameNodes con scp:

    Este procedimiento debe realizarse antes de la habilitación del plugin.

    # NameNode2
    mkdir -p /usr/gdp/hadoop/ranger/2.3.0/ranger-hdfs-plugin
    
    # NameNode1
    scp -r * root@localhost:/usr/gdp/hadoop/ranger/2.3.0/ranger-hdfs-plugin/
    
    # NameNode2
    cd /usr/gdp/hadoop/ranger/2.3.0/ranger-hdfs-plugin
    ls -l
  5. Habilite el plugin ejecutando el script enable-hdfs-plugin.sh:

    ./enable-hdfs-plugin.sh
  6. Conéctese al Ranger Admin UI. En la pantalla principal, en HDFS, haga clic en el botón + y rellene los campos con la siguiente información:

    • Service Name: hadoopdev

    • Display Name: hadoopdev

    • Username: hadoop (Usuario UNIX)

    • Password: <contraseña creada para el usuario hadoop en UNIX>

    • NameNode URL: hdfs://localhost:50070

    • Authentication Type: Simple

  7. Mantenga el resto de las configuraciones sin cambios y haga clic en el botón Add.

  8. Reinicie el cluster.

Plugin HBase

  1. Cree la carpeta ranger-hbase-plugin conforme a la estructura del GHDP.

    mkdir -p /usr/gdp/hadoop/ranger/2.3.0/ranger-hbase-plugin
  2. En la carpeta de build del Ranger, descomprima el archivo ranger-2.3.0-hbase-plugin.tar.gz y copie todos los archivos a la carpeta creada anteriormente:

    cd ./apache-ranger-2.3.0/target/
    tar -xvf ranger-2.3.0-hbase-plugin.tar.gz
    cd ranger-2.3.0-hbase-plugin
    cp -R * /usr/gdp/hadoop/ranger/2.3.0/ranger-hbase-plugin
  3. En la carpeta del plugin, edite el archivo install.properties:

    vim install.properties
    ...
    POLICY_MGR_URL=http://localhost:6080
    
    REPOSITORY_NAME=hbasedev
    
    COMPONENT_INSTALL_DIR_NAME=/usr/gdp/hadoop/hbase/2.5.1
    
    XAAUDIT.SOLR.ENABLE=true
    XAAUDIT.SOLR.URL=http://localhost:6083/solr/ranger_audits
    XAAUDIT.SOLR.USER=NONE
    XAAUDIT.SOLR.PASSWORD=NONE
    XAAUDIT.SOLR.ZOOKEEPER=NONE
    XAAUDIT.SOLR.FILE_SPOOL_DIR=/var/log/hadoop/hbase/audit/solr/spool
    
    XAAUDIT.SOLR.IS_ENABLED=true
    XAAUDIT.SOLR.MAX_QUEUE_SIZE=1
    XAAUDIT.SOLR.MAX_FLUSH_INTERVAL_MS=1000
    XAAUDIT.SOLR.SOLR_URL=http://localhost:6083/solr/ranger_audits
    ...
  4. Cree la misma estructura de carpetas y copie todo el contenido a Master y Regional:

    Este procedimiento debe realizarse antes de la habilitación del plugin.

    # node2 & node3
    mkdir -p /usr/gdp/hadoop/ranger/2.3.0/ranger-hbase-plugin
    
    # node1
    scp -r * root@localhost:/usr/gdp/hadoop/ranger/2.3.0/ranger-hbase-plugin/
    scp -r * root@localhost:/usr/gdp/hadoop/ranger/2.3.0/ranger-hbase-plugin/
    
    # node2 & node3
    cd /usr/gdp/hadoop/ranger/2.3.0/ranger-hbase-plugin
    ls -l
  5. Cree un usuario hbase y habilite el plugin ejecutando el script enable-hbase-plugin.sh:

    useradd hbase
    passwd hbase
    ./enable-hbase-plugin.sh
  6. Conéctese al Ranger Admin UI. En la pantalla principal, en HDFS, haga clic en el botón + y rellene los campos con la siguiente información:

    • Service Name: hadoopdev

    • Display Name: hadoopdev

    • Username: hbase (Usuario UNIX)

    • Password: <contraseña creada para el usuario hbase en UNIX>

    • hadoop.security.authentication: Simple

    • hbase.security.authentication: Simple

    • hbase.zookeeper.property.clientPort: 2181

    • hbase.zookeeper.quorum: ,,

    • zookeeper.znode.parent: /hbase-unsecure

  7. Mantenga el resto de las configuraciones sin cambios y haga clic en el botón Add.

  8. Reinicie el cluster.

Plugin Kafka

  1. Cree la carpeta ranger-kafka-plugin conforme a la estructura del GHDP:

    mkdir -p /usr/gdp/hadoop/ranger/2.3.0/ranger-kafka-plugin
  2. En la carpeta de build del Ranger, descomprima el archivo ranger-2.3.0-kafka-plugin.tar.gz y copie todos los archivos a la carpeta creada anteriormente:

    cd ./apache-ranger-2.3.0/target/
    tar -xvf ranger-2.3.0-kafka-plugin.tar.gz
    cd ranger-2.3.0-kafka-plugin
    cp -R * /usr/gdp/hadoop/ranger/2.3.0/ranger-kafka-plugin
  3. En la carpeta del plugin, edite el archivo install.properties:

    vim install.properties
    ...
    COMPONENT_INSTALL_DIR_NAME=/usr/gdp/hadoop/kafka/3.3.1/
    
    POLICY_MGR_URL=http://localhost:6080
    
    REPOSITORY_NAME=kafkadev
    
    XAAUDIT.SOLR.ENABLE=true
    XAAUDIT.SOLR.URL=http://localhost:6083/solr/ranger_audits
    XAAUDIT.SOLR.USER=NONE
    XAAUDIT.SOLR.PASSWORD=NONE
    XAAUDIT.SOLR.ZOOKEEPER=NONE
    XAAUDIT.SOLR.FILE_SPOOL_DIR=/var/log/hadoop/kafka/audit/solr/spool
    
    XAAUDIT.SOLR.IS_ENABLED=true
    XAAUDIT.SOLR.MAX_QUEUE_SIZE=1
    XAAUDIT.SOLR.MAX_FLUSH_INTERVAL_MS=1000
    XAAUDIT.SOLR.SOLR_URL=http://localhost:6083/solr/ranger_audits
    ...
  4. Cree la misma estructura de carpetas y copie todo el contenido a los demás nodos:

    Este procedimiento debe realizarse antes de la habilitación del plugin.

    # node2 & node3
    mkdir -p /usr/gdp/hadoop/ranger/2.3.0/ranger-kafka-plugin
    
    # node1
    scp -r * root@localhost:/usr/gdp/hadoop/ranger/2.3.0/ranger-kafka-plugin
    scp -r * root@localhost:/usr/gdp/hadoop/ranger/2.3.0/ranger-kafka-plugin
    
    # node2 & node3
    cd /usr/gdp/hadoop/ranger/2.3.0/ranger-kafka-plugin
    ls -l
  5. Cree un usuario kafka y habilite el plugin ejecutando el script enable-kafka-plugin.sh:

    useradd kafka
    passwd kafka
    ./enable-kafka-plugin.sh
  6. Conéctese al Ranger Admin UI. En la pantalla principal, en HDFS, haga clic en el botón + y rellene los campos con la siguiente información:

    • Service Name: hadoopdev

    • Display Name: hadoopdev

    • Username: hbase (Usuario UNIX)

    • Password: <contraseña creada para el usuario hbase en UNIX>

    • hadoop.security.authentication: Simple

    • hbase.security.authentication: Simple

    • hbase.zookeeper.property.clientPort: 2181

    • hbase.zookeeper.quorum: ,,

    • zookeeper.znode.parent: /hbase-unsecure

  7. Mantenga el resto de las configuraciones sin cambios y haga clic en el botón Add.

  8. Reinicie el cluster.

Instalación y configuración de Ranger KMS

Instalación de Ranger KMS

  1. Cree la carpeta ranger-kms conforme a la estructura del GHDP:

    mkdir -p /usr/gdp/hadoop/ranger/2.3.0/ranger-kms
  2. En el servidor MySQL, cree un usuario rangerkms para la gestión de la base hecha por la aplicación:

    mysql -uroot -p
    CREATE USER 'rangerkms'@'localhost' IDENTIFIED BY 'rangerkms';
    
    GRANT ALL PRIVILEGES ON *.* TO 'rangerkms'@'localhost';
    
    CREATE USER 'rangerkms'@'%' IDENTIFIED BY 'rangerkms';
    
    GRANT ALL PRIVILEGES ON *.* TO 'rangerkms'@'%';
    
    GRANT ALL PRIVILEGES ON *.* TO 'rangerkms'@'localhost' WITH GRANT OPTION;
    
    GRANT ALL PRIVILEGES ON *.* TO 'rangerkms'@'%' WITH GRANT OPTION;
    
    FLUSH PRIVILEGES;
  3. En la carpeta de build del Ranger, descomprima Ranger KMS y copie todos los archivos a la carpeta creada anteriormente:

    cd ./apache-ranger-2.3.0/target/
    tar -xvf ranger-2.3.0-kms.tar.gz
    cd ranger-2.3.0-kms
    cp -R * /usr/gdp/hadoop/ranger/2.3.0/ranger-kms/
  4. Cree la carpeta de registros para Ranger KMS:

    mkdir -p /var/log/hadoop/ranger/ranger-kms/
  5. Usando un generador de contraseñas, cree una contraseña con los siguientes parámetros y guárdela en un lugar seguro (se usará en el paso siguiente):

    • 16 caracteres

    • Letras mayúsculas

    • Letras minúsculas

    • Caracteres especiales.

  6. En la carpeta de Ranger KMS, edite el archivo install.properties añadiendo configuración para Java Key Store (almacena la master key en un archivo en el propio servidor):

    Use la contraseña de 16 caracteres generada en el paso anterior como KMS_MASTER_KEY_PASSWD. Por ejemplo: $ZH1$Q8&ExUaTku8.

    cd /usr/gdp/hadoop/ranger/2.3.0/ranger-kms/
    vim install.properties
    ...
    db_root_user=rangerkms
    db_root_password=rangerkms
    db_host=localhost
    
    db_name=rangerkms
    db_user=rangerkms
    db_password=rangerkms
    
    COMPONENT_INSTALL_DIR_NAME=/usr/gdp/hadoop/ranger/2.3.0/ranger-kms
    
    KMS_MASTER_KEY_PASSWD=<contraseña de 16 caracteres generada anteriormente>
    
    hadoop_conf=/etc/hadoop/hdfs/conf
    
    POLICY_MGR_URL=http://localhost:6080
    
    REPOSITORY_NAME=kmsdev
    
    XAAUDIT.SOLR.ENABLE=true
    XAAUDIT.SOLR.URL=http://localhost:6083/solr/ranger_audits
    XAAUDIT.SOLR.USER=NONE
    XAAUDIT.SOLR.PASSWORD=NONE
    XAAUDIT.SOLR.ZOOKEEPER=NONE
    XAAUDIT.SOLR.FILE_SPOOL_DIR=/var/log/hadoop/ranger/ranger-kms/audit/solr/spool
    
    XAAUDIT.SOLR.IS_ENABLED=true
    XAAUDIT.SOLR.MAX_QUEUE_SIZE=1
    XAAUDIT.SOLR.MAX_FLUSH_INTERVAL_MS=1000
    XAAUDIT.SOLR.SOLR_URL=http://localhost:6083/solr/ranger_audits
    
    RANGER_KMS_LOG_DIR=/var/log/hadoop/ranger/ranger-kms
    ...

Configuración del Ranger KMS con Luna Cloud HSM

  1. Antes de efectuar el setup del Ranger KMS, es necesario añadir el LunaProvider en el archivo java.security. Para ello, edite el archivo java.security, que se encuentra en la carpeta <JDK_installation_directory>/jre/lib/security, añadiendo dos líneas al final: una con el LunaProvider en la secuencia de la lista de proveedores, security.provider.10=com.safenetinc.luna.provider.LunaProvider, y una con la configuración para que Luna funcione, com.safenetinc.luna.provider.createExtractableKeys=true:

    vim /usr/lib/java/jre/lib/security/java.security
    #
    # List of providers and their preference orders (see above):
    #
    security.provider.1=sun.security.provider.Sun
    security.provider.2=sun.security.rsa.SunRsaSign
    security.provider.3=sun.security.ec.SunEC
    security.provider.4=com.sun.net.ssl.internal.ssl.Provider
    security.provider.5=com.sun.crypto.provider.SunJCE
    security.provider.6=sun.security.jgss.SunProvider
    security.provider.7=com.sun.security.sasl.Provider
    security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
    security.provider.9=sun.security.smartcardio.SunPCSC
    security.provider.10=com.safenetinc.luna.provider.LunaProvider
    
    com.safenetinc.luna.provider.createExtractableKeys=true
  2. Copie los archivos LunaProvider.jar y libLunaAPI.so a la carpeta <JDK_installation_directory/jre/lib/ext.

    cp /usr/safenet/lunaclient/jsp/LunaProvider.jar /usr/lib/java/jre/lib/ext/
    cp /usr/safenet/lunaclient/jsp/64/libLunaAPI.so /usr/lib/java/jre/lib/ext/
  3. Usando un generador de contraseñas, cree una contraseña con los siguientes parámetros y guárdela en un lugar seguro (se usará en el paso siguiente):

    • 16 caracteres

    • Letras mayúsculas

    • Letras minúsculas

    • Caracteres especiales.

  4. Edite el archivo install.properties para el setup del Ranger KMS con el Luna Cloud HSM:

    Use la contraseña de 16 caracteres generada en el paso anterior como KMS_MASTER_KEY_PASSWD. Por ejemplo: $ZH1$Q8&ExUaTku8.

    cd /usr/gdp/hadoop/ranger/2.3.0/ranger-kms/
    vim install.properties
    ...
    db_root_user=rangerkms
    db_root_password=rangerkms
    db_host=localhost
    
    db_name=rangerkms
    db_user=rangerkms
    db_password=rangerkms
    
    COMPONENT_INSTALL_DIR_NAME=/usr/gdp/hadoop/ranger/2.3.0/ranger-kms
    
    KMS_MASTER_KEY_PASSWD=<contraseña de 16 caracteres generada anteriormente>
    
    hadoop_conf=/etc/hadoop/hdfs/conf
    
    #------------------------- Ranger KMS HSM CONFIG ------------------------------
    HSM_TYPE=LunaProvider
    HSM_ENABLED=true
    HSM_PARTITION_NAME=rangerkms
    HSM_PARTITION_PASSWORD=Griaule.123
    
    POLICY_MGR_URL=http://localhost:6080
    
    REPOSITORY_NAME=kmsdev
    
    XAAUDIT.SOLR.ENABLE=true
    XAAUDIT.SOLR.URL=http://localhost:6083/solr/ranger_audits
    XAAUDIT.SOLR.USER=NONE
    XAAUDIT.SOLR.PASSWORD=NONE
    XAAUDIT.SOLR.ZOOKEEPER=NONE
    XAAUDIT.SOLR.FILE_SPOOL_DIR=/var/log/hadoop/ranger/ranger-kms/audit/solr/spool
    
    XAAUDIT.SOLR.IS_ENABLED=true
    XAAUDIT.SOLR.MAX_QUEUE_SIZE=1
    XAAUDIT.SOLR.MAX_FLUSH_INTERVAL_MS=1000
    XAAUDIT.SOLR.SOLR_URL=http://localhost:6083/solr/ranger_audits
    
    RANGER_KMS_LOG_DIR=/var/log/hadoop/ranger/ranger-kms
    ...
  5. En todos el nodos, para que los datanodes accedan al KMS, edite el archivo core-site.xml modificando el value de la propiedad hadoop.security.key.provider.path a kms://http@localhost:9292/kms:

    vim /etc/hadoop/hdfs/conf/core-site.xml
    <property>
      <name>hadoop.security.key.provider.path</name>
      <value>kms://http@localhost:9292/kms</value>
    </property>
  6. Reinicie el HDFS.

    dfsstop
    dfsstart
  7. Conceda al usuario kms los permisos para las carpetas:

    chown -R kms: /var/log/hadoop/ranger/ranger-kms/
    chown -R kms: /usr/gdp/hadoop/ranger/2.3.0/ranger-kms/
  8. Ejecute el script de setup, espere a la finalización de la instalación con el mensaje successfully e inicie el Ranger KMS:

    ./setup.sh
    
    # Iniciar:
    ranger-kms start
    
    # Finalizar:
    ranger-kms stop
  9. Si todo ocurrió con éxito, será posible acceder al panel del Ranger KMS mediante la dirección del Ranger Admin utilizando el usuario keyadmin y la contraseña definida en el procedimiento de instalación del Ranger Admin.

    • Link: http://<my_ip>:6080/

    • User: keyadmin

    • Password: <definida no install.properties durante o setup do Ranger Admin>

  10. Ingrese en el Ranger Admin UI con el usuario admin, acceda a Settings > Users/Groups/Roles. En la pestaña Users, haga clic en el botón Add New User y cree los usuarios:

    • hive

    • hdfs

    • om

    • hbase

  11. A continuación, cierre sesión e inicie como keyadmin para acceder al panel del Ranger KMS UI en el Service KMS. Haga clic en el botón + para crear el repositorio kmsdev, según las especificaciones abajo:

    • Service Name: kmsdev

    • KMS URL: kms://http@:9292/kms

    • Username: keyadmin

    • Password: <contraseña definida en el procedimiento de instalación de Ranger Admin>

  12. En la misma pantalla, en Audit Filter, haga clic en el botón + para añadir una ACL con las siguientes especificaciones:

    • Access Result: ALLOWED

    • Permissions: Select All

    • Users: keyadmin

  13. Haga clic en Add. Luego, haga clic para editar el repositorio kmsdev y haga clic en el botón Test Connection, para confirmar si todo el procedimiento se realizó correctamente.

  14. Reinicie el Ranger KMS:

    ranger-kms stop
    ranger-kms start
  15. En caso de estar utilizando el Luna Cloud HSM, verifique si se creó la master key. Para ello, ejecute el lunacm:

    lunacm

    O:

    cd /usr/safenet/lunaclient/
    ./bin/64/lunacm
  16. Inicie sesión con el role crypto officer:

    role login -name crypto officer
  17. Liste el contenido de la partición para verificar si la master key fue creada con éxito:

    partition contents

    Ejemplo de salida con la master key creada:

    lunacm:>partition contents
    
            The 'Crypto Officer' is currently logged in. Looking for objects
            accessible to the 'Crypto Officer'.
    
            Object list:
    
            Label:         RangerKMSKey
            Handle:        1
            Object Type:   Symmetric Key
            Usage Limit:   none
            Object UID:    9f1d00002d000001706c0800
    
            Number of objects:  1
    
    Command Result : No Error

Activar Load Balancer en Ranger KMS

  1. En un segundo servidor, realice todo el procedimiento de instalación del Ranger KMS.

  1. En el paso 5 de la configuración, en la que es preciso modificar el archivo core-site.xml para que los datanodes accedan al KMS, proceda de la siguiente forma: abra el archivo, encuentre la propiedad hadoop.security.key.provider.path y cambie su value de kms://http@localhost:9292/kms a kms://http@host1;host2:9292/kms:

    vim /etc/hadoop/hdfs/conf/core-site.xml

    Antes:

    <property>
      <name>hadoop.security.key.provider.path</name>
      <value>kms://http@localhost:9292/kms</value>
    </property>

    Después:

    <property>
      <name>hadoop.security.key.provider.path</name>
      <value>kms://http@host1;host2:9292/kms</value>
    </property>
  2. Reinicie el HDFS:

    dfsstop
    dfsstart
  3. Continúe con la finalización del procedimiento de configuración del Ranger KMS, a partir del paso 6.

Desinstalación del Ranger

Para desinstalar el Ranger, ejecute los siguientes comandos:

rm -rf /var/log/ranger /var/log/hadoop/ranger /usr/gdp/hadoop/solr/ /usr/gdp/hadoop/ranger/ /etc/ranger/ /var/log/hadoop/solr/ /var/lib/mysql/ranger/

rm -f /usr/gdp/hadoop/*/*/.ranger*
rm -f /usr/gdp/hadoop/*/*/*/.ranger*
rm -f /usr/gdp/hadoop/*/*/*/*/.ranger*

rm -f /usr/gdp/hadoop/hdfs/3.2.4/etc/hadoop/ranger*
rm -f /usr/gdp/hadoop/hdfs/3.2.4/share/hadoop/hdfs/lib/ranger*

rm -f /usr/bin/ranger*
rm -f /etc/rc.d/init.d/ranger*
rm -f /etc/rc.d/rc2.d/*ranger*
rm -f /etc/rc.d/rc3.d/*ranger*
mysql -uroot -p
show schemas;
drop database ranger;
drop database rangerkms;

Última actualización

¿Te fue útil?