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

Обзор

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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