Skip to content

Commit 66bf581

Browse files
committed
[uk] Topics - permissions_sql_storage_backend.md
Signed-off-by: Andrii Holovin <[email protected]>
1 parent 5a8bbfe commit 66bf581

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
title: Управління правами доступу для SQL-сховища
3+
description: Дізнайтеся, як налаштувати права доступу при використанні SQL-сховища.
4+
---
5+
6+
Цей документ надає рекомендації користувачам щодо налаштування та управління правами доступу при використанні SQL-сховища.
7+
8+
## Вступ {#introduction}
9+
10+
Для управління дозволами Helm використовує функцію RBAC Kubernetes. При використанні бекенду зберігання SQL ролі Kubernetes не можуть бути використані для визначення того, чи може користувач отримати доступ до певного ресурсу. У цьому документі показано, як створювати та керувати цими дозволами.
11+
12+
## Ініціалізація {#initialization}
13+
14+
При першому підключенні CLI Helm до вашої бази даних клієнт перевірить, чи було її попередньо ініціалізовано. Якщо ні, клієнт автоматично подбає про необхідне налаштування. Для цього ініціалізація потребує адміністративних привілеїв у схемі public або принаймні можливості:
15+
16+
* створення таблиці;
17+
* надання привілеїв на схему public.
18+
19+
Після виконання міграції в базі даних всі інші ролі зможуть використовувати клієнта.
20+
21+
## Надання привілеїв користувачеві не адміністратору в PostgreSQL {#grant-privileges-to-a-non-admin-user-in-postgresql}
22+
23+
Для керування правами доступу драйвер SQL-сховища використовує функцію [RLS](https://www.postgresql.org/docs/9.5/ddl-rowsecurity.html) (Row-Level Security) PostgreSQL. RLS дозволяє всім користувачам читати/записувати в одну й ту ж таблицю, але без можливості маніпулювати однаковими рядками, якщо їм це не було явно дозволено. Стандартно будь-яка роль, яка не отримала відповідних привілеїв, завжди отримуватиме порожній список при виконанні команди `helm list` і не матиме змоги отримати або змінити будь-який ресурс у кластері.
24+
25+
Розглянемо, як надати певній ролі доступ до конкретних просторів імен:
26+
27+
```sql
28+
CREATE POLICY <name> ON releases_v1 FOR ALL TO <role> USING (namespace = 'default');
29+
```
30+
31+
Ця команда надасть дозволи на читання та запис всіх ресурсів, які відповідають умові `namespace = 'default'`, для ролі `role`. Після створення цієї політики користувач, підключений до бази даних від імені ролі `role`, зможе бачити всі релізи в просторі імен `default` при виконанні команди `helm list`, а також змінювати та видаляти їх.
32+
33+
Привілеями можна детально керувати за допомогою RLS, і ви можете бути зацікавлені в обмеженні доступу до різних стовпців таблиці:
34+
35+
* key
36+
* type
37+
* body
38+
* name
39+
* namespace
40+
* version
41+
* status
42+
* owner
43+
* createdAt
44+
* modifiedAt

0 commit comments

Comments
 (0)