Параметры авторизации для службы хранилища Azure

Завершено

Перед тем как дорабатывать веб-приложение диагностических изображений пациентов, следует разобраться во всех доступных вариантах получения безопасного доступа. Подписанный URL-адрес (SAS) — безопасный способ предоставления клиентам доступа к ресурсам. Но это не единственный способ предоставления доступа. В некоторых ситуациях вашей организации могут подойти другие варианты.

Метод проверки подлинности SAS — не единственный, которым может воспользоваться компания.

В этом уроке вы изучите различные способы проверки подлинности доступа к файлам, хранящимся в служба хранилища Azure.

Доступ к службе хранилища Azure

Клиенты получают доступ к файлам, хранящимся в служба хранилища Azure по протоколу HTTP/HTTPS. Azure проверяет каждый запрос клиента на авторизацию для доступа к сохраненным данным. Для доступа к хранилищу BLOB-объектов доступны четыре варианта:

  • Открытый доступ
  • Microsoft Entra ID
  • Общий ключ
  • Подписанный URL-адрес (SAS)

Открытый доступ

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

На общий доступ влияют два отдельных параметра:

  • Учетная запись хранения. Настройте учетную запись хранения, чтобы разрешить общий доступ, задав свойство AllowBlobPublicAccess. Если задано значение true, данные большого двоичного объекта доступны для общего доступа только в том случае, если также задан параметр общего доступа к контейнеру.

  • Контейнер. Анонимный доступ можно включить, только если для учетной записи хранения разрешен анонимный доступ. У контейнера есть два возможных параметра для общего доступа: общий доступ на чтение для больших двоичных объектов и общий доступ на чтение для контейнера и его больших двоичных объектов. Анонимный доступ контролируется на уровне контейнера, а не для отдельных больших двоичных объектов. Таким образом, если вы хотите защитить некоторые файлы, их необходимо поместить в отдельный контейнер, который не разрешает общедоступный доступ на чтение.

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

Microsoft Entra ID

Используйте параметр Microsoft Entra для безопасного доступа служба хранилища Azure без хранения учетных данных в коде. Авторизация AD выполняется в два этапа. В первую очередь проверяется подлинность субъекта безопасности, при успехе возвращается маркер проверки подлинности OAuth 2.0. Затем этот маркер передается службе хранилища Azure, чтобы разрешить авторизацию доступа к запрошенному ресурсу.

Эта форма проверки подлинности удобна при использовании приложения с управляемыми удостоверениями или субъектов безопасности.

Общий ключ

Служба хранилища Azure создает два 512-битных ключа доступа для каждой создаваемой учетной записи хранения. Клиенты получают доступ к учетной записи хранения через общий доступ к этим ключам. Эти ключи предоставляют всем имеющим доступ пользователям эквивалент административного доступа к хранилищу.

Для управления ключами хранилища рекомендуется использовать Azure Key Vault, так как это позволяет легко менять ключи по регулярному расписанию, поддерживая защиту вашей учетной записи хранения.

Подписанный URL-адрес

SAS позволяет предоставлять детализированный доступ к файлам в службе хранилища Azure, например доступ только для чтения или для чтения и записи, со сроком действия, после которого SAS больше не разрешает клиенту доступ к выбранным ресурсам. Подписанный URL-адрес — это ключ, который предоставляет разрешение на доступ к ресурсу хранилища. Его необходимо защищать так же, как и ключ учетной записи.

Служба хранилища Azure поддерживает три типа подписанных URL-адресов:

  • SAS делегирования пользователей: SAS делегирования пользователей защищен учетными данными Microsoft Entra, так как маркер OAuth 2.0, используемый для подписи SAS, запрашивается от имени пользователя. Его можно использовать только для хранилища BLOB-объектов.
  • SAS службы. Защищен с помощью ключа учетной записи хранения. SAS уровня службы делегирует доступ к ресурсу в одной из служб хранилища Azure: службе BLOB-объектов, очередей, таблиц или файлов.
  • SAS учетной записи. Защищен с помощью ключа учетной записи хранения. Элементы управления у SAS учетной записи те же, что и у SAS службы, но он также может управлять доступом к операциям уровня службы, таким как получение статистики службы.

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

При создании SAS службы его также можно связать с хранимой политикой доступа. Хранимую политику доступа можно связать с несколькими активными SAS (не более пяти). Затем можно управлять доступом и сроком действия на уровне хранимой политики доступа. Этот подход подходит, если вам нужно иметь детальный контроль для изменения срока действия или отмены SAS. Единственный способ отозвать или изменить нерегламентированный SAS — это изменить ключи учетной записи хранения.

Проверьте свои знания

1.

У организации есть внутренняя система для предоставления общего доступа к сведениям о приеме пациентов и заметок. Вы можете защитить доступ пользователя на основе их членства в группе Microsoft Entra. Какой тип авторизации поддерживает этот сценарий лучше всего и почему?

2.

Общедоступный статический веб-сайт хранит все изображения своего пользовательского интерфейса в хранилище BLOB-объектов. Но веб-сайт должен отображать графику без всякой авторизации. Какой вариант оптимален?