Безопасность Центров уведомлений
Обзор
В этой статье описывается модель безопасности Центров уведомлений Azure.
Безопасность на базе подписанного URL-адреса (SAS)
Центры уведомлений реализуют схему безопасности на уровне сущностей под названием SAS (подписанный URL-адрес). Каждое правило содержит имя, значение ключа (общий секрет) и набор прав, как описано в далее разделе Утверждения безопасности.
При создании центра автоматически создаются два правила: одно с правами прослушивания (используется клиентским приложением), а другое — со всеми правами (используется серверной частью приложения).
- DefaultListenSharedAccessSignature: предоставляет разрешение только на прослушивание.
- DefaultFullSharedAccessSignature: предоставляет разрешения на прослушивание, управлениеи отправку. Эта политика используется только в серверной части приложения. Не используйте ее в клиентских приложениях; вместо этого применяйте политику с доступом только для прослушивания. Сведения о создании настраиваемой политики доступа с помощью нового маркера SAS см. в разделе Маркеры SAS для политик доступа далее в этой статье.
При управлении регистрациями из клиентских приложений, если данные, отправляемые посредством уведомлений, не являются конфиденциальными (например, новости погоды), то обычный способ доступа к Центру уведомлений состоит в передаче значения ключа для правила "Доступ только для прослушивания" в клиентское приложение, а также передаче значения ключа для правила "Полный доступ" в серверную часть приложения.
Значение ключа не следует внедрять в клиентские приложения Магазина Windows; они могут извлекать это значение из своей серверной части при запуске.
Ключ с доступом на прослушивание позволяет клиентскому приложению регистрироваться на любой тег. Если возможности регистрации в приложении нужно ограничить определенными тегами для определенных клиентов (например, когда теги отражают идентификаторы пользователей), то такую регистрацию должна проводить серверная часть. Дополнительные сведения см. в разделе об управлении регистрацией. в статье "Управление регистрациями" Обратите внимание, что в этом случае клиентское приложение не имеет прямого доступа к Центрам уведомлений.
Утверждения безопасности
Аналогично другим сущностям для операций Центра уведомлений разрешены три типа утверждений безопасности: прослушивание, отправка и управление.
Утверждение | Description | Разрешенные операции |
---|---|---|
Прослушивание | Создание, обновление, чтение и удаление отдельных регистраций | Создание и обновление регистрации Чтение регистрации Чтение всех регистраций для обработки Регистрация удаления |
Отправить | Отправка сообщений в Центр уведомлений | Send message |
Управление | Операции CRUD в Центрах уведомлений (включая обновление учетных данных PNS и ключей безопасности) и чтение регистраций на основе тегов | Создание, обновление, чтение и удаление концентраторов Чтение регистраций по тегу |
Центры уведомлений принимают маркеры SAS, созданные с помощью общих ключей, которые настроены непосредственно в концентраторе.
Отправить уведомление более чем одному пространству имен нельзя. Пространства имен — это логические контейнеры для Центров уведомлений, которые не участвуют в отправке уведомлений.
Используйте политики доступа на уровне пространства имен (учетные данные) для операций уровня пространства имен (таких как перечисление концентраторов, создание или удаление концентраторов и т. д.). Отправлять уведомления позволяют только политики доступа на уровне концентратора.
Маркеры SAS для политик доступа
Чтобы создать утверждение безопасности или просмотреть существующие ключи SAS, выполните указанные ниже действия.
- Войдите на портал Azure.
- Выберите Все ресурсы.
- Выберите имя Центра уведомлений, для которого требуется создать утверждение или просмотреть ключ SAS.
- В меню слева выберите пункт Политики доступа.
- Выберите Создать политику, чтобы создать новое утверждение безопасности. Присвойте политике имя и выберите разрешения, которые хотите предоставить. Затем выберите OK.
- В окне политики доступа отобразится полная строка подключения (включая новый ключ SAS). Эту строку можно скопировать в буфер обмена для дальнейшего использования.
Чтобы извлечь ключ SAS из определенной политики, нажмите кнопку Копировать рядом с политикой, содержащей необходимый вам ключ SAS. Вставьте это значение во временное расположение, а затем скопируйте часть ключа SAS из строки подключения. В этом примере используется пространство имен Центров уведомлений с именем mytestnamespace1 и политика с именем policy2. Ключ SAS — это значение в конце строки, задаваемое параметром SharedAccessKey:
Endpoint=sb://mytestnamespace1.servicebus.windows.net/;SharedAccessKeyName=policy2;SharedAccessKey=<SAS key value here>