Skip to content

Commit 72f51ae

Browse files
kungaElenaAfina
andcommitted
SysView Auth Documentation (ru) (#16654)
Co-authored-by: ElenaAfina <144937430+ElenaAfina@users.noreply.github.com>
1 parent 11ab80b commit 72f51ae

File tree

2 files changed

+120
-9
lines changed

2 files changed

+120
-9
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: 116 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
* [Топы запросов по определенным характеристикам](#top-queries).
1111
* [Подробная информация о запросах](#query-metrics).
1212
* [История перегруженных партиций](#top-overload-partitions).
13+
* [Сущности управления доступом](#auth).
1314

1415
{% note info %}
1516

@@ -29,8 +30,8 @@
2930

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

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

100101
Текст запроса ограничен 4 килобайтами.
101102

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

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

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

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

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

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

255-
Поле | Описание
256-
--- | ---
256+
Колонка | Описание
257+
------- | --------
257258
`IntervalEnd` | Момент закрытия минутного или часового интервала.<br/>Тип: `Timestamp`.<br/>Ключ: `0`.
258259
`Rank` | Ранг партиции в пределах интервала (по CPUCores).<br/>Тип: `Uint32`.<br/>Ключ: `1`.
259260
`TabletId` | Идентификатор таблетки, обслуживающей партицию.<br/>Тип: `Uint64`.
@@ -301,3 +302,109 @@ ORDER BY IntervalEnd desc, CPUCores desc
301302
```
302303

303304
* `"YYYY-MM-DDTHH:MM:SS.UUUUUUZ"` — время в зоне UTC 0 (`YYYY` — год, `MM` — месяц, `DD` — число, `hh` — часы, `mm` — минуты, `ss` — секунды, `uuuuuu` — микросекунды). Например, `"2023-01-26T13:00:00.000000Z"`.
305+
306+
## Сущности управления доступом {#auth}
307+
308+
Следующие системные представления содержат информацию о различных [сущностях управления доступом](../security/authorization.md).
309+
310+
### Информация о пользователях
311+
312+
Представление `auth_users` содержит список внутренних [пользователей](../concepts/glossary.md#access-user) {{ ydb-short-name }}. В него не входят пользователи, аутентифицированные через внешние системы, такие как LDAP.
313+
314+
Полный доступ к этому представлению имеют администраторы. Обычные пользователи могут просматривать только свои собственные данные.
315+
316+
Структура таблицы:
317+
318+
| Колонка | Описание |
319+
|---------|----------|
320+
| `Sid` | [SID](../concepts/glossary.md#sid) пользователя.<br />Тип: `Utf8`.<br />Ключ: `0`. |
321+
| `IsEnabled` | Указывает, разрешён ли вход данному пользователю; используется для явной блокировки администратором. Независим от `IsLockedOut`.<br />Тип: `Bool`. |
322+
| `IsLockedOut` | Автоматическая блокировка из-за превышения количества неудачных попыток входа. Независима от `IsEnabled`.<br />Тип: `Bool`. |
323+
| `CreatedAt` | Время создания пользователя.<br />Тип: `Timestamp`. |
324+
| `LastSuccessfulAttemptAt` | Время последней успешной попытки входа.<br />Тип: `Timestamp`. |
325+
| `LastFailedAttemptAt` | Время последней неудачной попытки входа.<br />Тип: `Timestamp`. |
326+
| `FailedAttemptCount` | Количество неудачных попыток входа.<br />Тип: `Uint32`. |
327+
| `PasswordHash` | JSON-строка, содержащая хеш пароля, соль и алгоритм хеширования.<br />Тип: `Utf8`. |
328+
329+
### Информация о группах
330+
331+
Представление `auth_groups` содержит список [групп доступа](../concepts/glossary.md#access-group).
332+
333+
Доступ к этому представлению имеют только администраторы.
334+
335+
Структура таблицы:
336+
337+
| Колонка | Описание |
338+
|---------|----------|
339+
| `Sid` | [SID](../concepts/glossary.md#sid) группы.<br />Тип: `Utf8`.<br />Ключ: `0`. |
340+
341+
### Информация о членстве в группах
342+
343+
Представление `auth_group_members` содержит информацию о членстве в [группах доступа](../concepts/glossary.md#access-group).
344+
345+
Доступ к этому представлению имеют только администраторы.
346+
347+
Структура таблицы:
348+
349+
| Колонка | Описание |
350+
|---------|----------|
351+
| `GroupSid` | SID группы.<br />Тип: `Utf8`.<br />Ключ: `0`. |
352+
| `MemberSid` | SID участника группы.<br />Тип: `Utf8`.<br />Ключ: `1`. |
353+
354+
### Информация о правах доступа
355+
356+
Представления содержат список выданных [прав доступа](../concepts/glossary.md#access-right).
357+
358+
Включают два представления:
359+
360+
* `auth_permissions`: Явно выданные права доступа.
361+
* `auth_effective_permissions`: Эффективные права доступа с учётом [наследования](../concepts/glossary.md#access-right-inheritance).
362+
363+
Пользователь может видеть [объект доступа](../concepts/glossary.md#access-object) в результатах, если у него есть разрешение `ydb.granular.describe_schema` для этого объекта.
364+
365+
Структура таблицы:
366+
367+
| Колонка | Описание |
368+
|---------|----------|
369+
| `Path` | Путь к объекту доступа.<br />Тип: `Utf8`.<br />Ключ: `0`. |
370+
| `Sid` | SID [субъекта доступа](../concepts/glossary.md#access-subject).<br />Тип: `Utf8`.<br />Ключ: `1`. |
371+
| `Permission` | Название [права доступа](../yql/reference/syntax/grant.md#permissions-list) {{ ydb-short-name }}.<br />Тип: `Utf8`.<br />Ключ: `2`. |
372+
373+
#### Примеры запросов
374+
375+
Все явно выданные права для таблицы `my_table`:
376+
377+
```yql
378+
SELECT *
379+
FROM `.sys/auth_permissions`
380+
WHERE Path = "my_table"
381+
```
382+
383+
Все эффективные права для таблицы `my_table`, включая унаследованные:
384+
385+
```yql
386+
SELECT *
387+
FROM `.sys/auth_effective_permissions`
388+
WHERE Path = "my_table"
389+
```
390+
391+
Все права, явно выданные пользователю `user3`:
392+
393+
```yql
394+
SELECT *
395+
FROM `.sys/auth_permissions`
396+
WHERE Sid = "user3"
397+
```
398+
399+
### Информация о владельцах объектов доступа {#auth-owners}
400+
401+
Представление `auth_owners` отображает информацию о [владельцах](../concepts/glossary.md#access-owner) [объектов доступа](../concepts/glossary.md#access-object).
402+
403+
Пользователь может видеть [объект доступа](../concepts/glossary.md#access-object) в результатах, если у него есть право `ydb.granular.describe_schema` для этого объекта.
404+
405+
Структура таблицы:
406+
407+
| Колонка | Описание |
408+
|---------|----------|
409+
| `Path` | Путь к объекту доступа.<br />Тип: `Utf8`.<br />Ключ: `0`. |
410+
| `Sid` | SID владельца объекта доступа.<br />Тип: `Utf8`. |

0 commit comments

Comments
 (0)