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

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

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

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

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

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

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

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

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

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

    Примечание.

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

    Screenshot showing the option to configure a SAS expiration policy is grayed out in the Azure portal.

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

    Screenshot showing how to configure a SAS expiration policy in the Azure portal.

  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. В поле Определение политики нажмите кнопку Дополнительно и введите текст ключи учетной записи хранения в поле Поиск. Выберите определение политики Ключи учетной записи хранения не должны быть просрочены.

    Screenshot showing how to select the built-in policy to monitor validity intervals for shared access signatures for your storage accounts

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

    Screenshot showing how to create the policy assignment

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

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

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

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

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

    Screenshot showing how to view the compliance report for the SAS expiration built-in policy

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

См. также