|
| 1 | +--- |
| 2 | +title: Role-Based Access Control |
| 3 | +description: Розглядається створення та форматування ресурсів RBAC у маніфестах чартів. |
| 4 | +sidebar_position: 8 |
| 5 | +--- |
| 6 | + |
| 7 | +У цій частині Посібника з найкращих практик розглядається створення та форматування ресурсів RBAC у маніфестах чартів. |
| 8 | + |
| 9 | +Ресурси RBAC це: |
| 10 | + |
| 11 | +- ServiceAccount (обмежений простором імен) |
| 12 | +- Role (обмежений простором імен) |
| 13 | +- ClusterRole |
| 14 | +- RoleBinding (обмежений простором імен) |
| 15 | +- ClusterRoleBinding |
| 16 | + |
| 17 | +## Конфігурація YAML {#yaml-configuration} |
| 18 | + |
| 19 | +Конфігурація RBAC та ServiceAccount повинна здійснюватися під окремими ключами. Це окремі речі. Розділення цих двох концепцій у YAML знімає неоднозначність і робить це яснішим. |
| 20 | + |
| 21 | +```yaml |
| 22 | +rbac: |
| 23 | + # Вказує, чи повинні бути створені ресурси RBAC |
| 24 | + create: true |
| 25 | + |
| 26 | +serviceAccount: |
| 27 | + # Вказує, чи повинен бути створений ServiceAccount |
| 28 | + create: true |
| 29 | + # Імʼя ServiceAccount для використання. |
| 30 | + # Якщо не вказано і create дорівнює true, імʼя генерується за допомогою шаблону fullname |
| 31 | + name: |
| 32 | +``` |
| 33 | +
|
| 34 | +Цю структуру можна розширити для комплексних чартів, які потребують кількох ServiceAccount. |
| 35 | +
|
| 36 | +```yaml |
| 37 | +someComponent: |
| 38 | + serviceAccount: |
| 39 | + create: true |
| 40 | + name: |
| 41 | +anotherComponent: |
| 42 | + serviceAccount: |
| 43 | + create: true |
| 44 | + name: |
| 45 | +``` |
| 46 | +
|
| 47 | +## Ресурси RBAC повинні бути стандартно створені {#rbac-resources-should-be-created-by-default} |
| 48 | +
|
| 49 | +`rbac.create` має бути булевим значенням, яке контролює, чи створюються ресурси RBAC. Стандартне значення має бути `true`. Користувачі, які бажають самостійно управляти контролем доступу RBAC, можуть встановити це значення в `false` (у цьому випадку дивіться нижче). |
| 50 | + |
| 51 | +## Using RBAC Resources |
| 52 | + |
| 53 | +`serviceAccount.name` має бути встановлено на імʼя ServiceAccount, яке буде використовуватися доступними ресурсами, створеними чартом. Якщо `serviceAccount.create` дорівнює true, то ServiceAccount з цим імʼям має бути створено. Якщо імʼя не вказано, то імʼя генерується за допомогою шаблону `fullname`. Якщо `serviceAccount.create` дорівнює false, то ServiceAccount не створюється, але він має бути асоційований з тими ж ресурсами, щоб пізніше створені вручну ресурси RBAC, що посилаються на нього, функціонували правильно. Якщо `serviceAccount.create` дорівнює false та імʼя не вказано, то використовується стандартний ServiceAccount. |
| 54 | + |
| 55 | +Для ServiceAccount слід використовувати наступний допоміжний шаблон. |
| 56 | + |
| 57 | +```go |
| 58 | +{{/* |
| 59 | +Створення імені службового облікового запису, який буде використовуватися |
| 60 | +*/}} |
| 61 | +{{- define "mychart.serviceAccountName" -}} |
| 62 | +{{- if .Values.serviceAccount.create -}} |
| 63 | + {{ default (include "mychart.fullname" .) .Values.serviceAccount.name }} |
| 64 | +{{- else -}} |
| 65 | + {{ default "default" .Values.serviceAccount.name }} |
| 66 | +{{- end -}} |
| 67 | +{{- end -}} |
| 68 | +``` |
0 commit comments