내보내기(0) 인쇄
모두 확장

REST 기반 서비스 버스 응용 프로그램에 대한 보안 설정

업데이트 날짜: 2014년 6월

이 항목에서는 응용 프로그램이 Microsoft.ServiceBus.dll 어셈블리를 통해 Service Bus와 상호 작용하며, 인증 기능이 Azure에서 제공된다고 가정합니다.특히 이 항목에서는 웹 응용 프로그램의 기본 바인딩인 WebHttpRelayBinding 바인딩을 사용하는 응용 프로그램에 대해 다룹니다.

WebHttpRelayBinding 바인딩에서 빌드된 서비스에 액세스하는 웹 클라이언트의 릴레이 인증 옵션이 가장 일반적인 시나리오에 맞게 만들어졌습니다.웹 스타일 클라이언트는 들어오는 모든 트래픽을 허용하는 서비스와 가장 많이 통신합니다.이러한 클라이언트는 AJAX 스타일 사용자 환경을 활성화하고 보완하는 여러 사용자 지정 기술을 사용하여 간단한 인증만을 수행합니다.WebHttpRelayBinding 바인딩에서 Security.Transport.RelayAuthenticationType 속성을 None으로 설정하면 같은 결과를 얻고 비슷한 충실도를 유지할 수 있습니다.이 옵션은 Service Bus WebNoAuth 릴레이 인증 예제에서 확인할 수 있습니다.이 섹션 뒷부분에서 이 옵션을 설정하는 절차를 간략하게 설명합니다.

  1. 서비스에서 인증을 필요한 대로 구성합니다.

    Console.Write("Your Issuer Name: ");
    string issuerName = Console.ReadLine();
    Console.Write("Your Issuer Secret: ");
    string issuerSecret = Console.ReadLine();
    …
    TransportClientEndpointBehavior clientBehavior = new TransportClientEndpointBehavior();
    clientBehavior.CredentialType = TransportClientCredentialType.SharedSecret;
    clientBehavior.Credentials.SharedSecret.IssuerName = issuerName;
    clientBehavior.Credentials.SharedSecret.IssuerSecret = issuerSecret;
    

    다른 응용 프로그램과 마찬가지로 App.config 파일에서 또는 프로그래밍 방식으로 인증을 구성할 수 있습니다.

  2. RelayClientAuthenticationType 필드를 None으로 설정합니다.

    <bindings>
      <!-- Application Binding -->
      <webHttpRelayBinding>
        <binding name="default">
          <security relayClientAuthenticationType="None" />
        </binding>
      </webHttpRelayBinding>
    </bindings>
    

    이렇게 하면 서비스가 필요한 경우 Service Bus에서 인증할 수 있을 뿐만 아니라, 클라이언트에서 인증하지 않고도 연결할 수 있습니다.이 시나리오에서 App.config 파일은 전체 시나리오에 사용할 보안 유형을 정의하지만, 서비스 인증 시 "없음"으로 표시할 수 없기 때문에 프로그래밍 방식의 구성(1단계)에서 필요한 App.config 파일을 다시 정의합니다.

RelayClientAuthenticationType 속성에 RelayAccessToken 옵션을 사용하는 경우 Service Bus는 HTTP 트래픽을 수신 서비스로 전달하기 전에 인증과 권한 부여 작업을 수행해야 하는 일반 HTTP 서비스에 대해 보안 계층을 제공합니다.Service Bus에서 Relay 인증이 사용하도록 설정되어 있으면 프로그래밍 방식 자격 증명을 통해 필요한 보안 토큰을 제공할 수 있습니다.

프로그래밍 방식 자격 증명을 구현하려는 경우에는 공유 암호, Simple Web Token 등 액세스 제어 서비스를 통해 Service Bus에 제공되는 인증 옵션을 사용할 수 있습니다.자세한 내용은 TechNet의 방법:서비스 버스 응용 프로그램에 대한 보안 및 인증 설정. 다음 절차에는 웹 토큰을 만드는 방법에 대한 절차가 간략하게 나와 있습니다.

  1. 사용자의 발급자 이름 및 암호를 검색합니다.

    Console.Write("Your Issuer Name: ");
    string issuerName = Console.ReadLine();
    Console.Write("Your Issuer Secret: ");
    string issuerSecret = Console.ReadLine();
    
  2. 전송 클라이언트 자격 증명 유형을 SimpleWebToken으로 정의합니다.

    TransportClientEndpointBehavior behavior = new TransportClientEndpointBehavior();
    behavior.CredentialType = TransportClientCredentialType.SimpleWebToken;
    
    
  3. ComputeSimpleWebTokenString 호출을 통해 웹 토큰을 계산하고 초기화합니다.

    behavior.Credentials.SimpleWebToken.SimpleWebToken = SharedSecretCredential.ComputeSimpleWebTokenString(issuerName, issuerSecret);
    

    웹 토큰을 만들면 끝점에 동작을 추가하고, 채널 팩터리를 만들며, Service Bus 채널을 열 수 있습니다.

표시:
© 2014 Microsoft