Activación de Ranger para Trino

  1. Acceso a la interfaz de Apache Ranger.
  2. Cambie el rol del usuario de Trino a Admin. El rol de administrador es necesario para descargar políticas.
  3. Utilice SSH para acceder al primer nodo maestro (mn0) del cluster de ODH donde está instalado el coordinador de Trino como usuario opc.
  4. Vaya a trino-ranger-plugin.
    [opc@mn0 ~]$ cd /usr/odh/current/ranger-trino-plugin
    [opc@mn0 ranger-trino-plugin]$ ls
    disable-trino-plugin.sh  enable-trino-plugin.sh  install  install.properties  lib  ranger_credential_helper.py  ranger_credential_helper.pyc  ranger_credential_helper.pyo
    
  5. Actualice las siguientes entradas en el archivo install.properties.
    POLICY_MGR_URL= https://hostname-of-node-where-ranger-runs:ranger-port
    REPOSITORY_NAME= trino_auth

    Por defecto, Ranger se ejecuta en el primer nodo de utilidad (un0).

    Importante

    Tome nota del valor de REPOSITORY_NAME, ya que será necesario más adelante.
  6. Ejecute el script enable-trino-plugin.sh como usuario root.
    [opc@mn0 ranger-trino-plugin]$ sudo su
    [root@mn0 ranger-trino-plugin] export JAVA_HOME=/etc/alternatives/jre_11_openjdk
    [root@mn0 ranger-trino-plugin]$ bash enable-trino-plugin.sh
  7. Vaya al directorio de configuración de Trino /etc/trino/conf.
  8. Actualice el archivo access-control.properties agregando las siguientes entradas.
    $ cat /usr/lib/trino/etc/access-control.properties
    access-control.name=ranger
    ranger.principal=trino/trino-coordinator.example.com@BDSCLOUDSERVICE.ORACLE.COM
    ranger.keytab=/etc/security/keytabs/trino.service.keytab
  9. Acceso a la interfaz de Apache Ranger.
  10. Agregue un nuevo servicio en Trino utilizando el mismo nombre de servicio que ha proporcionado como nombre de repositorio en install.properties.
  11. Agregue una política de nivel de catálogo para el catálogo system. Otorgue los permisos select, use y execute para todos los usuarios (USER).
  12. Agregue una política de nivel de esquema para el catálogo system y el esquema information_schema y runtime. Otorgue los permisos select y execute para todos los usuarios (USER).
  13. Modifique la política all function y actualice la condición ALLOW para otorgar a todos los usuarios (USER) el permiso de ejecución.
  14. Acceda a la interfaz de Apache Ambari.
  15. Reinicie Trino.
  16. Consulte el log del servidor de Trino. Debe mostrar los siguiente.
    2022-03-23T04:51:51.753Z    INFO    main    io.trino.security.AccessControlManager  -- Loaded system access control ranger --
     2022-03-23T04:51:52.254Z    INFO    main    io.trino.server.Server  ======== SERVER STARTED ========