Аутентификация Kerberos в Trino

Kerberos-аутентификация для сервиса Trino требует выполнения дополнительных действий, которые зависят от того, включен плагин Ranger Trino или нет. В данной статье рассматриваются оба случая.

Для настройки Kerberos-аутентификации для Trino следуйте шагам ниже:

  1. Активируйте SSL для вашего кластера ADH.

  2. Активируйте Kerberos для вашего кластера ADH.

  3. Перейдите в настройки компонента Trino Coordinator и измените файл-параметр user-mapping.json, чтобы его содержимое было следующим:

    {
      "rules": [
        {
          "pattern": "(.+)@(.*)"
        },
        {
          "pattern": "^(.*?)/.*$"
        }
      ]
    }
  4. Настройте имперсонацию и права доступа.

  • С плагином Ranger

  • Без плагина Ranger

  1. В Ranger создайте пользователя для принципала Kerberos, который будет выполнять команды Trino CLI.

  2. Добавьте этого пользователя в следующие политики Trino: all - trinouser, all - catalog, schema, table, column и all - queryid.

На странице настройки сервиса Trino в ADCM раскройте группу параметров access-control.properties и измените параметр rules_json_patter, чтобы он включал в себя настройки имперсонации и прав. Например, следующим образом:

{
  "system": {
    "impersonation": [
      {
        "user": "<user with permissions, like `trino`>",
        "allow": {
          "user": "<user who will run trino-cli>"
        }
      }
    ]
  },
  "catalogs": [
    {
      "role": "admin",
      "catalog": "hive-adh",
      "allow": "all"
    },
    {
      "user": "trino",
      "catalog": "iceberg-adh",
      "allow": "all"
    },
    {
      "user": "<user who will run trino-cli>",
      "catalog": "iceberg-adh",
      "allow": "all"
    }
  ]
}

Проверьте корректность настройки с помощью запуска команды Trino CLI:

$ trino --execute 'select * from "hive-adh"."default"."solar_objects";'

Ожидаемым результатом является содержимое таблицы:

"1","Sun","1989100000","1392000"
"2","Mercury","330","4879"
"3","Venus","4867","12104"
"4","Earth","5972","12742"
"5","Mars","642","6780"
"6","Jupiter","1898187","139822"
"7","Saturn","568317","116464"
"8","Uranus","86813","50724"
"9","Neptune","102413","49244"
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней