Настройка политики истечения срока действия для подписей общего доступа

С помощью подписанного URL-адреса (SAS) можно делегировать доступ к ресурсам в вашей учетной записи службы хранилища Azure. Маркер SAS содержит сведения о целевом ресурсе, предоставленных разрешениях и интервале времени, в течение которого разрешен доступ. Рекомендуется ограничить интервал для SAS, если он скомпрометирован. Задав политику истечения срока действия SAS для учетных записей хранения, можно предоставить рекомендуемое максимальное ограничение срока действия, когда пользователь создает SAS делегирования пользователей, SAS службы или SAS учетной записи.

Дополнительные сведения о подписанных URL-адресах см. в статье об использование подписанных URL-адресов SAS в службе хранилища Azure.

Внимание

В сценариях, когда используются подписанные URL-адреса, корпорация Майкрософт рекомендует использовать SAS делегирования пользователей. SAS делегирования пользователей защищается с помощью учетных данных Microsoft Entra вместо ключа учетной записи, что обеспечивает более высокую безопасность.

Сведения о политиках срока действия SAS

Вы можете настроить политику срока действия SAS в учетной записи хранения. Политика истечения срока действия SAS указывает рекомендуемое максимальное ограничение для поля с подписанным сроком действия для SAS делегирования пользователей, SAS службы или SAS учетной записи. Рекомендуемый верхний предел указывается как значение даты и времени, которое представляет собой количество дней, часов, минут и секунд.

Период действия для SAS вычисляется путем вычитания значения даты и времени в подписанном поле начала срока действия из значения даты и времени в поле завершения срока действия. Если полученное значение не превышает рекомендуемый верхний предел, то SAS соответствует политике истечения срока действия SAS.

После настройки политики истечения срока действия SAS любой пользователь, создающий SAS с интервалом, превышающим рекомендуемый верхний предел, увидит предупреждение.

Политика истечения срока действия SAS не запрещает пользователю создавать SAS с истечением срока действия, превышающего ограничение, рекомендуемое политикой. Когда пользователь создает SAS, который нарушает политику, он видит предупреждение, а также рекомендуемый максимальный интервал. Если вы настроили параметр диагностики для ведения журнала с помощью Azure Monitor, служба хранилища Azure записывает сообщение в свойство SasExpiryStatus в журналах всякий раз, когда пользователь использует SAS, срок действия которого истекает после рекомендуемого интервала. Сообщение указывает на то, что период действия SAS превышает рекомендуемый интервал.

Если политика срока действия SAS действует для учетной записи хранения, подписанное поле начала срока действия нужно указать для каждого SAS. Если подписанное поле запуска не включено в SAS, и вы настроили параметр диагностики для ведения журнала с помощью Azure Monitor, служба хранилища Azure записывает сообщение в свойство SasExpiryStatus в журналах всякий раз, когда пользователь использует SAS без значения для подписанного начального поля.

Настройка политики истечения срока действия SAS

При настройке политики истечения срока действия SAS в учетной записи хранения политика применяется к каждому типу SAS: SAS делегирования пользователей, SAS службы и SAS учетной записи. Типы SAS и учетных записей службы подписываются ключом учетной записи, а SAS делегирования пользователей подписаны учетными данными Microsoft Entra.

Примечание.

SAS делегирования пользователей подписан ключом делегирования пользователей, который получается с помощью учетных данных Microsoft Entra. Ключ делегирования пользователей имеет собственный интервал истечения срока действия, который не подлежит политике истечения срока действия SAS. Политика истечения срока действия SAS применяется только к SAS делегирования пользователей, а не к ключу делегирования пользователей, с которым он подписан.

SAS делегирования пользователей имеет максимальный интервал истечения срока действия 7 дней независимо от политики истечения срока действия SAS. Если для политики истечения срока действия SAS задано значение, превышающее 7 дней, политика не действует для SAS делегирования пользователей. Если срок действия ключа делегирования пользователей истек, то любой SAS делегирования пользователей, подписанный этим ключом, недопустим, и любая попытка использовать SAS возвращает ошибку.

Нужно ли сначала повернуть ключи доступа к учетной записи?

Этот раздел относится к типам SAS службы и учетных записей, подписанным ключом учетной записи. Прежде чем настроить политику истечения срока действия SAS, возможно, потребуется сменить все ключи доступа к учетной записи по крайней мере один раз. Если свойство keyCreationTime учетной записи хранения имеет значение NULL для любого из ключей доступа к учетной записи (key1 и key2), необходимо повернуть их. Чтобы определить, имеет ли свойство keyCreationTime значение NULL, см. раздел "Получение времени создания ключей доступа к учетной записи хранения". Если вы пытаетесь настроить политику истечения срока действия SAS и ключи должны быть вращаются сначала, операция завершается ошибкой.

