### Групи управління
- Вона може містити **інші групи управління або підписки**.
- Це дозволяє **застосовувати контроль управління** такі як RBAC та Azure Policy один раз на рівні групи управління і мати їх **успадкованими** всіма підписками в групі.
- **10,000 груп** управління можуть підтримуватися в одному каталозі.
- Дерево групи управління може підтримувати **до шести рівнів глибини**. Це обмеження не включає кореневий рівень або рівень підписки.
- Кожна група управління та підписка можуть підтримувати **тільки одного батька**.
- Навіть якщо кілька груп управління можуть бути створені, **існує лише 1 коренева група управління**.
- Коренева група управління **містить** всі **інші групи управління та підписки** і **не може бути переміщена або видалена**.
- Всі підписки в межах однієї групи управління повинні довіряти **одному й тому ж орендарю Entra ID.**
### Підписки Azure
- Це ще один **логічний контейнер, де можуть бути запущені ресурси** (ВМ, БД…) і за які буде виставлено рахунок.
- Його **батьком** завжди є **група управління** (і це може бути коренева група управління), оскільки підписки не можуть містити інші підписки.
- Він **довіряє лише одному каталогу Entra ID**.
- **Дозволи**, застосовані на рівні підписки (або будь-якого з її батьків), **успадковуються** всіма ресурсами всередині підписки.
### Групи ресурсів
[З документації:](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-python?tabs=macos#what-is-a-resource-group) Група ресурсів є **контейнером**, який містить **пов'язані ресурси** для рішення Azure. Група ресурсів може включати всі ресурси для рішення або лише ті **ресурси, які ви хочете керувати як групою**. Загалом, додавайте **ресурси**, які мають **один життєвий цикл**, до однієї групи ресурсів, щоб ви могли легко розгортати, оновлювати та видаляти їх як групу.
Всі **ресурси** повинні бути **всередині групи ресурсів** і можуть належати лише до однієї групи, і якщо група ресурсів видаляється, всі ресурси всередині неї також видаляються.
### Ідентифікатори ресурсів Azure
Кожен ресурс в Azure має ідентифікатор ресурсу Azure, який його ідентифікує.
Формат ідентифікатора ресурсу Azure виглядає так:
- `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}`
Для віртуальної машини з назвою myVM в групі ресурсів `myResourceGroup` під підпискою ID `12345678-1234-1234-1234-123456789012`, ідентифікатор ресурсу Azure виглядає так:
- `/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM`
## Azure vs Entra ID vs Послуги домену Azure AD
### Azure
Azure є комплексною **хмарною обчислювальною платформою Microsoft, що пропонує широкий спектр послуг**, включаючи віртуальні машини, бази даних, штучний інтелект та зберігання. Вона слугує основою для хостингу та управління додатками, створення масштабованих інфраструктур і виконання сучасних навантажень у хмарі. Azure надає інструменти для розробників та ІТ-фахівців для безперешкодного створення, розгортання та управління додатками та послугами, задовольняючи різноманітні потреби від стартапів до великих підприємств.
### Entra ID (раніше Azure Active Directory)
Entra ID є хмарною **послугою управління ідентифікацією та доступом**, призначеною для обробки аутентифікації, авторизації та контролю доступу користувачів. Вона забезпечує безпечний доступ до послуг Microsoft, таких як Office 365, Azure та багатьох сторонніх SaaS-додатків. З функціями, такими як єдине входження (SSO), багатофакторна аутентифікація (MFA) та умовні політики доступу серед інших.
### Послуги домену Entra (раніше Azure AD DS)
Послуги домену Entra розширюють можливості Entra ID, пропонуючи **керовані доменні послуги, сумісні з традиційними середовищами Windows Active Directory**. Вони підтримують застарілі протоколи, такі як LDAP, Kerberos та NTLM, що дозволяє організаціям мігрувати або запускати старі додатки в хмарі без розгортання локальних контролерів домену. Ця служба також підтримує групову політику для централізованого управління, що робить її придатною для сценаріїв, де застарілі або на основі AD навантаження повинні співіснувати з сучасними хмарними середовищами.
## Принципи Entra ID
### Користувачі
- **Нові користувачі**
- Вказати ім'я електронної пошти та домен з вибраного орендаря
- Вказати відображуване ім'я
- Вказати пароль
- Вказати властивості (ім'я, посада, контактна інформація…)
- Тип користувача за замовчуванням - “**член**”
- **Зовнішні користувачі**
- Вказати електронну пошту для запрошення та відображуване ім'я (може бути не Microsoft електронна пошта)
- Вказати властивості
- Тип користувача за замовчуванням - “**Гість**”
### Дефолтні дозволи для членів та гостей
Ви можете перевірити їх у [https://learn.microsoft.com/en-us/entra/fundamentals/users-default-permissions](https://learn.microsoft.com/en-us/entra/fundamentals/users-default-permissions), але серед інших дій член зможе:
- Читати всіх користувачів, групи, додатки, пристрої, ролі, підписки та їх публічні властивості
- Запрошувати гостей (_може бути вимкнено_)
- Створювати групи безпеки
- Читати неприховані членства груп
- Додавати гостей до власних груп
- Створювати новий додаток (_може бути вимкнено_)
- Додавати до 50 пристроїв до Azure (_може бути вимкнено_)
> [!NOTE]
> Пам'ятайте, що для перерахунку ресурсів Azure користувачеві потрібен явний дозвіл.
### Дефолтні налаштовувані дозволи для користувачів
- **Члени (**[**документи**](https://learn.microsoft.com/en-gb/entra/fundamentals/users-default-permissions#restrict-member-users-default-permissions)**)**
- Реєстрація додатків: за замовчуванням **Так**
- Обмежити неадміністративним користувачам створення орендарів: за замовчуванням **Ні**
- Створення груп безпеки: за замовчуванням **Так**
- Обмежити доступ до порталу адміністрування Microsoft Entra: за замовчуванням **Ні**
- Це не обмежує доступ API до порталу (тільки веб)
- Дозволити користувачам підключати робочий або шкільний обліковий запис до LinkedIn: за замовчуванням **Так**
- Показати, щоб користувач залишався підписаним: за замовчуванням **Так**
- Обмежити користувачів від відновлення ключа BitLocker для їхніх власних пристроїв: за замовчуванням Ні (перевірте в налаштуваннях пристрою)
- Читати інших користувачів: за замовчуванням **Так** (через Microsoft Graph)
- **Гості**
- **Обмеження доступу для користувачів-гостей**
- **Користувачі-гості мають такий же доступ, як і члени**, надає всі дозволи користувачів-членів користувачам-гостям за замовчуванням.
- **Користувачі-гості мають обмежений доступ до властивостей та членств об'єктів каталогу (за замовчуванням)** обмежує доступ гостей лише до їхнього власного профілю користувача за замовчуванням. Доступ до інформації про інших користувачів та групи більше не дозволяється.
- **Доступ користувачів-гостей обмежений до властивостей та членств їхніх власних об'єктів каталогу** є найбільш обмежувальним.
- **Гості можуть запрошувати**
- **Будь-хто в організації може запрошувати користувачів-гостей, включаючи гостей та неадміністраторів (найбільш інклюзивно) - за замовчуванням**
- **Користувачі-члени та користувачі, призначені на конкретні адміністративні ролі, можуть запрошувати користувачів-гостей, включаючи гостей з правами членів**
- **Тільки користувачі, призначені на конкретні адміністративні ролі, можуть запрошувати користувачів-гостей**
- **Ніхто в організації не може запрошувати користувачів-гостей, включаючи адміністраторів (найбільш обмежувально)**
- **Зовнішні користувачі можуть залишити**: за замовчуванням **Правда**
- Дозволити зовнішнім користувачам залишити організацію
> [!TIP]
> Навіть якщо за замовчуванням обмежено, користувачі (члени та гості) з наданими дозволами можуть виконувати попередні дії.
### **Групи**
Є **2 типи груп**:
- **Безпека**: Цей тип групи використовується для надання членам доступу до додатків, ресурсів та призначення ліцензій. Членами можуть бути користувачі, пристрої, службові принципали та інші групи.
- **Microsoft 365**: Цей тип групи використовується для співпраці, надаючи членам доступ до спільної поштової скриньки, календаря, файлів, сайту SharePoint тощо. Членами групи можуть бути лише користувачі.
- Це матиме **електронну адресу** з доменом орендаря EntraID.
Є **2 типи членства**:
- **Призначене**: Дозволяє вручну додавати конкретних членів до групи.
- **Динамічне членство**: Автоматично керує членством за допомогою правил, оновлюючи включення групи, коли змінюються атрибути членів.
### **Службові принципали**
**Службовий принципал** - це **ідентифікація**, створена для **використання** з **додатками**, хостингованими службами та автоматизованими інструментами для доступу до ресурсів Azure. Цей доступ **обмежений ролями, призначеними** службовому принципалу, що дає вам контроль над **тим, які ресурси можуть бути доступні** і на якому рівні. З міркувань безпеки завжди рекомендується **використовувати службові принципали з автоматизованими інструментами**, а не дозволяти їм входити з ідентифікацією користувача.
Можливо **безпосередньо увійти як службовий принципал**, створивши для нього **секрет** (пароль), **сертифікат** або надавши **федеративний** доступ до сторонніх платформ (наприклад, Github Actions).
- Якщо ви виберете **автентифікацію за паролем** (за замовчуванням), **збережіть згенерований пароль**, оскільки ви не зможете отримати до нього доступ знову.
- Якщо ви виберете автентифікацію за сертифікатом, переконайтеся, що **додаток матиме доступ до приватного ключа**.
### Реєстрації додатків
**Реєстрація додатка** - це конфігурація, яка дозволяє додатку інтегруватися з Entra ID та виконувати дії.
#### Ключові компоненти:
1. **Ідентифікатор додатка (Client ID):** Унікальний ідентифікатор для вашого додатка в Azure AD.
2. **URI перенаправлення:** URL-адреси, куди Azure AD надсилає відповіді на аутентифікацію.
3. **Сертифікати, секрети та федеративні облікові дані:** Можливо згенерувати секрет або сертифікат для входу як службовий принципал додатка або надати федеративний доступ до нього (наприклад, Github Actions).
1. Якщо **сертифікат** або **секрет** згенеровано, особа може **увійти як службовий принципал** за допомогою CLI-інструментів, знаючи **ідентифікатор додатка**, **секрет** або **сертифікат** та **орендар** (домен або ID).
4. **API Дозволи:** Визначає, до яких ресурсів або API додаток може отримати доступ.
5. **Налаштування аутентифікації:** Визначає підтримувані потоки аутентифікації додатка (наприклад, OAuth2, OpenID Connect).
6. **Службовий принципал**: Службовий принципал створюється, коли створюється додаток (якщо це робиться з веб-консолі) або коли він встановлюється в новому орендарі.
1. **Службовий принципал** отримає всі запитувані дозволи, з якими він був налаштований.
### Дефолтні дозволи на згоду
**Згода користувачів на додатки**
- **Не дозволяти згоду користувачів**
- Адміністратор буде потрібен для всіх додатків.
- **Дозволити згоду користувачів на додатки від перевірених видавців, для вибраних дозволів (рекомендується)**
- Усі користувачі можуть дати згоду на дозволи, класифіковані як "низький вплив", для додатків від перевірених видавців або додатків, зареєстрованих в цій організації.
- **Дефолтні** дозволи низького впливу (хоча вам потрібно прийняти, щоб додати їх як низькі):
- User.Read - увійти та прочитати профіль користувача
- offline_access - підтримувати доступ до даних, до яких користувачі надали доступ
- openid - увійти користувачів
- profile - переглядати основний профіль користувача
- email - переглядати електронну адресу користувача
- **Дозволити згоду користувачів на додатки (за замовчуванням)**
- Усі користувачі можуть дати згоду на будь-який додаток для доступу до даних організації.
**Запити на згоду адміністратора**: за замовчуванням **Ні**
- Користувачі можуть запитувати згоду адміністратора на додатки, на які вони не можуть дати згоду
- Якщо **Так**: Можливо вказати Користувачів, Групи та Ролі, які можуть давати згоду на запити
- Налаштуйте також, чи отримуватимуть користувачі електронні сповіщення та нагадування про закінчення терміну дії
### **Керована ідентичність (Метадані)**
Керовані ідентичності в Azure Active Directory пропонують рішення для **автоматичного управління ідентичністю** додатків. Ці ідентичності використовуються додатками для **підключення** до **ресурсів**, сумісних з аутентифікацією Azure Active Directory (**Azure AD**). Це дозволяє **усунути необхідність жорсткого кодування облікових даних хмари** в коді, оскільки додаток зможе звертатися до **служби метаданих**, щоб отримати дійсний токен для **виконання дій** як вказана керована ідентичність в Azure.
Існує два типи керованих ідентичностей:
- **Призначена системою**. Деякі служби Azure дозволяють вам **увімкнути керовану ідентичність безпосередньо на екземплярі служби**. Коли ви увімкнете керовану ідентичність, призначену системою, **службовий принципал** створюється в орендарі Entra ID, довіреному підписці, де розташований ресурс. Коли **ресурс** **видаляється**, Azure автоматично **видаляє** **ідентичність** за вас.
- **Призначена користувачем**. Також можливо, щоб користувачі генерували керовані ідентичності. Вони створюються всередині групи ресурсів в межах підписки, і службовий принципал буде створено в EntraID, довіреному підписці. Потім ви можете призначити керовану ідентичність одному або **кільком екземплярам** служби Azure (кільком ресурсам). Для керованих ідентичностей, призначених користувачем, **ідентичність управляється окремо від ресурсів, які її використовують**.
Керовані ідентичності **не генерують вічні облікові дані** (як паролі або сертифікати) для доступу як службовий принципал, прикріплений до них.
### Підприємницькі додатки
Це просто **таблиця в Azure для фільтрації службових принципалів** та перевірки додатків, які були призначені.
**Це не ще один тип "додатку",** в Azure немає жодного об'єкта, який є "підприємницьким додатком", це просто абстракція для перевірки службових принципалів, реєстрацій додатків та керованих ідентичностей.
### Адміністративні одиниці
Адміністративні одиниці дозволяють **надавати дозволи з ролі на конкретну частину організації**.
Приклад:
- Сценарій: Компанія хоче, щоб регіональні ІТ-адміністратори управляли лише користувачами у своїй власній області.
- Реалізація:
- Створіть адміністративні одиниці для кожного регіону (наприклад, "Північна Америка AU", "Європа AU").
- Заповніть AU користувачами з їхніх відповідних регіонів.
- AU можуть **містити користувачів, групи або пристрої**
- AU підтримують **динамічні членства**
- AU **не можуть містити AU**
- Призначте адміністративні ролі:
- Надати роль "Адміністратор користувачів" регіональному ІТ-персоналу, обмежену до AU їхнього регіону.
- Результат: Регіональні ІТ-адміністратори можуть управляти обліковими записами користувачів у межах свого регіону, не впливаючи на інші регіони.
### Ролі Entra ID
- Для управління Entra ID існують деякі **вбудовані ролі**, які можуть бути призначені принципалам Entra ID для управління Entra ID
- Перевірте ролі в [https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference](https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference)
- Найбільш привілейована роль - **Глобальний адміністратор**
- У описі ролі можна побачити її **деталізовані дозволи**
## Ролі та дозволи
**Ролі** призначаються **принципалам** на **обсязі**: `principal -[HAS ROLE]->(scope)`
**Ролі**, призначені **групам**, **успадковуються** всіма **членами** групи.
Залежно від обсягу, до якого була призначена роль, **роль** може бути **успадкована** до **інших ресурсів** всередині контейнера обсягу. Наприклад, якщо користувач A має **роль на підписці**, він матиме цю **роль на всіх групах ресурсів** всередині підписки та на **всіх ресурсах** всередині групи ресурсів.
### **Класичні ролі**
| **Власник** |
Повний доступ до всіх ресурсів
Може управляти доступом для інших користувачів
| Усі типи ресурсів |
| ----------------------------- | ---------------------------------------------------------------------------------------- | ------------------ |
| **Співробітник** |
Повний доступ до всіх ресурсів
Не може управляти доступом
| Усі типи ресурсів |
| **Читач** | • Перегляд всіх ресурсів | Усі типи ресурсів |
| **Адміністратор доступу користувачів** |
Перегляд всіх ресурсів
Може управляти доступом для інших користувачів
| Усі типи ресурсів |
### Вбудовані ролі
[З документації: ](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles)[Azure рольова модель доступу (Azure RBAC)](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview) має кілька **вбудованих ролей Azure**, які ви можете **призначити** користувачам, групам, службовим принципалам та керованим ідентичностям. Призначення ролей - це спосіб контролю **доступу до ресурсів Azure**. Якщо вбудовані ролі не відповідають конкретним потребам вашої організації, ви можете створити свої власні [**кастомні ролі Azure**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles)**.**
**Вбудовані** ролі застосовуються лише до **ресурсів**, для яких вони **призначені**, наприклад, перевірте ці 2 приклади **вбудованих ролей для ресурсів обчислення**:
| [Читач резервного копіювання диска](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#disk-backup-reader) | Надає дозвіл резервному сховищу виконувати резервне копіювання диска. | 3e5e47e6-65f7-47ef-90b5-e5dd4d455f24 |
| ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------ |
| [Користувач віртуальної машини](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-user-login) | Перегляд віртуальних машин у порталі та вхід як звичайний користувач. | fb879df8-f326-4884-b1cf-06f3ad86be52 |
Ці ролі також можуть **призначатися над логічними контейнерами** (такими як групи управління, підписки та групи ресурсів), і принципали, на яких це вплине, матимуть їх **над ресурсами всередині цих контейнерів**.
- Знайдіть тут список з [**усіма вбудованими ролями Azure**](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles).
- Знайдіть тут список з [**усіма вбудованими ролями Entra ID**](https://learn.microsoft.com/en-us/azure/active-directory/roles/permissions-reference).
### Кастомні ролі
- Також можливо створити [**кастомні ролі**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles)
- Вони створюються всередині обсягу, хоча роль може бути в кількох обсягах (групи управління, підписка та групи ресурсів)
- Можливо налаштувати всі детальні дозволи, які матиме кастомна роль
- Можливо виключити дозволи
- Принципал з виключеним дозволом не зможе його використовувати, навіть якщо дозвіл надається в іншому місці
- Можливо використовувати підстановочні знаки
- Використовуваний формат - JSON
- `actions` призначені для контролю дій над ресурсом
- `dataActions` - це дозволи над даними в об'єкті
Приклад JSON дозволів для кастомної ролі:
```json
{
"properties": {
"roleName": "",
"description": "",
"assignableScopes": ["/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f"],
"permissions": [
{
"actions": [
"Microsoft.DigitalTwins/register/action",
"Microsoft.DigitalTwins/unregister/action",
"Microsoft.DigitalTwins/operations/read",
"Microsoft.DigitalTwins/digitalTwinsInstances/read",
"Microsoft.DigitalTwins/digitalTwinsInstances/write",
"Microsoft.CostManagement/exports/*"
],
"notActions": [
"Astronomer.Astro/register/action",
"Astronomer.Astro/unregister/action",
"Astronomer.Astro/operations/read",
"Astronomer.Astro/organizations/read"
],
"dataActions": [],
"notDataActions": []
}
]
}
}
```
### Порядок дозволів
- Щоб **суб'єкт мав доступ до ресурсу**, йому потрібно явно надати роль (будь-яким чином), **яка надає йому це дозволення**.
- Явне **призначення ролі заборони має пріоритет** над роллю, що надає дозволення.
### Глобальний адміністратор
Глобальний адміністратор — це роль з Entra ID, яка надає **повний контроль над орендою Entra ID**. Однак за замовчуванням вона не надає жодних дозволів на ресурси Azure.
Користувачі з роллю глобального адміністратора мають можливість '**підвищити' до ролі адміністратора доступу користувачів Azure в кореневій групі управління**. Таким чином, глобальні адміністратори можуть керувати доступом у **всіх підписках Azure та групах управління.**\
Це підвищення можна здійснити в кінці сторінки: [https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/\~/Properties](https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/Properties)
### Політики Azure
**Політики Azure** — це правила, які допомагають організаціям забезпечити відповідність їх ресурсів певним стандартам і вимогам. Вони дозволяють **забезпечувати або перевіряти налаштування ресурсів в Azure**. Наприклад, ви можете заборонити створення віртуальних машин в несанкціонованому регіоні або забезпечити, щоб усі ресурси мали певні теги для відстеження.
Політики Azure є **проактивними**: вони можуть зупинити створення або зміну ресурсів, які не відповідають вимогам. Вони також є **реактивними**, дозволяючи вам знаходити та виправляти існуючі ресурси, що не відповідають вимогам.
#### **Ключові концепції**
1. **Визначення політики**: Правило, написане в JSON, яке вказує, що дозволено або вимагається.
2. **Призначення політики**: Застосування політики до конкретної області (наприклад, підписка, група ресурсів).
3. **Ініціативи**: Збірка політик, об'єднаних для ширшого застосування.
4. **Ефект**: Вказує, що відбувається, коли політика спрацьовує (наприклад, "Заборонити", "Аудит" або "Додати").
**Деякі приклади:**
1. **Забезпечення відповідності певним регіонам Azure**: Ця політика забезпечує, щоб усі ресурси розгорталися в певних регіонах Azure. Наприклад, компанія може захотіти, щоб усі її дані зберігалися в Європі для відповідності GDPR.
2. **Забезпечення стандартів іменування**: Політики можуть забезпечувати дотримання стандартів іменування для ресурсів Azure. Це допомагає в організації та легкому ідентифікуванні ресурсів за їхніми іменами, що корисно в великих середовищах.
3. **Обмеження певних типів ресурсів**: Ця політика може обмежити створення певних типів ресурсів. Наприклад, політика може бути встановлена для заборони створення дорогих типів ресурсів, таких як певні розміри ВМ, для контролю витрат.
4. **Забезпечення політик тегування**: Теги — це пари ключ-значення, пов'язані з ресурсами Azure, які використовуються для управління ресурсами. Політики можуть забезпечувати, щоб певні теги були присутні, або мали певні значення, для всіх ресурсів. Це корисно для відстеження витрат, власності або категоризації ресурсів.
5. **Обмеження публічного доступу до ресурсів**: Політики можуть забезпечувати, щоб певні ресурси, такі як облікові записи зберігання або бази даних, не мали публічних кінцевих точок, забезпечуючи, щоб вони були доступні лише в межах мережі організації.
6. **Автоматичне застосування налаштувань безпеки**: Політики можуть використовуватися для автоматичного застосування налаштувань безпеки до ресурсів, таких як застосування певної групи безпеки мережі до всіх ВМ або забезпечення, щоб усі облікові записи зберігання використовували шифрування.
Зверніть увагу, що політики Azure можуть бути прикріплені до будь-якого рівня ієрархії Azure, але вони **зазвичай використовуються в кореневій групі управління** або в інших групах управління.
Приклад політики Azure json:
```json
{
"policyRule": {
"if": {
"field": "location",
"notIn": ["eastus", "westus"]
},
"then": {
"effect": "Deny"
}
},
"parameters": {},
"displayName": "Allow resources only in East US and West US",
"description": "This policy ensures that resources can only be created in East US or West US.",
"mode": "All"
}
```
### Спадкування дозволів
В Azure **дозволи можуть бути призначені будь-якій частині ієрархії**. Це включає управлінські групи, підписки, групи ресурсів та окремі ресурси. Дозволи **спадкуються** від вміщених **ресурсів** сутності, до якої вони були призначені.
Ця ієрархічна структура дозволяє ефективно та масштабовано управляти дозволами доступу.
### Azure RBAC проти ABAC
**RBAC** (контроль доступу на основі ролей) - це те, що ми вже бачили в попередніх розділах: **Призначення ролі суб'єкту для надання йому доступу** до ресурсу.\
Однак у деяких випадках ви можете захотіти надати **більш детальне управління доступом** або **спростити** управління **сотнями** призначень ролей.
Azure **ABAC** (контроль доступу на основі атрибутів) базується на Azure RBAC, додаючи **умови призначення ролі на основі атрибутів** у контексті конкретних дій. _Умова призначення ролі_ - це **додаткова перевірка, яку ви можете за бажанням додати до свого призначення ролі** для надання більш детального контролю доступу. Умова фільтрує дозволи, надані в рамках визначення ролі та призначення ролі. Наприклад, ви можете **додати умову, яка вимагає, щоб об'єкт мав певний тег для читання об'єкта**.\
Ви **не можете** явно **заборонити** **доступ** до конкретних ресурсів **за допомогою умов**.
## Посилання
- [https://learn.microsoft.com/en-us/azure/governance/management-groups/overview](https://learn.microsoft.com/en-us/azure/governance/management-groups/overview)
- [https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/organize-subscriptions](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/organize-subscriptions)
- [https://abouttmc.com/glossary/azure-subscription/#:\~:text=An%20Azure%20subscription%20is%20a,the%20subscription%20it%20belongs%20to.](https://abouttmc.com/glossary/azure-subscription/)
- [https://learn.microsoft.com/en-us/azure/role-based-access-control/overview#how-azure-rbac-determines-if-a-user-has-access-to-a-resource](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview#how-azure-rbac-determines-if-a-user-has-access-to-a-resource)
- [https://stackoverflow.com/questions/65922566/what-are-the-differences-between-service-principal-and-app-registration](https://stackoverflow.com/questions/65922566/what-are-the-differences-between-service-principal-and-app-registration)
{{#include ../../../banners/hacktricks-training.md}}