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
} ]
} ]
}
}