내보내기(0) 인쇄
모두 확장
이 항목은 아직 평가되지 않았습니다.- 이 항목 평가

방법: ACS를 사용하여 첫 번째 클레임 인식 ASP.NET 서비스 만들기

게시: 2011년 4월

업데이트 날짜: 2011년 5월

적용 대상: Windows Azure

적용 대상

  • Microsoft® Windows Azure™ AppFabric ACS(액세스 제어 서비스)

개요

note참고
이 항목의 내용은 기존 기술과 관련된 것입니다. 이제는 http://go.microsoft.com/fwlink/?LinkID=220304를 사용하여 XML 웹 서비스 및 XML 웹 서비스 클라이언트를 만들어야 합니다.

이 항목에서는 간단한 ASP.NET 웹 서비스를 ACS와 통합하는 방법을 설명합니다. 웹 서비스를 ACS와 통합하면 코드를 통해 인증 및 권한 부여 기능을 사용할 수 있게 됩니다. 즉, ACS는 클라이언트를 웹 서비스에 인증하고 권한을 부여하는 메커니즘을 제공합니다. 자세한 내용은 웹 서비스 및 ACS를 참조하십시오.

웹 서비스 시나리오에서는 웹 서비스 클라이언트가 브라우저에 액세스할 수 없으며, 사용자 참여 없이 독립적으로 작동한다고 가정합니다. 또한 웹 서비스 시나리오에서는 클라이언트가 서비스 ID 또는 엔터프라이즈 ID를 사용하여 웹 서비스 액세스 권한을 얻을 수 있습니다. 이 항목에서 설명하는 연습에서 클라이언트는 ACS에 구성된 서비스 ID 자격 증명 유형을 사용하여 샘플 ASP.NET 웹 서비스에 대한 액세스 권한을 얻습니다.

이 항목의 단계를 수행하려면 샘플 ASP.NET 서비스를 다운로드해야 합니다. 자세한 내용은 코드 샘플: ASP.NET 웹 서비스를 참조하십시오.

ACS와 ASP.NET 웹 서비스를 통합하는 단계

Important중요
다음 단계를 수행하기 전에 먼저 시스템이 ACS 필수 구성 요소에 요약되어 있는 모든 .NET Framework 및 플랫폼 요구 사항을 충족하는지 확인하십시오.

ACS를 이 샘플 ASP.NET 웹 서비스와 통합하려면 다음 단계를 완료합니다.

1단계 - 서비스 네임스페이스 만들기

서비스 네임스페이스를 만드는 방법에 대한 자세한 지침은 How to: Create a Windows Azure AppFabric Service Namespace를 참조하십시오.

2단계 - ACS 관리 포털 시작

ACS 관리 포털에서는 ID 공급자를 추가하고, 신뢰 당사자 응용 프로그램을 구성하고, 규칙 및 규칙 그룹을 정의하고, 신뢰 당사자 응용 프로그램이 신뢰하는 자격 증명을 설정하여 ACS 서비스 네임스페이스를 구성할 수 있습니다.

