Azure Key Vault
Храните секреты, ключи шифрования и сертификаты в Key Vault, а также интегрируйте его с другими службами Azure, чтобы не хранить учетные данные непосредственно в коде.
«Azure Key Vault» — бесплатный урок Azure Fundamentals на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Azure Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Azure Fundamentals содержит 4 уроков всего.
Что такое Azure Key Vault?
Azure Key Vault — это облачная служба для безопасного хранения и управления секретами (ключами API, паролями, строками подключения), ключами шифрования (используемыми для шифрования данных) и сертификатами (сертификатами TLS/SSL для приложений). Вместо встраивания конфиденциальных значений в код приложения, файлы конфигурации или переменные среды приложения получают их из Key Vault во время выполнения, благодаря чему учётные данные не попадают в исходный код и артефакты развёртывания.
Уровни Key Vault: Standard и Premium
Key Vault доступен на двух уровнях. Standard защищает секреты и сертификаты с помощью программного шифрования. Premium добавляет поддержку ключей, защищённых аппаратным модулем безопасности (HSM): криптографические операции выполняются внутри защищённого от несанкционированного доступа оборудования, сертифицированного по FIPS 140-2 уровня 2 (Standard) или уровня 3 (HSM). Отдельное предложение, Managed HSM, предоставляет полностью управляемый HSM с выделенным клиентом для самых строгих требований к уровню гарантии.
Создание Key Vault
Каждый Key Vault создаётся в определённой группе ресурсов Azure и регионе. Имя хранилища должно быть глобально уникальным в пространстве имён vault.azure.net. При создании Вы настраиваете модель доступа: либо устаревшую модель политик доступа к хранилищу, либо рекомендуемую модель Azure RBAC, в которой роли Entra ID независимо управляют доступом на чтение и запись к секретам, ключам и сертификатам.
# Create a Key Vault with RBAC access model
az keyvault create \
--name myUniqueVault123 \
--resource-group myRG \
--location eastus \
--enable-rbac-authorization true
# Grant yourself the Key Vault Secrets Officer role
az role assignment create \
--role 'Key Vault Secrets Officer' \
--assignee your-user@company.com \
--scope /subscriptions/<sub-id>/resourceGroups/myRG/providers/Microsoft.KeyVault/vaults/myUniqueVault123Хранение и получение секретов
Секретом в Key Vault является любое конфиденциальное строковое значение: пароли базы данных, ключи API, секреты клиентов OAuth, строки подключения Storage account. У каждого секрета есть имя, значение и необязательные атрибуты, такие как дата окончания действия и флаг включения. Приложения проходят аутентификацию в Key Vault (обычно с помощью управляемого удостоверения) и вызывают REST API Key Vault, чтобы получить текущее значение секрета во время выполнения — без жёстко заданных значений.
# Store a database password as a secret
az keyvault secret set \
--vault-name myUniqueVault123 \
--name db-password \
--value 'SuperSecret!42'
# Retrieve the secret value
az keyvault secret show \
--vault-name myUniqueVault123 \
--name db-password \
--query value \
--output tsvУправление ключами шифрования
Key Vault хранит криптографические ключи, используемые для шифрования и расшифровки данных. Такие службы, как Azure Storage, Azure SQL Database и Azure Disk Encryption, интегрируются с Key Vault для использования управляемых клиентом ключей (CMK) в сценариях Bring Your Own Key (BYOK). При использовании CMK Вы сохраняете контроль над ключом шифрования: отзыв ключа в Key Vault немедленно запрещает любой службе расшифровывать данные, предоставляя криптографический аварийный выключатель.
# Create an RSA key in Key Vault
az keyvault key create \
--vault-name myUniqueVault123 \
--name myEncryptionKey \
--kty RSA \
--size 2048
# Enable CMK on a Storage Account
az storage account update \
--resource-group myRG \
--name mystorageaccount \
--encryption-key-vault myUniqueVault123 \
--encryption-key-name myEncryptionKey \
--encryption-key-source Microsoft.KeyvaultУправление сертификатами
Key Vault может выступать как интерфейс центра сертификации для сертификатов TLS. Вы можете создавать самоподписанные сертификаты, импортировать существующие файлы PFX/PEM или настроить Key Vault на автоматический запрос и продление сертификатов у доверенных центров сертификации, таких как DigiCert или GlobalSign. Когда срок действия сертификата подходит к концу, Key Vault может автоматически продлить его и уведомить администраторов через события Event Grid, устраняя необходимость в ручном продлении.
# Import an existing certificate
az keyvault certificate import \
--vault-name myUniqueVault123 \
--name myCert \
--file certificate.pfx \
--password 'CertPassword'Управление доступом: RBAC и политики доступа
Key Vault поддерживает две модели доступа. Политики доступа к хранилищу — это устаревшая модель, в которой субъекту предоставляются разрешения на все секреты, ключи или сертификаты в хранилище; ограничить доступ отдельными именами секретов невозможно. Более новая и рекомендуемая модель Azure RBAC использует стандартные роли RBAC (Key Vault Secrets User, Key Vault Secrets Officer и другие), а также поддерживает назначения запрета и Privileged Identity Management, обеспечивая гораздо более точный контроль.
Интеграция Key Vault с App Service
Распространённый подход — указывать секреты Key Vault в качестве параметров приложения App Service. Вместо хранения значения секрета в параметре приложения Вы сохраняете ссылку на Key Vault: @Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/db-password/). App Service автоматически получает текущее значение секрета во время выполнения с помощью управляемого удостоверения приложения. Если секрет изменяется в Key Vault, приложение получает новое значение после следующего перезапуска.
# Set an App Service app setting as a Key Vault reference
az webapp config appsettings set \
--resource-group myRG \
--name myWebApp \
--settings 'DB_PASSWORD=@Microsoft.KeyVault(SecretUri=https://myUniqueVault123.vault.azure.net/secrets/db-password/)'Мягкое удаление и защита от окончательной очистки
Мягкое удаление (включено по умолчанию) сохраняет удалённые элементы Key Vault в течение 7–90 дней, позволяя восстановить их при случайном удалении. Защита от окончательной очистки при включении не позволяет никому — включая владельцев подписки — окончательно удалить хранилище или его объекты после мягкого удаления до истечения срока хранения. Для соответствия нормативным требованиям и устойчивости к программам-вымогателям включение обеих функций является рекомендованной практикой безопасности, которую обеспечивает Azure Policy.
# Recover a soft-deleted secret
az keyvault secret recover \
--vault-name myUniqueVault123 \
--name db-passwordМониторинг и аудит доступа к Key Vault
Каждая операция с Key Vault — чтение, запись, продление сертификатов и использование ключей — записывается в журнал аудита Key Vault. Вы включаете параметры диагностики, чтобы направлять эти журналы в рабочую область Log Analytics или Storage account для долгосрочного хранения. Это обеспечивает полный аудиторский след: кто, когда и с какого IP-адреса получил доступ к определённому секрету, — что необходимо для расследований безопасности и подтверждения соответствия.
# Enable diagnostic logging for Key Vault
az monitor diagnostic-settings create \
--resource /subscriptions/<sub-id>/resourceGroups/myRG/providers/Microsoft.KeyVault/vaults/myUniqueVault123 \
--workspace /subscriptions/<sub-id>/resourceGroups/myRG/providers/Microsoft.OperationalInsights/workspaces/myWorkspace \
--name kv-audit-logs \
--logs '[{"category":"AuditEvent","enabled":true}]'Частные конечные точки для Key Vault
По умолчанию Key Vault имеет общедоступную конечную точку HTTPS в Интернете. В средах с высокими требованиями к безопасности можно развернуть частную конечную точку, которая размещает Key Vault внутри Вашей VNet с частным IP-адресом, и полностью отключить общедоступную конечную точку. Приложения, обращающиеся к Key Vault через частную конечную точку, не проходят через общедоступный Интернет, что удовлетворяет требованиям предотвращения утечки данных и делает Key Vault невидимым извне Вашей VNet.
Проверка знаний
Проверьте, насколько хорошо Вы усвоили концепции Microsoft Azure Fundamentals (AZ-900) из этого урока.
Итоги урока
В этом уроке Вы узнали, что Key Vault хранит секреты, ключи шифрования и сертификаты TLS в управляемой службе с аудитом, интеграция с управляемым удостоверением устраняет необходимость в жёстко заданных учётных данных в коде приложения, а мягкое удаление и защита от окончательной очистки предотвращают случайное или злонамеренное удаление криптографических материалов. Далее мы рассмотрим Microsoft Sentinel — облачный SIEM от Azure.
Часто задаваемые вопросы
Урок «Azure Key Vault» бесплатный?
Да — полный текст урока «Azure Key Vault» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Azure Fundamentals, подпишись на CoddyKit PRO. Курс Azure Fundamentals содержит 4 уроков всего.
Чему я научусь в уроке «Azure Key Vault»?
Храните секреты, ключи шифрования и сертификаты в Key Vault, а также интегрируйте его с другими службами Azure, чтобы не хранить учетные данные непосредственно в коде. Ты практикуешь Azure Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Azure Fundamentals?
Предыдущий опыт не требуется. Azure Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Azure Key Vault»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Azure Fundamentals?
Да. Каждый урок Azure Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Microsoft Defender for Cloud
- Azure Key Vault
- Microsoft Sentinel: облачная SIEM
- Защита Azure от DDoS и брандмауэр