Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Истории успеха
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex Managed Service for Trino
  • Начало работы
    • Все инструкции
      • Управление доступом
      • Получение правил доступа
      • Назначение правил для объектов каталогов
      • Назначение правил для схем
      • Назначение правил для таблиц
      • Назначение правил для функций
      • Назначение правил для процедур
      • Назначение правил для запросов
      • Назначение правил для системных свойств сессии
      • Назначение правил для свойств сессии каталога
      • Удаление правил доступа
  • Справочник Terraform
  • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Метрики Yandex Monitoring
  • Аудитные логи Audit Trails
  • История изменений

В этой статье:

  • Назначить правила при создании кластера
  • Назначить правила для существующего кластера
  • Пример назначения правил доступа к свойствам сессии каталога
  1. Пошаговые инструкции
  2. Правила доступа к объектам
  3. Назначение правил для свойств сессии каталога

Назначение правил доступа к свойствам сессии каталога в Managed Service for Trino

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 14 января 2026 г.
  • Назначить правила при создании кластера
  • Назначить правила для существующего кластера
  • Пример назначения правил доступа к свойствам сессии каталога

Правила доступа к свойствам сессии каталога определяют, могут ли пользователи устанавливать те или иные свойства сессии каталога в кластере Managed Service for Trino.

Важно

Установите правила для свойств сессии каталога, чтобы избежать злоупотребления системными ресурсами со стороны пользователей.

Для каждой пары «пользователь–свойство» правила применяются следующим образом:

  • Правила проверяются в порядке их объявления. Применяется первое найденное правило, которое соответствует паре «пользователь–свойство».
  • Если ни одно из заданных правил не соответствует паре «пользователь–свойство», пользователю запрещается устанавливать это свойство.
  • Если для свойств сессии не задано ни одно правило, каждый пользователь может устанавливать любые свойства сессии для всех каталогов.
  • Правила доступа к свойствам применяются совместно с общими правилами доступа к объектам каталогов.

Назначить правила при создании кластераНазначить правила при создании кластера

Правила доступа к свойствам сессии каталога можно назначить одновременно с созданием кластера Managed Service for Trino.

Важно

Указанные в правилах имена свойств не проверяются на валидность. Ошибка в имени свойства приведет к некорректной работе правила.

