Translated ['src/pentesting-cloud/azure-security/az-services/az-keyvault

This commit is contained in:
Translator
2025-07-12 14:23:54 +00:00
parent 8c36715631
commit 3610c625d7
@@ -2,15 +2,15 @@
{{#include ../../../banners/hacktricks-training.md}}
## Основна інформація
## Basic Information
**Azure Key Vault** - це хмарний сервіс, наданий Microsoft Azure для безпечного зберігання та управління чутливою інформацією, такою як **секрети, ключі, сертифікати та паролі**. Він діє як централізований репозиторій, пропонуючи безпечний доступ та детальний контроль за допомогою Azure Active Directory (Azure AD). З точки зору безпеки, Key Vault забезпечує **захист апаратного модуля безпеки (HSM)** для криптографічних ключів, гарантує, що секрети шифруються як в спокої, так і в русі, і пропонує надійне управління доступом через **контроль доступу на основі ролей (RBAC)** та політики. Він також має **журналювання аудиту**, інтеграцію з Azure Monitor для відстеження доступу та автоматизовану ротацію ключів для зменшення ризику від тривалого відкриття ключів.
**Azure Key Vault** - це хмарна служба, що надається Microsoft Azure для безпечного зберігання та управління чутливою інформацією, такою як **секрети, ключі, сертифікати та паролі**. Вона діє як централізований репозиторій, пропонуючи безпечний доступ та детальний контроль за допомогою Azure Active Directory (Azure AD). З точки зору безпеки, Key Vault забезпечує **захист апаратного модуля безпеки (HSM)** для криптографічних ключів, гарантує, що секрети шифруються як у спокої, так і в русі, та пропонує надійне управління доступом через **контроль доступу на основі ролей (RBAC)** та політики. Вона також має **журналювання аудиту**, інтеграцію з Azure Monitor для відстеження доступу та автоматизовану ротацію ключів для зменшення ризику від тривалого відкриття ключів.
Дивіться [Azure Key Vault REST API overview](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates) для отримання повних деталей.
Згідно з [**документацією**](https://learn.microsoft.com/en-us/azure/key-vault/general/basic-concepts), Vaults підтримують зберігання програмних та HSM-підтримуваних ключів, секретів і сертифікатів. Керовані HSM пули підтримують лише HSM-підтримувані ключі.
**Формат URL** для **vaults** - `https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version}`, а для керованих HSM пулів: `https://{hsm-name}.managedhsm.azure.net/{object-type}/{object-name}/{object-version}`
**Формат URL** для **vaults** - `https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version}`, а для керованих HSM пулів - `https://{hsm-name}.managedhsm.azure.net/{object-type}/{object-name}/{object-version}`
Де:
@@ -19,28 +19,28 @@
- `object-name` - **унікальне** ім'я об'єкта в ключовому сховищі
- `object-version` - генерується системою і використовується для адресації **унікальної версії об'єкта**.
Для доступу до секретів, збережених у сховищі, можна вибрати між 2 моделями дозволів під час створення сховища:
Щоб отримати доступ до секретів, збережених у сховищі, можна вибрати між 2 моделями дозволів під час створення сховища:
- **Політика доступу до сховища**
- **Azure RBAC** (найбільш поширена та рекомендована)
- Ви можете знайти всі детальні дозволи, що підтримуються, за адресою [https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/security#microsoftkeyvault](https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/security#microsoftkeyvault)
### Контроль доступу <a href="#access-control" id="access-control"></a>
### Access Control <a href="#access-control" id="access-control"></a>
Доступ до ресурсу Key Vault контролюється двома площинами:
- **площина управління**, ціль якої - [management.azure.com](http://management.azure.com/).
- **управлінська площина**, ціль якої - [management.azure.com](http://management.azure.com/).
- Використовується для управління ключовим сховищем та **політиками доступу**. Підтримується лише контроль доступу на основі ролей Azure (**RBAC**).
- **площина даних**, ціль якої - **`<vault-name>.vault.azure.com`**.
- Використовується для управління та доступу до **даних** (ключів, секретів і сертифікатів) **в ключовому сховищі**. Це підтримує **політики доступу до ключового сховища** або Azure **RBAC**.
Роль, така як **Contributor**, яка має дозволи в площині управління для управління політиками доступу, може отримати доступ до секретів, змінюючи політики доступу.
Роль, така як **Contributor**, яка має дозволи в управлінській площині для управління політиками доступу, може отримати доступ до секретів, змінюючи політики доступу.
### Вбудовані ролі RBAC Key Vault <a href="#rbac-built-in-roles" id="rbac-built-in-roles"></a>
### Key Vault RBAC Built-In Roles <a href="#rbac-built-in-roles" id="rbac-built-in-roles"></a>
<figure><img src="../../../images/image (27).png" alt=""><figcaption></figcaption></figure>
### Мережевий доступ
### Network Access
У Azure Key Vault можна налаштувати **правила брандмауера**, щоб **дозволити операції площини даних лише з вказаних віртуальних мереж або діапазонів IPv4 адрес**. Це обмеження також впливає на доступ через портал адміністрування Azure; користувачі не зможуть перерахувати ключі, секрети або сертифікати в ключовому сховищі, якщо їх IP-адреса не входить до авторизованого діапазону.
@@ -48,7 +48,7 @@
```bash
az keyvault show --name name-vault --query networkAcls
```
Попередня команда відобразить налаштування брандмауера `name-vault`, включаючи активовані IP-діапазони та політики для забороненого трафіку.
Попередня команда відобразить налаштування брандмауера `name-vault`, включаючи активовані діапазони IP та політики для забороненого трафіку.
Більше того, можливо створити **приватний кінець** для дозволу приватного з'єднання з сейфом.
@@ -67,6 +67,7 @@ az keyvault show --name name-vault --query networkAcls
az keyvault list
# List Key Vaults in a specific Resource Group
az keyvault list --resource-group <ResourceGroupName>
az keyvault list --query '[].{name:name}' -o tsv # Get just the names
# Show details of a specific Key Vault
az keyvault show --name <KeyVaultName> # If accessPolicies, you can see them here
# List all keys in a Key Vault