TrinoでのRangerの有効化

  1. Apache Rangerインタフェースにアクセスします。
  2. TrinoユーザーのロールをAdminに変更します。ポリシーをダウンロードするには、Adminロールが必要です。
  3. opcユーザーとして、TrinoコーディネータがインストールされているODHクラスタの最初のマスター・ノード(mn0)にSSH接続します。
  4. 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. install.propertiesファイルの次のエントリを更新します。
    POLICY_MGR_URL= https://hostname-of-node-where-ranger-runs:ranger-port
    REPOSITORY_NAME= trino_auth

    デフォルトでは、Rangerは最初のユーティリティ・ノード(un0)で実行されます。

    重要

    REPOSITORY_NAMEの値は後で必要になるため、書き留めておいてください。
  6. rootユーザーとしてenable-trino-plugin.shスクリプトを実行します。
    [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. Trino構成ディレクトリ/etc/trino/confに移動します。
  8. 次のエントリを追加して、access-control.propertiesファイルを更新します。
    $ 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. Apache Rangerインタフェースにアクセスします。
  10. install.propertiesでリポジトリ名として指定したものと同じサービス名を使用して、「Trino」で新しいサービスを追加します。
  11. systemカタログのカタログ・レベル・ポリシーを追加します。すべてのユーザー(USER)に対してselectuseおよびexecute権限を付与します。
  12. systemカタログと、information_schemaおよびruntimeスキーマのスキーマ・レベル・ポリシーを追加します。すべてのユーザー(USER)に対してselectおよびexecute権限を付与します。
  13. all functionポリシーを変更し、ALLOW条件を更新してすべてのユーザー(USER)に実行権限を付与します。
  14. Apache Ambariインタフェースにアクセスします。
  15. Trinoを再起動します。
  16. Trinoサーバー・ログを表示します。次のように表示されます。
    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 ========