CLI
Terraform
gRPC API

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы задать правила доступа:

  1. Создайте файл access_control.yaml и добавьте в него следующее содержимое:

    catalog_session_properties:
      # Правило 1
      - allow: <право_установить_свойство>
        property:
          names:
            any: [<список_имен_свойств>]
          name_regexp: <регулярное_выражение>
        catalog:
          name_regexp: <регулярное_выражение>
        groups: [<список_идентификаторов_групп>]
        users: [<список_идентификаторов_пользователей>]
        description: <описание_правила>
      # Правило 2
      - <Параметры_правила_2>
      ...
      # Правило N
      - <Параметры_правила_N>
    

    Где:

    • catalog_session_properties — список правил для свойств сессии каталога. Каждое правило включает в себя обязательный параметр allow, а также опциональные параметры: property, catalog, groups, users и description.

    • allow — право установить свойство:

      • YES — пользователю разрешено установить свойство.
      • NO — пользователю запрещено установить свойство.
    • property — свойства, на которые распространяется правило. Если параметр property не указан, правило распространяется на все свойства.

      • names — список имен свойств.
      • name_regexp — регулярное выражение. Правило распространяется на свойства, имена которых соответствуют регулярному выражению.

      Вы можете указать только один из параметров: names или name_regexp.

    • catalog — каталоги кластера, на которые распространяется правило. Если параметр catalog не указан, правило распространяется на все каталоги кластера.

      • name_regexp — регулярное выражение. Правило распространяется на каталоги, имена которых соответствуют регулярному выражению.
    • groups — список идентификаторов групп, на которые распространяется правило. Если параметр groups не указан, правило распространяется на все группы пользователей.

    • users — список идентификаторов пользователей, на которых распространяется правило. Если параметр users не указан, правило распространяется на всех пользователей.

    • description — описание правила.

  2. Посмотрите описание команды CLI для создания кластера:

    yc managed-trino cluster create --help
    
  3. Выполните команду:

    yc managed-trino cluster create \
      ...
      --access-control-from-file access_control.yaml
    

    Доступные параметры кластера и их описания см. в инструкции.

  1. Создайте конфигурационный файл Terraform с планом инфраструктуры.

  2. Добавьте в конфигурационный файл ресурс yandex_trino_access_control, содержащий список правил catalog_session_properties.

    resource "yandex_trino_cluster" "<имя_кластера>" {
      ...
    }
    
    resource "yandex_trino_catalog" "<имя_каталога_1>" {
      ...
    }
    
    resource "yandex_trino_catalog" "<имя_каталога_2>" {
      ...
    }
    
    ...
    
    resource "yandex_trino_catalog" "<имя_каталога_N>" {
      ...
    }
    
    resource "yandex_trino_access_control" "trino_access_control" {
      ...
      cluster_id  = yandex_trino_cluster.<имя_кластера>.id
      catalog_session_properties = [
        # Правило 1
        {
          allow         = "<право_установить_свойство>"
          property      = {
            names       = ["<список_имен_свойств>"]
            name_regexp = "<регулярное_выражение>"
          }
          catalog       = {
            ids         = [
              yandex_trino_catalog.<имя_каталога_1>.id,
              yandex_trino_catalog.<имя_каталога_2>.id,
              ... 
              yandex_trino_catalog.<имя_каталога_N>.id
            ]
            name_regexp = "<регулярное_выражение>"
          }
          users         = ["<список_идентификаторов_пользователей>"]
          groups        = ["<список_идентификаторов_групп>"]
          description   = "<описание_правила>"
        },
        # Правило 2
        {
          ... 
        },
        ...
        # Правило N
        {
          ... 
        }
      ]
      ...
    }
    

    Где:

    • catalog_session_properties — список блоков правил для свойств сессии каталога. Каждое правило включает в себя обязательный параметр allow, а также опциональные параметры: property, catalog, groups, users и description.

    • allow — право установить свойство:

      • YES — пользователю разрешено установить свойство.
      • NO — пользователю запрещено установить свойство.
    • property — свойства, на которые распространяется правило. Если блок property не указан, правило распространяется на все свойства.

      • names — список имен свойств.
      • name_regexp — регулярное выражение. Правило распространяется на свойства, имена которых соответствуют регулярному выражению.

      Вы можете указать только один из параметров: names или name_regexp.

    • catalog — каталоги кластера, на которые распространяется правило. Если блок catalog не указан, правило распространяется на все каталоги кластера.

      • ids — список идентификаторов каталогов. Указанные каталоги должны создаваться в том же манифесте.
      • name_regexp — регулярное выражение. Правило распространяется на каталоги, имена которых соответствуют регулярному выражению.

      Вы можете указать только один из параметров: ids или name_regexp.

    • groups — список идентификаторов групп, на которые распространяется правило. Если параметр groups не указан, правило распространяется на все группы пользователей.

    • users — список идентификаторов пользователей, на которых распространяется правило. Если параметр users не указан, правило распространяется на всех пользователей.

    • description — описание правила.

  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Создайте файл body.json и добавьте в него следующее содержимое:

    {
      <Параметры_кластера>
      ...
      "trino": {
        "catalogs": [
          {
            "name": "имя_каталога_1",
            ...
          },
          {
            "name": "имя_каталога_2",
            ...
          },
          ...
          {
            "name": "имя_каталога_N",
            ...
          }
        ]
        ...
        "access_control": {
          "catalog_session_properties": [
            {
              "allow": "<право_установить_свойство>",
              "property": {
                "names": {
                  "any": [
                    "<список_имен_свойств>"
                  ]
                },
                "name_regexp": "<регулярное_выражение>"
              },
              "catalog": {
                "names": {
                  "any": [
                    "<имя_каталога_1>",
                    "<имя_каталога_2>",
                    ...
                    "<имя_каталога_N>"
                  ]
                },
                "name_regexp": "<регулярное_выражение>"
              },
              "users": [
                "<список_идентификаторов_пользователей>"
              ],
              "groups": [
                "<список_идентификаторов_групп>"
              ],
              "description": "<описание_правила>"
            },
            {
              <Блок_правила_2>
            },
            ...
            {
              <Блок_правила_N>
            }
          ]
        }
      }
    }
    

    Где:

    • access_control — конфигурация прав доступа в рамках кластера.

    • catalog_session_properties — список блоков правил для свойств сессии каталога. Каждое правило включает в себя обязательный параметр allow, а также опциональные параметры: property, catalog, groups, users и description.

    • allow — право установить свойство:

      • YES — пользователю разрешено установить свойство.
      • NO — пользователю запрещено установить свойство.
    • property — свойства, на которые распространяется правило. Если блок property не указан, правило распространяется на все свойства.

      • names — список имен свойств.
      • name_regexp — регулярное выражение. Правило распространяется на свойства, имена которых соответствуют регулярному выражению.

      Блок property должен содержать либо вложенный блок names, либо параметр name_regexp.

    • catalog — каталоги, на которые распространяется правило. Если блок catalog не указан, правило распространяется на все каталоги кластера.

      • names — список имен каталогов. Каталоги должны создаваться в этом же вызове ClusterService/Create.
      • name_regexp — регулярное выражение. Правило распространяется на каталоги, имена которых соответствуют регулярному выражению.

      Блок catalog должен содержать либо вложенный блок names, либо параметр name_regexp.

    • groups — список идентификаторов групп, на которые распространяется правило. Если параметр groups не указан, правило распространяется на все группы пользователей.

    • users — список идентификаторов пользователей, на которых распространяется правило. Если параметр users не указан, правило распространяется на всех пользователей.

    • description — описание правила.

    Доступные параметры кластера и их описания см. в инструкции.

  4. Воспользуйтесь вызовом ClusterService/Create и выполните запрос, например с помощью gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/trino/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d @ \
        trino.api.cloud.yandex.net:443 \
        yandex.cloud.trino.v1.ClusterService.Create \
        < body.json
    
  5. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Назначить правила для существующего кластераНазначить правила для существующего кластера

