2015-11-09 3 views
4

Мне нужно разоблачить некоторые функции обмена сообщениями (уведомлениями) от нашей системы до третьей стороны.Azure Service Bus - разрешающая тема и подписка

Я в настоящее время прототипирую решение с Azure Service Bus, но я столкнулся с небольшой проблемой с разрешения.

    --> SUB1 --> Provider 1 
       /
MyApp --> TOPIC --< 
        \ 
        --> SUB2 --> Provider 2 

Я хочу бросить небольшой JSON сообщение в Topic. сообщения будет иметь свойство «ProviderId», прикрепленное к нему, и на основе правил фильтрации, что сообщение будет отфильтровано на поставщик конкретного Subscription

Однако я, кажется, не в состоянии определить общий доступ политика на Subscription, чтобы ограничить 3-го поставщика партии только подключение к их собственному Subscription

Я правильно предполагая, что я должен настроить auto-forwarding на подписке для отправки этих сообщений на другой Queue и затем приклеивается поставщик конкретной безопасности там.

    --> SUB1 --> AutoForward --> Q1 --> Provider 1 
       /
MyApp --> TOPIC --< 
        \ 
        --> SUB2 --> AutoForward --> Q2 --> Provider 2 

Или есть другой/лучший/рекомендуемый способ для этого.

+0

Теперь существует обходное решение с использованием токенов OAuth Style https://code.msdn.microsoft.com/Using-Shared-Access-e605b37c#content –

ответ

2

Ваше предположение верно. Политики общего доступа могут создаваться только для пространств имен и/или объектов сообщений, в этом случае. Вы можете проверить here для получения дополнительной информации.

Мне кажется, что автопересылка - лучший способ пойти, больше информации here.

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

+0

Спасибо за ссылки. –

Смежные вопросы