Ativando o Ranger para o Trino

  1. Acesse a interface do Apache Ranger.
  2. Altere a atribuição do usuário do Trino para Admin. A atribuição Admin é obrigatória para fazer download das políticas.
  3. Estabeleça SSH no primeiro nó principal (mn0) do cluster ODH em que o coordenador do Trino está instalado como usuário opc.
  4. Navegue até 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. Atualize as entradas a seguir no arquivo install.properties.
    POLICY_MGR_URL= https://hostname-of-node-where-ranger-runs:ranger-port
    REPOSITORY_NAME= trino_auth

    Por padrão, o Ranger é executado no primeiro nó do utilitário (un0).

    Importante

    Anote o valor de REPOSITORY_NAME porque ele será necessário posteriormente.
  6. Execute o script enable-trino-plugin.sh como usuário 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. Navegue até o diretório de configuração do Trino /etc/trino/conf.
  8. Atualize o arquivo access-control.properties adicionando as entradas a seguir.
    $ 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. Acesse a interface do Apache Ranger.
  10. Adicione um novo serviço no Trino usando o mesmo nome de serviço fornecido como nome do repositório em install.properties.
  11. Adicione uma política de nível de catálogo para o catálogo system. Conceda as permissões select, use e execute a todos os usuários (USER).
  12. Adicione uma política de nível de esquema para o catálogo system e o esquema information_schema e runtime. Conceda as permissões select e execute a todos os usuários (USER).
  13. Modifique a política all function e atualize a condição ALLOW para conceder a todos os usuários (USER) a permissão de execução.
  14. Acesse a interface do Apache Ambari.
  15. Reinicie o Trino.
  16. Exiba o log do servidor Trino. Você deverá ver o seguinte.
    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 ========