Упражнение. Создание хранилища ключей и хранение секретов
Создание хранилищ ключей для приложений
Рекомендуется создавать отдельное хранилище для каждой среды развертывания (среды разработки, среды тестирования и рабочей среды) каждого приложения. В одном хранилище можно хранить секреты для нескольких приложений и сред, однако последствия получения злоумышленником доступа к хранилищу усугубляются с увеличением количества секретов в нем.
Совет
Если вы используете одни и те же имена секретов в разных средах приложения, единственный параметр конфигурации, который нужно изменить в вашем приложении — это URL-адрес хранилища.
Чтобы создать хранилище, ничего предварительно настраивать не нужно. Удостоверение пользователя автоматически предоставляет полный набор разрешений на управление секретами. Вы можете сразу же приступить к добавлению секретов. После создания хранилища можно добавлять секреты и управлять ими в интерфейсе администрирования Azure, включая портал Azure, Azure CLI и Azure PowerShell. При настройке приложения для использования хранилища необходимо назначить правильные разрешения, как описано в следующем уроке.
Создание хранилища и сохранение в нем секрета
Учитывая все проблемы компании с секретами приложений. Управление просит создать небольшое начальное приложение, чтобы задать другим разработчикам правильный путь. Оно должно демонстрировать максимально простые и безопасные методы управления секретами.
Чтобы начать, создайте хранилище и сохраните в нем один секрет.
Создание хранилища Key Vault
Имена Key Vault должны быть глобально уникальными, поэтому выберите уникальное имя. Имена хранилищ должны быть длиной от 3 до 24 символов и содержать только буквы, цифры и дефисы. Запишите выбранное имя хранилища, так как в этом упражнении его требуется.
Чтобы создать хранилище, выполните в Azure Cloud Shell следующую команду. Обязательно укажите уникальное имя хранилища в параметре --name
.
az keyvault create \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--location centralus \
--name <your-unique-vault-name>
По завершении вы увидите выходные данные JSON, описывающие новое хранилище.
Совет
Эта команда использовала предварительно созданную группу ресурсов с именем
Добавление секрета
Теперь добавьте секрет. Наш секрет называется SecretPassword
значением reindeer_flotilla
. Не забудьте заменить <your-unique-vault-name>
именем хранилища, созданным в параметре --vault-name
.
az keyvault secret set \
--name SecretPassword \
--value reindeer_flotilla \
--vault-name <your-unique-vault-name>
Прежде чем писать код для приложения, сначала необходимо узнать, как приложение будет проходить проверку подлинности в хранилище.