Правила доступа к свойствам сессии каталога можно назначить или обновить в уже существующем кластере Managed Service for Trino.

Важно

Указанные в правилах имена свойств не проверяются на валидность. Ошибка в имени свойства приведет к некорректной работе правила.

CLI
Terraform
gRPC API

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы задать правила доступа:

  1. Если правила доступа еще не заданы, создайте файл access_control.yaml и добавьте в него следующее содержимое:

    catalog_session_properties:
      # Правило 1
      - allow: <право_установить_свойство>
        property:
          names:
            any: [<список_имен_свойств>]
          name_regexp: <регулярное_выражение>
        catalog:
          ids:
            any: [<список_идентификаторов_каталогов>]
          names:
            any: [<список_имен_каталогов>]
          name_regexp: <регулярное_выражение>
        groups: [<список_идентификаторов_групп>]
        users: [<список_идентификаторов_пользователей>]
        description: <описание_правила>
      # Правило 2
      - <Параметры_правила_2>
      ...
      # Правило N
      - <Параметры_правила_N>
    

    Где:

    • system_session_properties — список правил для свойств сессии каталога. Каждое правило включает в себя обязательный параметр allow, а также опциональные параметры: property, catalog, groups, users и description.

    • allow — право установить свойство:

      • YES — пользователю разрешено установить свойство.
      • NO — пользователю запрещено установить свойство.
    • property — свойства, на которые распространяется правило. Если параметр property не указан, правило распространяется на все свойства.

      • names — список имен свойств.
      • name_regexp — регулярное выражение. Правило распространяется на свойства, имена которых соответствуют регулярному выражению.

      Вы можете указать только один из параметров: names или name_regexp.

    • catalog — каталоги, на которые распространяется правило. Если параметр catalog не указан, правило распространяется на все каталоги кластера.

      • ids — список идентификаторов каталогов. Указанные каталоги должны существовать.
      • names — список имен каталогов. Указанные каталоги должны существовать.
      • name_regexp — регулярное выражение. Правило распространяется на каталоги, имена которых соответствуют регулярному выражению.

      Вы можете указать только один из параметров: ids, names или name_regexp.

    • groups — список идентификаторов групп, на которые распространяется правило. Если параметр groups не указан, правило распространяется на все группы пользователей.

    • users — список идентификаторов пользователей, на которых распространяется правило. Если параметр users не указан, правило распространяется на всех пользователей.

    • description — описание правила.

  2. Если правила доступа уже заданы, откройте файл access_control.yaml и внесите в него изменения. Вы можете:

    • добавить новые правила;
    • изменить параметры существующих правил;
    • удалить ненужные правила.
  3. Выполните команду:

    yc managed-trino cluster set-access-control <имя_или_идентификатор_кластера> \
      --from-file access_control.yaml
    

    Идентификатор и имя кластера можно запросить со списком кластеров в каталоге.

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Если правила доступа еще не заданы, добавьте ресурс yandex_trino_access_control, содержащий список правил system_session_properties.

    resource "yandex_trino_cluster" "<имя_кластера>" {
      ...
    }
    
    resource "yandex_trino_catalog" "<имя_каталога_1>" {
      ...
    }
    
    resource "yandex_trino_catalog" "<имя_каталога_2>" {
      ...
    }
    
    ...
    
    resource "yandex_trino_catalog" "<имя_каталога_N>" {
      ...
    }
    
    resource "yandex_trino_access_control" "trino_access_control" {
      ...
      cluster_id  = yandex_trino_cluster.<имя_кластера>.id
      catalog_session_properties = [
        # Правило 1
        {
          allow         = "<право_установить_свойство>"
          property      = {
            names       = ["<список_имен_свойств>"]
            name_regexp = "<регулярное_выражение>"
          }
          catalog       = {
            ids         = [
              yandex_trino_catalog.<имя_каталога_1>.id,
              yandex_trino_catalog.<имя_каталога_2>.id,
              ... 
              yandex_trino_catalog.<имя_каталога_N>.id
            ]
            name_regexp = "<регулярное_выражение>"
          }
          users         = ["<список_идентификаторов_пользователей>"]
          groups        = ["<список_идентификаторов_групп>"]
          description   = "<описание_правила>"
        },
        # Правило 2
        {
          ... 
        },
        ...
        # Правило N
        {
          ... 
        }
      ]
      ...
    }
    

    Где:

    • catalog_session_properties — список блоков правил для свойств сессии каталога. Каждое правило включает в себя обязательный параметр allow, а также опциональные параметры: property, catalog, groups, users и description.

    • allow — право установить свойство:

      • YES — пользователю разрешено установить свойство.
      • NO — пользователю запрещено установить свойство.
    • property — свойства, на которые распространяется правило. Если блок property не указан, правило распространяется на все свойства.

      • names — список имен свойств.
      • name_regexp — регулярное выражение. Правило распространяется на свойства, имена которых соответствуют регулярному выражению.

      Вы можете указать только один из параметров: names или name_regexp.

    • catalog — каталоги кластера, на которые распространяется правило. Если блок catalog не указан, правило распространяется на все каталоги кластера.

      • ids — список идентификаторов каталогов. Указанные каталоги должны существовать или создаваться в том же манифесте.
      • name_regexp — регулярное выражение. Правило распространяется на каталоги, имена которых соответствуют регулярному выражению.

      Вы можете указать только один из параметров: ids или name_regexp.

    • groups — список идентификаторов групп, на которые распространяется правило. Если параметр groups не указан, правило распространяется на все группы пользователей.

    • users — список идентификаторов пользователей, на которых распространяется правило. Если параметр users не указан, правило распространяется на всех пользователей.

    • description — описание правила.

  3. Если правила доступа уже заданы, внесите правки в описание ресурса yandex_trino_access_control. Вы можете:

    • добавить новые правила;
    • изменить параметры существующих правил;
    • удалить ненужные правила.
  4. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  5. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Если правила доступа еще не заданы, создайте файл body.json и добавьте в него следующее содержимое:

    {
      "cluster_id": "<идентификатор_кластера>",
      "update_mask": {
        "paths": [
          "trino.access_control.catalog_session_properties"
        ]
      },
      "trino": {
        "access_control": {
          "catalog_session_properties": [
            {
              "allow": "<право_установить_свойство>",
              "property": {
                "names": {
                  "any": [
                    "<список_имен_свойств>"
                  ]
                },
                "name_regexp": "<регулярное_выражение>"
              },
              "catalog": {
                "ids": {
                  "any": [
                    "<список_идентификаторов_каталогов>"
                  ]
                },
                "names": {
                  "any": [
                    "<список_имен_каталогов>"
                  ]
                },
                "name_regexp": "<регулярное_выражение>"
              },
              "users": [
                "<список_идентификаторов_пользователей>"
              ],
              "groups": [
                "<список_идентификаторов_групп>"
              ],
              "description": "<описание_правила>"
            },
            {
              <Блок_правила_2>
            },
            ...
            {
              <Блок_правила_N>
            }
          ]
        }
      }
    }
    

    Где:

    • cluster_id — идентификатор кластера.

      Идентификатор кластера можно получить со списком кластеров в каталоге.

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].

      Формат перечисления настроек
      "update_mask": {
        "paths": [
          "<настройка_1>",
          "<настройка_2>",
          ...
          "<настройка_N>"
        ]
      }
      

      Важно

      При изменении кластера все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask.

    • access_control — конфигурация прав доступа в рамках кластера.

    • system_session_properties — список блоков правил для свойств сессии каталога. Каждое правило включает в себя обязательный параметр allow, а также опциональные параметры: property, catalog, groups, users и description.

    • allow — право установить свойство:

      • YES — пользователю разрешено установить свойство.
      • NO — пользователю запрещено установить свойство.
    • property — свойства, на которые распространяется правило. Если блок property не указан, правило распространяется на все свойства.

      • names — список имен свойств.
      • name_regexp — регулярное выражение. Правило распространяется на свойства, имена которых соответствуют регулярному выражению.

      Блок property должен содержать либо вложенный блок names, либо параметр name_regexp.

    • catalog — каталоги, на которые распространяется правило. Если блок catalog не указан, правило распространяется на все каталоги кластера.

      • ids — список идентификаторов каталогов. Указанные каталоги должны существовать.
      • names — список имен каталогов. Указанные каталоги должны существовать.
      • name_regexp — регулярное выражение. Правило распространяется на каталоги, имена которых соответствуют регулярному выражению.

      Блок catalog должен содержать либо один из вложенных блоков ids или names, либо параметр name_regexp.

    • groups — список идентификаторов групп, на которые распространяется правило. Если параметр groups не указан, правило распространяется на все группы пользователей.

    • users — список идентификаторов пользователей, на которых распространяется правило. Если параметр users не указан, правило распространяется на всех пользователей.

    • description — описание правила.

  4. Если правила уже заданы, откройте существующий файл body.json с правилами и внесите в него правки. Вы можете:

    • добавить новые правила;
    • изменить параметры существующих правил;
    • удалить ненужные правила.
  5. Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например с помощью gRPCurl:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/trino/v1/cluster_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d @ \
      trino.api.cloud.yandex.net:443 \
      yandex.cloud.trino.v1.ClusterService.Update \
      < body.json
    
  6. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Пример назначения правил доступа к свойствам сессии каталогаПример назначения правил доступа к свойствам сессии каталога

