security check-access#

Проверить, есть ли у принципала доступ на выполнение привилегированного действия к объекту.

При выполнении команды необходимо задать имя целевого объекта и имена его родительских объектов. Для обращения к экземпляру CedrusData Catalog используйте флаг --securable-metastore.

Синтаксис#

catalog security check-access --principal-name=<principalName>
                              --action=<action>
                              [[--securable-metastore]
                              [--securable-principal=<principal>]
                              [--securable-file-system=<fileSystem>]
                              [--securable-catalog=<catalog>]
                              [--securable-namespace=<namespace>]
                              [--securable-table=<table>]
                              [--securable-view=<view>]
                              [--securable-materialized-view=<materializedView>]
                              [--securable-object-group=<objectGroup>]
                              [--securable-compute-engine=<computeEngine>]
                              [--securable-job=<job>]]

Опции#

--principal-name Имя принципала (пользователь или роль).

--action Имя привилегированного действия.

--securable-metastore Если опция задана, проверка будет применена к экземпляру CedrusData Catalog.

--securable-principal Имя принципала.

--securable-file-system Имя файловой системы.

--securable-catalog Имя каталога Iceberg.

--securable-namespace Имя пространства имен Iceberg.

--securable-table Имя таблицы Iceberg.

--securable-view Имя виртуального представления Iceberg.

--securable-table Имя материализованного представления Iceberg.

--securable-object-group Имя группы объектов Iceberg.

--securable-compute-engine Имя вычислительного движка.

--securable-job Имя задачи обслуживания.

Контроль доступа#

Пользователь, выполняющий операцию, должен быть иметь права на выполнение следующих действий:

Примеры#

Проверить возможность выполнить привилегированное действие table.create в каталоге local в пространстве имен tpch для пользователя alice:

catalog security check-access --principal-name alice --action table.create --securable-catalog local --securable-namespace tpch
+---------+------------------------------+
| allowed | check                        |
+---------+------------------------------+
| true    | any                          |
| false   | --role(builtin.admin)        |
| true    | --all                        |
| true    | ----privilege[catalog.usage] |
| true    | ----privilege[table.create]  |
+---------+------------------------------+

Та же операция, но отобразить результат в виде JSON:

catalog --json security check-access --principal-name alice --action table.create --securable-catalog local --securable-namespace tpch
{
  "root-check" : {
    "allowed" : true,
    "descriptor" : "any",
    "child-checks" : [ {
      "allowed" : false,
      "descriptor" : "role(builtin.admin)",
      "child-checks" : null
    }, {
      "allowed" : true,
      "descriptor" : "all",
      "child-checks" : [ {
        "allowed" : true,
        "descriptor" : "privilege[catalog.usage]",
        "child-checks" : null
      }, {
        "allowed" : true,
        "descriptor" : "privilege[table.create]",
        "child-checks" : null
      } ]
    } ]
  }
}