Activation de Ranger pour Trino

  1. Accédez à l'interface Apache Ranger.
  2. Modifiez le rôle de l'utilisateur Trino en Admin. Le rôle Admin est requis pour télécharger les politiques.
  3. Accédez par SSH au premier noeud principal (mn0) de votre grappe ODH où le coordinateur Trino est installé en tant qu'utilisateur opc.
  4. Accédez à 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. Mettez à jour les entrées suivantes dans le fichier install.properties.
    POLICY_MGR_URL= https://hostname-of-node-where-ranger-runs:ranger-port
    REPOSITORY_NAME= trino_auth

    Par défaut, Ranger s'exécute sur le premier noeud d'utilitaire (un0).

    Important

    Notez la valeur de REPOSITORY_NAME car elle sera nécessaire plus tard.
  6. Exécutez le script enable-trino-plugin.sh en tant qu'utilisateur 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. Naviguez jusqu'au répertoire de configuration de Trino /etc/trino/conf.
  8. Mettez à jour le fichier access-control.properties en ajoutant les entrées suivantes.
    $ 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. Accédez à l'interface Apache Ranger.
  10. Ajoutez un nouveau service sous Trino en indiquant le nom de service que vous avez spécifié comme nom de référentiel dans install.properties.
  11. Ajoutez une politique de niveau catalogue pour le catalogue system. Accordez les autorisations select, use et execute à tous les utilisateurs (USER).
  12. Ajoutez une politique de niveau schéma pour le catalogue system et pour information_schema et runtime. Accordez les autorisations select et execute à tous les utilisateurs (USER).
  13. Modifiez la politique all function et mettez à jour la condition ALLOW pour accorder à tous les utilisateurs (USER) l'autorisation execute.
  14. Accédez à l'interface Apache Ambari.
  15. Redémarrez Trino.
  16. Consultez le journal du serveur Trino. Voici ce que vous devez voir :
    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 ========