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 Имя задачи обслуживания.
Контроль доступа#
Пользователь, выполняющий операцию, должен быть иметь права на выполнение следующих действий:
principal.impersonate для принципала, указанного в опции
--principal-name
Примеры#
Проверить возможность выполнить привилегированное действие 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
} ]
} ]
}
}