Допустим, вам нужно настроить правила доступа к свойствам сессии каталога:

  1. Разрешить устанавливать любые свойства пользователям, входящим в группу с идентификатором admins_group_id.
  2. Разрешить пользователям из группы с идентификатором analytics_group_id устанавливать свойства с именами вида parquet_.* в каталоге с идентификатором hive_cat_id.
  3. Всем остальным пользователям запретить устанавливать свойства.
CLI
Terraform
gRPC API

Файл access_control.yaml для такого набора правил выглядит так:

catalog_session_properties:
  - groups: 
      - admins_group_id
    allow: YES

  - groups: 
      - data_engineers_group_id
    property:
      name_regexp: "parquet.*"
    catalog:
      ids:
        any:
          - hive_cat_id
    allow: YES

Конфигурационный файл для такого набора правил выглядит так:

resource "yandex_trino_access_control" "trino_access_control" {
  ...
  cluster_id  = <идентификатор_кластера>
  catalog_session_properties = [
    {
      groups        = ["admins_group_id"]
      allow         = "YES"
    },
    {
      groups        = ["data_engineers_group_id"]
      property      = {
        name_regexp = "parquet.*"
      }
      catalog       = {
        ids         = ["hive_cat_id"]
      }
      allow         = "YES"
    }
  ]
  ...
}

Файл body.json для такого набора правил выглядит так:

{
  "cluster_id": "<идентификатор_кластера>",
  "update_mask": {
    "paths": [
      "trino.access_control.catalog_session_properties"
    ]
  },
  "trino": {
    "access_control": {
      "catalog_session_properties": [
        {
          "groups": [
            "admins_group_id"
          ],
          "allow": "YES"
        },
        {
          "groups": [
            "data_engineers_group_id"
          ],
          "catalog": {
            "ids": {
              "any": ["hive_cat_id"]
            }
          },
          "property": {
            "name_regexp": "parquet.*"
          },
          "allow": "YES"
        }
      ]
    }
  }
}

Была ли статья полезна?

Предыдущая
Назначение правил для системных свойств сессии
Следующая
Удаление правил доступа
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»