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


Безопасность Центров уведомлений

Обзор

В этой статье описывается модель безопасности Центров уведомлений Azure.

Безопасность с использованием Подписи общего доступа (SAS)

Центры уведомлений реализуют схему безопасности на уровне сущностей, называемую подписанный токен доступа (SAS). Каждое правило содержит имя, значение ключа (общий секрет) и набор прав, как описано в далее разделе Утверждения безопасности.

При создании центра автоматически создаются два правила: одно с правами прослушивания (используется клиентским приложением), а другое — со всеми правами (используется серверной частью приложения).

  • DefaultListenSharedAccessSignature: предоставляет разрешение только на прослушивание.
  • DefaultFullSharedAccessSignature: предоставляет разрешения на прослушивание, управлениеи отправку. Эта политика используется только в серверной части приложения. Не используйте ее в клиентских приложениях; вместо этого применяйте политику с доступом только для прослушивания. Сведения о создании настраиваемой политики доступа с помощью нового маркера SAS см. в разделе Маркеры SAS для политик доступа далее в этой статье.

При управлении регистрациями из клиентских приложений, если данные, отправляемые посредством уведомлений, не являются конфиденциальными (например, новости погоды), то обычный способ доступа к Центру уведомлений состоит в передаче значения ключа для правила "Доступ только для прослушивания" в клиентское приложение, а также передаче значения ключа для правила "Полный доступ" в серверную часть приложения.

Приложения для Магазина Windows не должны внедрять значение ключа; вместо этого клиентское приложение должно извлекать его из бэкенда на старте.

Ключ с доступом на прослушивание позволяет клиентскому приложению регистрировать любой тег. Если возможности регистрации в приложении нужно ограничить определенными тегами для определенных клиентов (например, когда теги отражают идентификаторы пользователей), то такую регистрацию должна проводить серверная часть. Дополнительные сведения см. в разделе об управлении регистрацией. Обратите внимание, что в этом случае клиентское приложение не имеет прямого доступа к Центрам уведомлений.

Утверждения безопасности

Аналогично другим сущностям для операций Центра уведомлений разрешены три типа утверждений безопасности: прослушивание, отправка и управление.

Утверждение Описание Разрешенные операции
Слушайте Создание, обновление, чтение и удаление отдельных регистраций Создание и обновление регистрации

Чтение регистрации

Чтение всех регистраций для обработки

Удалить регистрацию
Отправить Отправка сообщений в Центр уведомлений Отправить сообщение
Управление Операции CRUD в Центрах уведомлений (включая обновление учетных данных PNS и ключей безопасности) и чтение регистраций на основе тегов Создать, обновить, прочитать и удалить хабы

Чтение регистраций по тегу

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

Отправить уведомление более чем одному пространству имен нельзя. Пространства имен — это логические контейнеры для Notification Hubs и не участвуют в отправке уведомлений.

Используйте политики доступа на уровне пространства имен (учетные данные) для операций уровня пространства имен (таких как перечисление концентраторов, создание или удаление концентраторов и т. д.). Отправлять уведомления позволяют только политики доступа на уровне концентратора.

Маркеры SAS для политик доступа

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

  1. Войдите на портал Azure.
  2. Выберите Все ресурсы.
  3. Выберите имя Центра уведомлений, для которого требуется создать утверждение или просмотреть ключ SAS.
  4. В меню слева выберите пункт Политики доступа.
  5. Выберите Создать политику, чтобы создать новое утверждение безопасности. Присвойте политике имя и выберите разрешения, которые хотите предоставить. Затем выберите OK.
  6. В окне политики доступа отобразится полная строка подключения (включая новый ключ SAS). Эту строку можно скопировать в буфер обмена для дальнейшего использования.

Чтобы извлечь ключ SAS из определенной политики, нажмите кнопку Копировать рядом с политикой, содержащей необходимый вам ключ SAS. Вставьте это значение во временное расположение, а затем скопируйте часть ключа SAS из строки подключения. В этом примере используется пространство имен Центров уведомлений с именем mytestnamespace1 и политика с именем policy2. Ключ SAS — это значение в конце строки, задаваемое параметром SharedAccessKey:

Endpoint=sb://mytestnamespace1.servicebus.windows.net/;SharedAccessKeyName=policy2;SharedAccessKey=<SAS key value here>

Получение ключей SAS

Следующие шаги