Управление жизненным циклом для ключей доступа к учетной записи хранения
При создании учетной записи хранения платформа Azure создает два 512-разрядных ключа доступа к учетной записи хранения для этой учетной записи. Эти ключи можно использовать для авторизации доступа к данным в учетной записи хранения с помощью авторизации общего ключа или через маркеры SAS, подписанные общим ключом.
Корпорация Майкрософт рекомендует использовать хранилище ключей Azure Key Vault для управления ключами доступа и производить регулярную ротацию и повторное создание ключей. Использование хранилища ключей Azure упрощает процесс ротации ключей без прерывания работы приложений. Вы также можете вручную производить процесс ротации.
Защита ключей доступа
Ключи доступа к учетной записи хранения предоставляют полный доступ к конфигурации учетной записи хранения, а также к данным. Не забудьте защитить ключи доступа. Для безопасного управления ключами и их замены воспользуйтесь Azure Key Vault. Доступ к общему ключу предоставляет пользователю полный доступ к конфигурации учетной записи хранения и его данным. Доступ к общим ключам следует тщательно ограничить и отслеживать. Используйте маркеры подписанного URL-адреса (SAS) с ограниченной областью доступа в сценариях, когда авторизация на основе идентификатора Microsoft Entra не может использоваться. Избегайте жесткого написания ключей доступа или сохраняйте их в любом месте обычного текста, доступного другим пользователям. Поверните ключи, если вы считаете, что они были скомпрометированы.
Корпорация Майкрософт рекомендует использовать идентификатор Microsoft Entra для авторизации запросов к большим двоичным объектам, очередям и табличным данным, а не с помощью ключей учетной записи (авторизация общего ключа). Авторизация с помощью идентификатора Microsoft Entra обеспечивает более высокую безопасность и простоту использования при авторизации общего ключа. Для общих папок Azure для блока сообщений сервера (SMB) корпорация Майкрософт рекомендует использовать интеграцию локальная служба Active Directory доменных служб (AD DS) или проверку подлинности Microsoft Entra Kerberos.
Чтобы запретить пользователям доступ к данным в учетной записи хранения с общим ключом, вы можете запретить авторизацию общего ключа для учетной записи хранения. Подробный доступ к данным с минимальными привилегиями рекомендуется в качестве рекомендации по обеспечению безопасности. Авторизация на основе идентификатора Microsoft Entra должна использоваться для сценариев, поддерживающих OAuth. Kerberos или SMTP следует использовать для Файлы Azure по протоколу SMB. Для Файлы Azure по протоколу REST можно использовать маркеры SAS. Доступ к общему ключу следует отключить, если не требуется, чтобы предотвратить его непреднамеренное использование.
Чтобы защитить учетную запись служба хранилища Azure с помощью политик условного доступа Microsoft Entra, необходимо запретить авторизацию общего ключа для учетной записи хранения.
Если вы отключили доступ к общему ключу, и вы видите авторизацию общего ключа, указанную в журналах диагностики, это означает, что доверенный доступ используется для доступа к хранилищу.
Просмотр ключей доступа к учетной записи
Вы можете просматривать и копировать ключи доступа к учетной записи с помощью портала Azure, PowerShell или Azure CLI. Портал Azure также предоставляет строку подключения для вашей учетной записи хранения, которую можно скопировать.
Чтобы просмотреть и скопировать ключи доступа к учетной записи хранения или строку подключения через портал Azure:
На портале Azure перейдите к учетной записи хранения.
В разделе "Безопасность и сеть" выберите ключи доступа. Появятся ключи доступа к учетной записи и полная строка подключения для каждого ключа.
Выберите "Показать ключи" , чтобы отобразить ключи доступа и строки подключения, а также включить кнопки для копирования значений.
В разделе key1 найдите значение ключа . Нажмите кнопку "Копировать ", чтобы скопировать ключ учетной записи.
Кроме того, можно скопировать всю строку подключения. В разделе key1 найдите значение строки подключения. Нажмите кнопку "Копировать ", чтобы скопировать строку подключения.
Для доступа к службе хранилища Azure можно использовать любой из двух ключей, но в общем случае рекомендуется использовать первый ключ и сохранить использование второго ключа для ротации ключей.
Чтобы просмотреть или прочитать ключи доступа учетной записи, пользователь должен быть администратором службы или назначить роль Azure, включающую Microsoft.Storage/storageAccounts/listkeys/action. Некоторые встроенные роли Azure, включающие это действие: "Владелец", "Участник" и "Оператор ключей учетной записи хранения".
Использование хранилища ключей Azure Key Vault для управления ключами доступа
Корпорация Майкрософт рекомендует использовать Azure Key Vault для управления ключами доступа и их ротации. Azure Key Vault предоставляет несколько преимуществ:
- Централизованное управление ключами: храните все ключи учетной записи хранения в одном безопасном расположении.
- Безопасный доступ. Приложение может безопасно получать доступ к ключам в Key Vault, не сохраняя их в файлах кода приложения или конфигурации.
- Автоматическая смена: настройте автоматическую ротацию ключей с помощью функции управления ключами учетной записи хранения Azure Key Vault, которая может выполнять ротацию ключей по определенному расписанию.
- Журналирование доступа: мониторинг и аудит всех ключей доступа с помощью журналов Azure Monitor.
- Интеграция с управляемыми удостоверениями: приложения, работающие в Azure, могут использовать управляемые удостоверения для доступа к ключам из Key Vault без хранения учетных данных.
Для автоматической смены ключей можно также использовать Runbooks службы автоматизации Azure или Функции Azure для реализации пользовательской логики ротации, обновляющей как ключ учетной записи хранения, так и секрет Key Vault.
Выполнение ротации ключей доступа вручную
Корпорация Майкрософт рекомендует периодически выполнять ротацию ключей доступа, чтобы защитить свою учетную запись хранения. По возможности рекомендуется использование Azure Key Vault для управления ключами доступа. Если вы не используете Key Vault, необходимо будет вручную производить замену ключей.
Таким образом, чтобы можно было осуществлять смену ключей, назначаются два ключа доступа. Использование двух ключей помогает удостовериться в том, что приложение сохраняет доступ к службе хранилища Azure на протяжении всего процесса.
Повторное создание ключей доступа может влиять на работу ваших приложений или служб Azure, которые зависят от ключа учетной записи хранения. Все клиенты, использующие ключ учетной записи для доступа к хранилищу, должны быть обновлены для использования нового ключа, включая мультимедийные службы, облачные, настольные и мобильные приложения, а также приложения с графическим пользовательским интерфейсом для Azure Storage, такие как Azure Storage Explorer.
Смена или повторное создание ключей доступа отменяет подписанные URL-адреса (SAS), созданные на основе этого ключа. После смены ключа доступа необходимо повторно создать учетные записи и маркеры SAS службы, чтобы избежать сбоев в приложениях. Обратите внимание, что маркеры SAS делегирования пользователей защищены учетными данными Microsoft Entra и не подвержены изменениям ключей, что делает их более безопасным выбором при работе с Blob storage.
Если вы планируете выполнять смену ключей доступа вручную, корпорация Майкрософт рекомендует настроить политику срока действия ключей.
После создания политики срока действия ключей вы можете использовать Политику Azure для отслеживания того, была ли выполнена смена ключей учетной записи хранения в течение рекомендованного интервала.
Чтобы сменить ключи доступа к учетной записи хранения на портале Azure, выполните следующие действия.
- Обновите строки подключения в коде приложения, чтобы ссылаться на дополнительный ключ доступа учетной записи хранения.
- Войдите в свою учетную запись хранения на портале Azure.
- В разделе "Безопасность и сеть" выберите ключи доступа.
- Чтобы повторно создать первичный ключ доступа для учетной записи хранения, нажмите кнопку "Повторно создать " рядом с первичным ключом доступа.
- Обновите строки подключения в коде, чтобы они ссылались на новый основной ключ доступа.
- Повторите процедуру, чтобы повторно создать вторичный ключ доступа.
Это важно
Во всех приложениях рекомендуется использовать одновременно только один из ключей. Если в одних приложениях используется ключ 1, а в других — ключ 2, вы не сможете произвести смену ключей без того, чтобы некоторые приложения утратили доступ.
Чтобы сменить ключи доступа учетной записи, пользователь должен быть администратором службы или ему должна быть назначена роль Azure, которая включает действие Microsoft.Storage/storageAccounts/regeneratekey/action. Некоторые встроенные роли Azure, включающие это действие, — это Владелец, Участник и Оператор сервиса ключей учетной записи хранения.
Создание политики срока действия ключа
Политика срока действия ключей позволяет настроить напоминание для смены ключей доступа учетной записи. Напоминание отображается, если заданный интервал истек, но смена ключей еще не была выполнена. После создания политики срока действия ключей вы можете отслеживать учетные записи хранения на предмет соответствия требованиям, чтобы обеспечить регулярную смену ключей доступа учетной записи.
Политики срока действия ключей особенно полезны в организациях с требованиями соответствия требованиям, которые предписывают регулярное смену ключей. В сочетании с политикой Azure вы можете применить смену ключей во всей среде Azure.
Чтобы создать политику срока действия ключей на портале Azure, выполните следующие действия:
На портале Azure перейдите к учетной записи хранения.
В разделе "Безопасность и сеть" выберите ключи доступа. Появятся ключи доступа к учетной записи и полная строка подключения для каждого ключа.
Нажмите кнопку «Задать напоминание о вращении». Если кнопка "Задать поворот напоминания " неактивна, вам потребуется повернуть каждый из ключей. Выполните действия, описанные в руководстве по повороту ключей доступа вручную , чтобы повернуть ключи.
В разделе "Настройка напоминания для смены ключей доступа" установите флажок "Включить напоминания о смене ключей " и установите частоту для напоминания.
Нажмите кнопку "Сохранить".
Проверка нарушений для политики срока действия ключей
Вы можете отслеживать учетные записи хранения с помощью Политики Azure, чтобы убедиться, что смена ключей доступа учетной записи выполняется в течение рекомендуемого периода времени. Служба хранилища Azure предоставляет встроенную политику, которая обеспечивает своевременную смену ключей.
Назначение встроенной политики для области ресурсов
Чтобы назначить встроенную политику соответствующей области на портале Azure, выполните указанные ниже действия:
На портале Azure найдите политику, чтобы отобразить панель мониторинга политики Azure.
В разделе "Создание" выберите "Задания".
Выберите Назначить политику.
На вкладке "Основы " на странице "Назначение политики " в разделе "Область " укажите область назначения политики. Чтобы выбрать подписку и группу ресурсов (при желании), нажмите кнопку Дополнительно.
В поле определения политики нажмите кнопку "Дополнительно " и введите ключи учетной записи хранения в поле поиска . Выберите определение политики с именем ключи учетной записи хранения не должны истекать.
Выберите "Проверка и создание ", чтобы назначить определение политики заданной области.
Отслеживание соответствия для политики срока действия ключей
Чтобы отслеживать учетные записи хранения на соответствие политике срока действия ключей, выполните указанные ниже действия:
На панели мониторинга Политики Azure найдите встроенное определение политики для области, указанной в назначении политики. Чтобы отфильтровать встроенную политику, вы можете выполнить поиск Ключи учетной записи хранения не должны истекать в поле поиска.
Выберите имя политики с нужной областью.
На странице назначения политики для встроенной политики выберите "Просмотр соответствия". В отчете о соответствии отображаются все учетные записи хранения в указанной подписке и группе ресурсов, которые не соответствуют требованиям политики.
Чтобы привести учетную запись хранения в соответствие, выполните ротацию ключей доступа учетной записи, следуя описанному ранее процессу ручной ротации.