Shared Access Signatures (SAS)

Реализация безопасности Azure для разработчиков

Anushika Agarwal

Cloud Data Engineer

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

  • Предоставляет ограниченный доступ к ресурсам хранилища
  • Не раскрывает ключ учётной записи хранилища

SAS

Реализация безопасности Azure для разработчиков

Аналогия: SAS как токен для вендингового автомата

  • Токен действителен ограниченное время (например, 30 секунд)

  • Токен разрешает только одно действие (например, одну Coca-Cola)

Пример SAS с вендинговым автоматом

Реализация безопасности Azure для разработчиков

Как защищается SAS?

  • Подписывается ключом учётной записи хранилища

Ключ учётной записи хранилища

  • Или с помощью Microsoft Entra ID

Microsoft Entra ID

Реализация безопасности Azure для разработчиков

Типы SAS

  • SAS с делегированием пользователя
    • Использует учётные данные Microsoft Entra
    • Работает с Blob и Data Lake Storage

Токены SAS

  • Сервисный SAS
    • Использует ключ учётной записи хранилища
    • Доступ к одному сервису: Blob, Queue, Table или File
  • Учётный SAS
    • Использует ключ учётной записи хранилища
    • Доступ к нескольким сервисам
    • Операции на уровне сервиса
Реализация безопасности Azure для разработчиков

Реальный сценарий

  • Сценарий:

    • PeopleSphere передаёт отчёты о зарплате внешнему аудитору
  • Тип SAS: SAS с делегированием пользователя

  • Ограниченный доступ:

    • Аудитор видит только нужные отчёты
  • Ограничение по времени:

    • Доступ истекает автоматически
  • Безопасная аутентификация:
    • Учётные данные Azure компании PeopleSphere

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

Реализация безопасности Azure для разработчиков

Структура SAS

Компоненты SAS

  1. URI — путь к ресурсу
  2. Токен — правила доступа и подпись

Токен SAS

Реализация безопасности Azure для разработчиков

Компоненты токена

Токен SAS

  • sp: разрешения (например, r = чтение, w = запись)
  • st / se: время начала и окончания действия
  • spr: протокол (например, только https)
  • sr: тип ресурса (b = blob, f = file)
  • sv: версия Storage API
  • sig: подпись для проверки
Реализация безопасности Azure для разработчиков

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

  • Всегда используйте HTTPS

  • Отдавайте предпочтение SAS с делегированием пользователя
  • Устанавливайте короткий срок действия

Короткий срок действия

  • Предоставляйте минимальные разрешения

Минимальный доступ

  • Не используйте SAS для доступа к данным высокого риска

Конфиденциальные данные

Реализация безопасности Azure для разработчиков

Давайте потренируемся!

Реализация безопасности Azure для разработчиков

Preparing Video For Download...