ACS 관리 포털을 시작하려면

  1. 인터넷 브라우저를 열고 Windows Azure AppFabric 관리 포털(http://go.microsoft.com/fwlink/?LinkID=129428)로 이동합니다.

  2. Windows Live ID를 사용하여 웹 사이트에 로그온합니다. Windows Live ID가 없으면 등록을 클릭하여 ID를 만듭니다.

  3. Live ID로 로그인하면 관리 포털 페이지로 리디렉션됩니다. 이 페이지의 왼쪽 아래에서 서비스 버스 및 액세스 제어를 클릭합니다.

  4. ACS 관리 포털을 시작하려면 왼쪽의 트리에서 액세스 제어를 클릭하고 구성할 ACS 서비스 네임스페이스를 선택한 후에, 페이지 위쪽의 도구 모음에서 액세스 제어 서비스 단추를 클릭합니다.

3단계 - 신뢰 당사자 응용 프로그램 추가

이 섹션에서는 신뢰 당사자 응용 프로그램을 추가하는 방법을 설명합니다. 신뢰 당사자 응용 프로그램에 대한 자세한 내용은 신뢰 당사자 응용 프로그램을 참조하십시오.

신뢰 당사자 응용 프로그램을 설정하려면

  1. ACS 관리 포털의 왼쪽 트리에서 신뢰 당사자 응용 프로그램을 클릭하거나, 시작 섹션 아래의 신뢰 당사자 응용 프로그램 링크를 클릭합니다.

  2. 신뢰 당사자 응용 프로그램 페이지에서 추가를 클릭합니다.

  3. 신뢰 당사자 응용 프로그램 추가 페이지에서 다음을 수행합니다.

    • 이름에 신뢰 당사자 응용 프로그램의 이름을 입력합니다. 이 연습에서는 ASPNET 단순 서비스를 입력합니다.

    • 모드에서 수동으로 설정 입력를 선택합니다.

    • 영역에 ACS에서 발급한 보안 토큰이 적용되는 URI를 입력합니다. 이 연습에서는 http://localhost:8000/Service를 입력합니다.

    • 반환 URL에 ACS에서 보안 토큰을 반환하는 URL을 입력합니다. 이 연습에서는 http://localhost:8000/Service를 입력합니다.

    • 오류 URL(선택 사항)에 로그인 중 오류가 발생하면 ACS에서 게시할 수 있는 URL을 입력합니다. 이 연습에서는 이 필드를 비워 둡니다.

    • 토큰 형식에서 이 신뢰 당사자 응용 프로그램에 대해 보안 토큰을 발급할 때 ACS에서 사용하는 토큰 형식을 선택합니다. 이 연습에서는 SWT를 선택합니다. 토큰 및 토큰 형식에 대한 자세한 내용은 ACS에서 지원되는 토큰 형식신뢰 당사자 응용 프로그램의 "토큰 형식"을 참조하십시오.

    • 토큰 수명(초)에서는 ACS에서 발급하는 보안 토큰이 유효한 상태로 유지되는 시간을 지정합니다. 이 연습에서는 기본값인 600을 그대로 사용합니다. 토큰 수명에 대한 자세한 내용은 신뢰 당사자 응용 프로그램에서 "토큰 암호화 정책"을 참조하십시오.

    • ID 공급자에서는 이 신뢰 당사자 응용 프로그램에 사용할 ID 공급자를 선택할 수 있습니다.

      하지만 이 연습에서는 ID 공급자를 사용하지 않습니다. 클라이언트가 서비스 ID를 사용하여 웹 서비스 액세스 권한을 얻으므로, Windows Live ID 옆에 있는 확인란의 선택을 취소해야 합니다.

      서비스 ID에 대한 자세한 내용은 서비스 ID를 참조하십시오.

    • 규칙 그룹에서 클레임 처리 시 이 신뢰 당사자 응용 프로그램이 사용할 규칙 그룹을 선택합니다. 이 연습에서는 기본적으로 선택되어 있는 새 규칙 그룹 만들기를 그대로 사용합니다. 규칙 그룹에 대한 자세한 내용은 규칙 그룹 및 규칙을 참조하십시오.

    • 토큰 서명 설정 아래 토큰 서명 키에서 생성 단추를 클릭하여 이 신뢰 당사자에 대해 256비트 대칭 키를 생성합니다.

  4. 저장을 클릭합니다.

4단계 - 규칙 만들기

규칙은 클레임이 ID 공급자 또는 ACS(ACS가 클레임 발급자인 경우)에서 신뢰 당사자 응용 프로그램으로 전달되는 방법을 결정합니다. 규칙 및 규칙 그룹에 대한 자세한 내용은 규칙 그룹 및 규칙을 참조하십시오.

규칙을 만들려면

  1. ACS 관리 포털 홈 페이지의 왼쪽 트리에서 규칙 그룹을 클릭하거나, 시작 섹션 아래의 규칙 그룹 링크를 클릭합니다.

  2. 규칙 그룹 페이지에서 Default Rule Group for ASPNET Simple Service(ASPNET 단순 서비스에 대한 기본 규칙 그룹)를 클릭합니다. 여기서 ASPNET 단순 서비스는 이전 단계에서 지정한 신뢰 당사자 응용 프로그램의 이름입니다.

  3. 규칙 그룹 편집 페이지에서 추가를 클릭합니다.

  4. 클레임 규칙 추가 페이지에서 다음을 수행합니다.

    • If(다음의 경우) 섹션의 클레임 발급자에서 액세스 제어 서비스를 선택합니다.

    • If(다음의 경우) 섹션의 입력 클레임 유형에서 Any(임의)를 기본 선택된 상태로 둡니다.

    • If(다음의 경우) 섹션의 입력 클레임 값에서 Any(임의)를 기본 선택된 상태로 둡니다.

    • Then(수행할 작업) 섹션의 출력 클레임 유형에서 유형 입력을 선택하고 action을 입력합니다. 이 유형은 이 연습에서 사용하는 ASP.NET 웹 서비스 샘플 코드에 지정된 클레임 유형입니다(requiredClaimType = “action”). 이 문자열은 acs\WebServices\ASPNETSimpleService\Service에 있는 Default.aspx.cs의 샘플 코드에서 확인할 수 있습니다.

    • Then(수행할 작업) 섹션의 출력 클레임 값에서 값 입력을 선택하고 reverse를 입력합니다. 이 유형은 이 연습에서 사용하는 ASP.NET 웹 서비스 샘플 코드에 지정된 클레임 유형입니다(requiredClaimValue = “reverse”). 이 문자열은 acs\WebServices\ASPNETSimpleService\Service에 있는 Default.aspx.cs의 샘플 코드에서 확인할 수 있습니다.

    • 저장을 클릭합니다.

  5. 규칙 그룹 편집 페이지에서 저장을 클릭합니다.

5단계 - 서비스 ID 구성

이 항목에서 설명하는 연습에서 클라이언트는 ACS에서 발급한 SWT(Simple Web Token)를 ACS에서 요청합니다. 이때 ACS를 통해 등록 및 관리되는 사용자 이름과 암호, 즉 ACS 서비스 ID를 사용합니다. 이 섹션에서는 ACS 서비스 ID를 구성하는 방법 또는 클라이언트가 ACS에서 토큰을 요청하는 데 사용할 수 있는 ACS에서 호스팅되는 자격 증명을 구성하는 방법을 설명합니다. 자세한 내용은 서비스 ID를 참조하십시오. 이 연습에서는 서비스 ID 이름을 acssample(ASP.NET 서비스 클라이언트는 ACS에서 토큰을 요청할 때 이 값을 사용자 이름으로 사용함)로, 암호를 pass@word1로 설정합니다.

서비스 ID를 구성하려면

  1. ACS 관리 포털 홈 페이지의 왼쪽 트리에서 서비스 ID를 클릭합니다.

  2. 서비스 ID 페이지에서 추가를 클릭합니다.

  3. 서비스 ID 추가 페이지에서 다음을 수행하고 저장을 클릭합니다.

    1. 이름acssample을 입력합니다.

    2. 유형에서 암호를 선택합니다.

    3. 암호pass@word1을 입력합니다.

    4. 개시 날짜만료 날짜는 기본값을 그대로 둡니다.

  4. 서비스 ID 편집 페이지에서 저장을 클릭합니다.

6단계 – ACS와 ASP.NET 웹 서비스 간에 트러스트 구성

이 섹션에서는 ACS를 샘플 ASP.NET 서비스와 통합하는 방법을 설명합니다. 자세한 내용은 코드 샘플: ASP.NET 웹 서비스를 참조하십시오.

ACS와 ASP.NET 웹 서비스 간에 트러스트를 구성하려면

  1. 다운로드한 샘플에서 ASPNETSimpleService.sln을 찾아 Visual Studio® 2010에서 엽니다.

  2. Visual Studio 2010의 솔루션 탐색기에서 'ASPNETSimpleService' 솔루션 아래 web.config를 두 번 클릭합니다.

  3. 위의 단계에서, ACS에서 구성한 서비스 네임스페이스 이름 및 토큰 서명 키를 사용하여 web.config를 업데이트합니다. 토큰 서명 키는 ACS 관리 포털 기본 페이지에서 액세스할 수 있는 인증서 및 키 페이지에서 확인할 수 있습니다.

    다음은 web.config 파일에서 업데이트해야 하는 부분을 보여 주는 코드 조각입니다.

    <appSettings>
        <add key="AccessControlHostName" value="accesscontrol.windows.net"/>
        <add key="AccessControlNamespace" value="...update to your service namespace..."/>
        <add key="IssuerSigningKey" value="...update to your signing key..."/>
      </appSettings>
    
  4. 업데이트한 web.config 파일을 저장합니다.

  5. Visual Studio 2010의 솔루션 탐색기에서 'ASPNETSimpleService' 솔루션 아래 app.config 파일을 두 번 클릭합니다.

  6. 위의 단계에서, ACS에서 구성한 서비스 ID의 서비스 네임스페이스, 사용자 이름 및 암호를 사용하여 app.config를 업데이트합니다. 사용자 이름 및 암호 정보는 ACS 관리 포털 기본 페이지에서 액세스할 수 있는 서비스 ID 페이지에서 확인할 수 있습니다.

    다음은 app.config에서 업데이트해야 하는 부분을 보여 주는 코드 조각입니다.

    <appSettings>
        <add key="AccessControlHostName" value="accesscontrol.windows.net"/>
        <add key="AccessControlNamespace" value="...update to your service namespace..."/>
        <add key="WrapPassword" value="...update to your password..."/>
        <add key="WrapUsername" value="...update to your username..."/>
        <add key="ServiceAddress" value="http://localhost:8000/Service/Default.aspx" />
      </appSettings>
    
  7. 업데이트한 app.config 파일을 저장합니다.

7단계 – ACS와 ASP.NET 웹 서비스 간 통합 테스트

이 섹션에서는 ASP.NET 웹 서비스와 ACS 간 통합을 테스트하는 방법을 설명합니다.

ACS와 ASP.NET 웹 서비스 간 통합을 테스트하려면

  1. ASP.NET 서비스를 실행하려면 Visual Studio 2010에서 F5 키를 누릅니다.

  2. ASP.NET 웹 서비스 클라이언트를 실행하려면 솔루션 탐색기에서 클라이언트를 마우스 오른쪽 단추로 클릭하고 디버그를 선택한 다음 새 인스턴스 시작을 선택합니다.

    그러면 반전할 문자열을 입력하고 <Enter> 키를 누르십시오.라는 메시지와 함께 명령줄 창이 열립니다.

  3. hello world! 등의 문자열을 입력하고 Enter 키를 누릅니다.

    hello world!를 입력한 경우 콘솔 응용 프로그램에 !dlrow olleh가 응답으로 표시됩니다.

참고 항목

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft. All rights reserved.