Экспорт (0) Печать
Развернуть все
Эта тема еще не получила оценку - Оценить эту тему

Инструкция по настройке безопасности и проверки подлинности в приложении Service Bus

В этом разделе описывается, как выполнять проверку подлинности службы и клиентского приложения с помощью Windows Azure Service Bus. Дополнительные сведения настройке безопасности на уровне сообщения и транспорта см. в разделе Защита и проверка подлинности при подключении к Service Bus, а также в разделе Обеспечение безопасности служб документации по Windows Communication Foundation (WCF).

При разработке службы сначала необходимо определить, какой тип учетных данных будет использоваться для проверки подлинности в Service Bus и должен ли проходить проверку подлинности клиент, подключающийся к этой службе. Все службы должны проходить проверку подлинности в Service Bus с помощью SAML, общего секрета или простого веб-маркера. Может понадобиться использовать один вид проверки подлинности для службы, а другой — для клиента. Дополнительные сведения см. в разделе Выбор режима проверки подлинности для приложений Service Bus.

При разработке клиента следует определить, какие типы учетных данных проверки подлинности необходимы для службы, к которой выполняется подключение. Это можно сделать несколькими способами, в том числе с помощью получения данных из метаданных контракта. Дополнительные сведения см. в разделе Инструкция по проектированию контракта службы WCF на основе REST, используемого с Service Bus.

Определение проверки подлинности для Service Bus в файле App.config

  1. Определите процедуру, в которой будет использоваться указанный элемент <transportClientEndpointBehavior>, а также соответствующие учетные данные.

    На примере следующего кода из WebHttpSample в пакете Windows Azure SDK демонстрируется, как объявлять и настраивать учетные данные общего секрета.

    <behaviors>
      <endpointBehaviors>
        <behavior name="sharedSecretClientCredentials">
          <transportClientEndpointBehavior credentialType="SharedSecret">
            <clientCredentials>
              <sharedSecret issuerName="ISSUER_NAME" issuerSecret="ISSUER_SECRET" />
            </clientCredentials>
          </transportClientEndpointBehavior>
        </behavior>
      </endpointBehaviors>
    </behaviors>
    

    В этой процедуре имя и секрет издателя хранятся непосредственно в файле App.config. Рекомендуется каким-либо способом защитить файлы конфигурации, содержащие подобные сведения безопасности.

    После определения учетных данных в файле App.config приложение автоматически начнет использовать конфигурацию безопасности. Дополнительных действий не требуется.

Программное определение проверки подлинности для Service Bus

  1. Получите учетные данные безопасности:

    Console.Write("Your Issuer Name: ");
    string issuerName = Console.ReadLine();
    Console.Write("Your Issuer Secret: ");
    string issuerSecret = Console.ReadLine();
    

    Как свойственно примерам в пакете Windows Azure SDK, в этой процедуре пользователю известны имя и секрет издателя, поэтому они вводятся напрямую. Дополнительные сведения получении этих сведений см. в разделе Создание приложений, использующих Access Control Service.

  2. Создайте объект процедуры конечной точки учетных данных, содержащий учетные данные безопасности:

    TransportClientEndpointBehavior sharedSecretServiceBusCredential = new TransportClientEndpointBehavior();
    sharedSecretServiceBusCredential.CredentialType = TransportClientCredentialType.SharedSecret;
    sharedSecretServiceBusCredential.Credentials.SharedSecret.IssuerName = issuerName;
    sharedSecretServiceBusCredential.Credentials.SharedSecret.IssuerSecret = issuerSecret;
    
  3. Создайте производство каналов для подключения к конечной точке:

    ChannelFactory<IEchoChannel> channelFactory = new ChannelFactory<IEchoChannel>("RelayEndpoint", new EndpointAddress(serviceUri));
    
  4. Примените учетные данные к производству каналов:

    channelFactory.Endpoint.Behaviors.Add(sharedSecretServiceBusCredential);
    

    После применения учетных данных к производству каналов можно открыть подключение к конечной точке и получить доступ к Service Bus.

Была ли вам полезна эта информация?
(1500 символов осталось)
Спасибо за ваш отзыв

Добавления сообщества

ДОБАВИТЬ
Показ:
© 2014 Microsoft. Все права защищены.