0Pricing
Azure Fundamentals · Урок

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 — локальная установка не требуется.

Все уроки этого курса

  1. Microsoft Defender for Cloud
  2. Azure Key Vault
  3. Microsoft Sentinel: облачная SIEM
  4. Защита Azure от DDoS и брандмауэр
← Назад к Azure Fundamentals