Skip to content

Commit 5118813

Browse files
kungaElenaAfina
andauthored
SysView Auth Documentation (ru) (#16654)
Co-authored-by: ElenaAfina <144937430+ElenaAfina@users.noreply.github.com>
1 parent db64917 commit 5118813

File tree

2 files changed

+126
-14
lines changed

2 files changed

+126
-14
lines changed

ydb/docs/ru/core/concepts/glossary.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,10 @@
305305

306306
**[Право доступа](../security/authorization.md#right)** или **access right** — сущность, отражающая разрешение [субъекту доступа](#access-subject) выполнять конкретный набор операций в кластере или базе данных над конкретным [объектом доступа](#access-object).
307307

308+
### Наследование прав доступа {#access-right-inheritance}
309+
310+
**Наследование прав доступа** — механизм, при котором [права доступа](#access-right) автоматически передаются от родительских [объектов доступа](#access-object) дочерним объектам в структуре базы данных. Это гарантирует, что разрешения, предоставленные на более высоком уровне иерархии, применяются ко всем нижестоящим уровням, если они не [переопределены явно](../reference/ydb-cli/commands/scheme-permissions.md#clear-inheritance).
311+
308312
### Список прав {#access-control-list}
309313

310314
**[Список прав](../security/authorization.md#right)**, **access control list** или **ACL** — список всех [прав](#access-right), предоставленных [субъектам доступа](#access-subject) (пользователям и группам) на конкретный [объект доступа](#access-object).

ydb/docs/ru/core/dev/system-views.md

Lines changed: 122 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
* [Топы запросов по определенным характеристикам](#top-queries).
1111
* [Подробная информация о запросах](#query-metrics).
1212
* [История перегруженных партиций](#top-overload-partitions).
13+
* [Информация о пулах ресурсов](#resource_pools).
14+
* [Сущности управления доступом](#auth).
1315

1416
{% note info %}
1517

@@ -29,8 +31,8 @@
2931

3032
Структура представления:
3133

32-
Поле | Описание
33-
--- | ---
34+
Колонка | Описание
35+
------- | --------
3436
`OwnerId` | Идентификатор SchemeShard, обслуживающего таблицу.<br/>Тип: `Uint64`.<br/>Ключ: `0`.
3537
`PathId` | Идентификатор пути в SchemeShard.<br/>Тип: `Uint64`.<br/>Ключ: `1`.
3638
`PartIdx` | Порядковый номер партиции.<br/>Тип: `Uint64`.<br/>Ключ: `2`.
@@ -99,10 +101,10 @@ GROUP BY Path
99101

100102
Текст запроса ограничен 10 килобайтами.
101103

102-
Все представления содержат одинаковый набор полей:
104+
Все представления имеют одинаковую структуру:
103105

104-
Поле | Описание
105-
--- | ---
106+
Колонка | Описание
107+
------- | --------
106108
`IntervalEnd` | Момент закрытия минутного или часового интервала.<br/>Тип: `Timestamp`.<br/>Ключ: `0`.
107109
`Rank` | Ранг запроса в топе.<br/>Тип: `Uint32`.<br/>Ключ: `1`.
108110
`QueryText` | Текст запроса.<br/>Тип: `Utf8`.
@@ -181,7 +183,7 @@ WHERE Rank = 1
181183

182184
Структура представления:
183185

184-
Поле | Описание
186+
Колонка | Описание
185187
---|---
186188
`IntervalEnd` | Момент закрытия минутного интервала.<br/>Тип: `Timestamp`.<br/>Ключ: `0`.
187189
`Rank` | Ранг запроса в пределах интервала (по полю SumCPUTime).<br/>Тип: `Uint32`.<br/>Ключ: `1`.
@@ -248,10 +250,10 @@ LIMIT 100
248250

249251
В представления попадают партиции с пиковой нагрузкой более 70 % (`CPUCores` > 0,7). В пределах одного интервала партиции ранжированы по пиковому значению нагрузки.
250252

251-
Оба представления содержат одинаковый набор полей:
253+
Все представления имеют одинаковую структуру:
252254

253-
Поле | Описание
254-
--- | ---
255+
Колонка | Описание
256+
------- | --------
255257
`IntervalEnd` | Момент закрытия минутного или часового интервала.<br/>Тип: `Timestamp`.<br/>Ключ: `0`.
256258
`Rank` | Ранг партиции в пределах интервала (по CPUCores).<br/>Тип: `Uint32`.<br/>Ключ: `1`.
257259
`TabletId` | Идентификатор таблетки, обслуживающей партицию.<br/>Тип: `Uint64`.
@@ -308,8 +310,8 @@ ORDER BY IntervalEnd desc, CPUCores desc
308310

309311
Структура системного представления:
310312

311-
Поле | Описание
312-
--- | ---
313+
Колонка | Описание
314+
------- | --------
313315
`Name` | Имя пула ресурсов.<br/>Тип: `Utf8`.<br/>Ключ: `0`.
314316
`ConcurrentQueryLimit` | Максимальное количество параллельно выполняющихся запросов в пуле ресурсов.<br/>Тип: `Int32`.
315317
`QueueSize` | Максимальный размер очереди ожидания.<br/>Тип: `Int32`.
@@ -353,8 +355,8 @@ WHERE Name = "default";
353355

354356
Структура системного представления:
355357

356-
Поле | Описание
357-
--- | ---
358+
Колонка | Описание
359+
------- | --------
358360
`Name` | Имя классификатора пула ресурсов.<br/>Тип: `Utf8`.<br/>Ключ: `0`.
359361
`Rank` | Приоритет выбора классификатора пулов ресурсов.<br/>Тип: `Int64`.
360362
`MemberName` | Пользователь или группа пользователей, которые будут отправлены в указанный пул ресурсов.<br/>Тип: `Utf8`.
@@ -380,4 +382,110 @@ WHERE Name = "olap";
380382
--- | --- | --- | --- | ---
381383
1 | olap | 1000 | olap_group@builtin | olap
382384

383-
{% endif %}
385+
{% endif %}
386+
387+
## Сущности управления доступом {#auth}
388+
389+
Следующие системные представления содержат информацию о различных [сущностях управления доступом](../security/authorization.md).
390+
391+
### Информация о пользователях
392+
393+
Представление `auth_users` содержит список внутренних [пользователей](../concepts/glossary.md#access-user) {{ ydb-short-name }}. В него не входят пользователи, аутентифицированные через внешние системы, такие как LDAP.
394+
395+
Полный доступ к этому представлению имеют администраторы. Обычные пользователи могут просматривать только свои собственные данные.
396+
397+
Структура таблицы:
398+
399+
| Колонка | Описание |
400+
|---------|----------|
401+
| `Sid` | [SID](../concepts/glossary.md#sid) пользователя.<br />Тип: `Utf8`.<br />Ключ: `0`. |
402+
| `IsEnabled` | Указывает, разрешён ли вход данному пользователю; используется для явной блокировки администратором. Независим от `IsLockedOut`.<br />Тип: `Bool`. |
403+
| `IsLockedOut` | Автоматическая блокировка из-за превышения количества неудачных попыток входа. Независима от `IsEnabled`.<br />Тип: `Bool`. |
404+
| `CreatedAt` | Время создания пользователя.<br />Тип: `Timestamp`. |
405+
| `LastSuccessfulAttemptAt` | Время последней успешной попытки входа.<br />Тип: `Timestamp`. |
406+
| `LastFailedAttemptAt` | Время последней неудачной попытки входа.<br />Тип: `Timestamp`. |
407+
| `FailedAttemptCount` | Количество неудачных попыток входа.<br />Тип: `Uint32`. |
408+
| `PasswordHash` | JSON-строка, содержащая хеш пароля, соль и алгоритм хеширования.<br />Тип: `Utf8`. |
409+
410+
### Информация о группах
411+
412+
Представление `auth_groups` содержит список [групп доступа](../concepts/glossary.md#access-group).
413+
414+
Доступ к этому представлению имеют только администраторы.
415+
416+
Структура таблицы:
417+
418+
| Колонка | Описание |
419+
|---------|----------|
420+
| `Sid` | [SID](../concepts/glossary.md#sid) группы.<br />Тип: `Utf8`.<br />Ключ: `0`. |
421+
422+
### Информация о членстве в группах
423+
424+
Представление `auth_group_members` содержит информацию о членстве в [группах доступа](../concepts/glossary.md#access-group).
425+
426+
Доступ к этому представлению имеют только администраторы.
427+
428+
Структура таблицы:
429+
430+
| Колонка | Описание |
431+
|---------|----------|
432+
| `GroupSid` | SID группы.<br />Тип: `Utf8`.<br />Ключ: `0`. |
433+
| `MemberSid` | SID участника группы.<br />Тип: `Utf8`.<br />Ключ: `1`. |
434+
435+
### Информация о правах доступа
436+
437+
Представления содержат список выданных [прав доступа](../concepts/glossary.md#access-right).
438+
439+
Включают два представления:
440+
441+
* `auth_permissions`: Явно выданные права доступа.
442+
* `auth_effective_permissions`: Эффективные права доступа с учётом [наследования](../concepts/glossary.md#access-right-inheritance).
443+
444+
Пользователь может видеть [объект доступа](../concepts/glossary.md#access-object) в результатах, если у него есть разрешение `ydb.granular.describe_schema` для этого объекта.
445+
446+
Структура таблицы:
447+
448+
| Колонка | Описание |
449+
|---------|----------|
450+
| `Path` | Путь к объекту доступа.<br />Тип: `Utf8`.<br />Ключ: `0`. |
451+
| `Sid` | SID [субъекта доступа](../concepts/glossary.md#access-subject).<br />Тип: `Utf8`.<br />Ключ: `1`. |
452+
| `Permission` | Название [права доступа](../yql/reference/syntax/grant.md#permissions-list) {{ ydb-short-name }}.<br />Тип: `Utf8`.<br />Ключ: `2`. |
453+
454+
#### Примеры запросов
455+
456+
Все явно выданные права для таблицы `my_table`:
457+
458+
```yql
459+
SELECT *
460+
FROM `.sys/auth_permissions`
461+
WHERE Path = "my_table"
462+
```
463+
464+
Все эффективные права для таблицы `my_table`, включая унаследованные:
465+
466+
```yql
467+
SELECT *
468+
FROM `.sys/auth_effective_permissions`
469+
WHERE Path = "my_table"
470+
```
471+
472+
Все права, явно выданные пользователю `user3`:
473+
474+
```yql
475+
SELECT *
476+
FROM `.sys/auth_permissions`
477+
WHERE Sid = "user3"
478+
```
479+
480+
### Информация о владельцах объектов доступа {#auth-owners}
481+
482+
Представление `auth_owners` отображает информацию о [владельцах](../concepts/glossary.md#access-owner) [объектов доступа](../concepts/glossary.md#access-object).
483+
484+
Пользователь может видеть [объект доступа](../concepts/glossary.md#access-object) в результатах, если у него есть право `ydb.granular.describe_schema` для этого объекта.
485+
486+
Структура таблицы:
487+
488+
| Колонка | Описание |
489+
|---------|----------|
490+
| `Path` | Путь к объекту доступа.<br />Тип: `Utf8`.<br />Ключ: `0`. |
491+
| `Sid` | SID владельца объекта доступа.<br />Тип: `Utf8`. |

0 commit comments

Comments
 (0)