Настройка политики истечения срока действия SAS

Политику истечения срока действия SAS можно настроить с помощью портал Azure, PowerShell или Azure CLI.

Чтобы настроить политику истечения срока действия SAS в портал Azure, выполните следующие действия.

  1. Войдите в свою учетную запись хранения на портале Azure.

  2. В разделе Параметры выберите пункт Конфигурация.

  3. Найдите параметр Разрешить рекомендуемый верхний предел для интервала истечения срока действия подписанного URL-адреса (SAS) и задайте для него значение Включено.

    Примечание.

    Если параметр неактивен и отображается сообщение, показанное на рисунке ниже, необходимо повернуть оба ключа доступа к учетной записи, прежде чем задать рекомендуемое максимальное ограничение для значений интервала истечения срока действия SAS:

    Снимок экрана: параметр настройки политики истечения срока действия SAS неактивен в портал Azure.

  4. Укажите значения времени в разделе "Рекомендуемый верхний предел" для интервала истечения срока действия SAS для всех новых подписанных URL-адресов, созданных на ресурсах в этой учетной записи хранения.

    Снимок экрана: настройка политики истечения срока действия SAS в портал Azure.

  5. Выберите Сохранить, чтобы сохранить изменения.

Запрос журналов нарушений политики

Чтобы регистрировать использование SAS, допустимого более длительным интервалом, чем рекомендует политика истечения срока действия SAS, сначала создайте параметр диагностики, который отправляет журналы в рабочую область Azure Log Analytics. Дополнительные сведения см. в разделе Отправка журналов в Azure Log Analytics

Затем используйте запрос журнала Azure Monitor, чтобы отслеживать, была ли нарушена политика. Создайте новый запрос в рабочей области Log Analytics, добавьте следующий текст запроса и нажмите кнопку Выполнить.

StorageBlobLogs 
| where SasExpiryStatus startswith "Policy violated"
| summarize count() by AccountName, SasExpiryStatus

Использование встроенной политики для мониторинга соответствия

Вы можете контролировать учетные записи хранения с помощью Политики Azure, настроив для учетных записей хранения в подписке подходящие политики срока действия SAS. Служба хранилища Azure предоставляет встроенную политику, которая контролирует применение этого параметра для учетных записей. Дополнительные сведения о встроенной политике см. в строке учетные записи служба хранилища должны иметь настроенные политики подписанного url-доступа (SAS) списка Определения встроенных политик в Политике Azure.

Назначение встроенной политики для области ресурсов

Чтобы назначить встроенную политику соответствующей области на портале Azure, выполните указанные ниже действия:

  1. На портале Azure выполните поиск по слову Политика, чтобы найти панель мониторинга "Политика Azure".

  2. В разделе Разработка выберите Назначения.

  3. Выберите Назначить политику.

  4. На вкладке Основные сведения страницы Назначение политики в разделе Область укажите область назначения политики. Чтобы выбрать подписку и группу ресурсов (при желании), нажмите кнопку Дополнительно.

  5. В поле Определение политики нажмите кнопку Дополнительно и введите текст ключи учетной записи хранения в поле Поиск. Выберите определение политики Ключи учетной записи хранения не должны быть просрочены.

    Снимок экрана: выбор встроенной политики для отслеживания интервалов действия подписей общего доступа для учетных записей хранения

  6. Чтобы назначить определение политики указанной области, выберите Просмотреть и создать.

    Снимок экрана: создание назначения политики

Отслеживание соответствия для политики срока действия ключей

Чтобы отслеживать учетные записи хранения на соответствие политике срока действия ключей, выполните указанные ниже действия:

  1. На панели мониторинга Политики Azure найдите встроенное определение политики для области, указанной в назначении политики. Чтобы отфильтровать встроенную политику, можно найти Storage accounts should have shared access signature (SAS) policies configured в поле поиска .

  2. Выберите имя политики с нужной областью.

  3. На странице Назначение политики для встроенной политики выберите Просмотр соответствия. Все учетные записи хранения в указанной подписке и группе ресурсов, которые не соответствуют требованиям политики, отображаются в отчете о соответствии.

    Снимок экрана: просмотр отчета о соответствии для встроенной политики SAS

Чтобы обеспечить соответствие учетной записи хранения, настройте политику истечения срока действия SAS для этой учетной записи, как описано в разделе "Настройка политики истечения срока действия SAS".

См. также