Abilitazione di Ranger per Trino

  1. Accedi all'interfaccia di Apache Ranger.
  2. Modificare il ruolo dell'utente Trino in Admin. Per scaricare i criteri è richiesto il ruolo di amministratore.
  3. SSH al primo nodo principale (mn0) del cluster ODH in cui viene installato il coordinatore Trino come utente opc.
  4. Passare 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. Aggiornare le voci seguenti nel file install.properties.
    POLICY_MGR_URL= https://hostname-of-node-where-ranger-runs:ranger-port
    REPOSITORY_NAME= trino_auth

    Per impostazione predefinita, Ranger viene eseguito sul primo nodo di utility (un0).

    Importante

    Prendere nota del valore REPOSITORY_NAME come necessario in un secondo momento.
  6. Eseguire lo script enable-trino-plugin.sh come utente 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. Passare alla directory di configurazione Trino /etc/trino/conf.
  8. Aggiornare il file access-control.properties aggiungendo le voci seguenti.
    $ 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. Accedi all'interfaccia di Apache Ranger.
  10. Aggiungere un nuovo servizio in Trino utilizzando lo stesso nome di servizio fornito come nome del repository in install.properties.
  11. Aggiungere un criterio a livello di catalogo per il catalogo system. Concedere le autorizzazioni select, use e execute per tutti gli utenti (USER).
  12. Aggiungere un criterio a livello di schema per il catalogo system e lo schema information_schema e runtime. Concedere le autorizzazioni select e execute per tutti gli utenti (USER).
  13. Modificare il criterio all function e aggiornare la condizione ALLOW per concedere a tutti gli utenti (USER) l'autorizzazione di esecuzione.
  14. Accedi all'interfaccia Apache Ambari.
  15. Riavvia Trino.
  16. Visualizzare il log del server Trino. Vedere quanto segue.
    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 ========