Поделиться через


Что такое подписанный URL-адрес OneLake (SAS)?

Ограниченная общая подпись доступа (SAS) OneLake обеспечивает безопасный, краткосрочный и делегированный доступ к ресурсам в OneLake. С помощью SAS OneLake у вас есть детальный контроль над доступом клиента к данным. Например:

  • Какими ресурсами клиент может воспользоваться.
  • Какие разрешения у них есть для ресурсов.
  • Как долго действует SAS.

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

Принцип работы подписи для совместного доступа

Маркер подписи совместного доступа — это токен, добавленный к URI для ресурса OneLake. Маркер содержит специальный набор параметров запроса, указывающий, как клиент может получить доступ к ресурсу. Одним из параметров запроса является подпись. Он создан из параметров SAS и подписан ключом, который использовался для создания SAS. OneLake использует эту подпись для авторизации доступа к папке или файлу в OneLake. SAS OneLake использует тот же формат и свойства, что и SAS, делегированный пользователем службы хранилища Azure, но с более строгими ограничениями безопасности в отношении срока действия и охвата.

SAS OneLake подписан с помощью ключа делегирования пользователей (UDK), который поддерживается учетными данными Microsoft Entra. Ключ делегирования пользователя можно запросить с помощью операции Get User Delegation Key. Затем вы используете этот ключ (пока он по-прежнему действителен) для создания SAS OneLake. Разрешения этих учетных данных Microsoft Entra, а также разрешения, явно предоставленные SAS, определяют доступ клиента к ресурсу.

Авторизация SAS OneLake

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

Когда следует использовать SAS OneLake

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

OneLake SAS также поддерживает приложения, которые служат посредниками между пользователями и их данными. Например, некоторые независимые поставщики программного обеспечения (НПО) работают между пользователями и их рабочей областью Fabric, предоставляя дополнительную функциональность и, возможно, другую модель проверки подлинности. Делегируя доступ с помощью SAS OneLake, эти поставщики программного обеспечения могут управлять доступом к базовым данным и предоставлять прямой доступ к данным, даже если у пользователей нет удостоверений Microsoft Entra.

Управление OneLake SAS

Два параметра в клиенте Fabric управляют использованием SAS OneLake.

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

Примечание.

Отключение этой функции предотвращает использование всех рабочих областей с помощью SAS OneLake, так как все пользователи не смогут создавать ключи делегирования пользователей.

Второй параметр — это делегированный параметр рабочей области, проверка подлинности с помощью маркеров SAS, делегированных пользователем OneLake, которая определяет, принимает ли рабочая область SAS OneLake. Этот параметр отключен по умолчанию. Администратор рабочей области может включить этот параметр, чтобы разрешить проверку подлинности с помощью SAS OneLake в своей рабочей области. Администратор арендатора может включить этот параметр для всех рабочих областей с помощью параметра арендатора или оставить его администраторам рабочей области, чтобы включить его.

Вы также можете отслеживать создание ключей делегирования пользователей на портале Microsoft Purview. Чтобы просмотреть все ключи, сгенерированные в вашем тенанте, выполните поиск по имени операции generateonelakeudk. Так как создание SAS является клиентской операцией, вы не можете отслеживать или ограничивать создание SAS OneLake, только создание UDK.

Рекомендации по использованию SAS OneLake

  • Всегда используйте протокол HTTPS для создания или распространения SAS, чтобы защититься от атак типа «человек посередине», которые пытаются перехватить SAS.
  • Отслеживайте срок действия ключа и маркера SAS. Ключи делегирования пользователей OneLake и маркеры SAS имеют максимальное время существования 1 часа. Попытка запросить UDK или создать SAS со временем существования более 1 часа приводит к сбою запроса. Чтобы предотвратить использование SAS для продления срока действия маркеров OAuth, время существования маркера также должно быть больше времени истечения срока действия ключа делегирования пользователя и SAS.
  • Будьте осторожны с временем начала токена SAS. Установка времени начала для SAS в качестве текущего времени может вызвать сбои в течение первых нескольких минут из-за разных времени начала между компьютерами (часовое отклонение). Установка времени начала на несколько минут назад помогает защититься от этих ошибок.
  • Предоставьте наименьшие возможные привилегии SAS. Предоставление минимально необходимых привилегий к наименьшему возможному числу ресурсов является лучшей практикой в обеспечении безопасности и уменьшает воздействие в случае компрометации SAS.
  • Отслеживайте создание ключей делегирования пользователей. Вы можете проверить создание ключей делегирования пользователей на портале Microsoft Purview. Найдите имя операции generateonelakeudk, чтобы просмотреть ключи, созданные в вашем клиенте.
  • Ознакомьтесь с ограничениями OneLake SAS. Так как маркеры SAS OneLake не могут иметь разрешения на уровне рабочей области, они несовместимы с некоторыми средствами службы хранилища Azure, которые ожидают разрешения на уровне контейнера для обхода данных, таких как Обозреватель службы хранилища Azure.