Share via


방법: ACS를 사용하여 첫 번째 클레임 인식 ASP.NET 애플리케이션 만들기

업데이트: 2015년 6월 19일

Azure에 적용합니다.

중요

ACS 네임스페이스는 Google ID 공급자 구성을 OpenID 2.0에서 OpenID Connect로 마이그레이션할 수 있습니다. 마이그레이션은 2015년 6월 1일 이전에 완료해야 합니다. 자세한 지침은 ACS 네임스페이스를 Google OpenID 커넥트 마이그레이션을 참조하세요. 마이그레이션을 수행할 때까지 Facebook과 같은 다른 ID 공급자를 사용하여 이 자습서를 완료할 수 있습니다.

적용 대상

  • Microsoft Azure Active Directory 액세스 제어(액세스 제어 서비스 또는 ACS라고도 함)

개요

이 항목에서는 ACS를 ASP.NET 신뢰 당사자 애플리케이션과 통합하는 시나리오에 대해 설명합니다. 웹 애플리케이션을 ACS와 통합하면 코드에서 인증 및 권한 부여의 기능을 고려합니다. 즉, ACS는 웹 애플리케이션에 사용자를 인증하고 권한을 부여하는 메커니즘을 제공합니다.

이 연습 시나리오에서 ACS는 Google ID를 사용하여 사용자를 테스트 ASP.NET 신뢰 당사자 애플리케이션으로 인증합니다.

ACS를 ASP.NET 신뢰 당사자 응용 프로그램과 통합하는 단계

중요

다음 단계를 수행하기 전에 시스템에서 ACS 필수 구성 요소에 요약된 모든 .NET 프레임워크 및 플랫폼 요구 사항을 충족하는지 확인합니다.

ACS를 ASP.NET 신뢰 당사자 애플리케이션과 통합하려면 다음 단계를 완료합니다.

  • 1단계 - 액세스 제어 네임스페이스 만들기

  • 2단계 – ACS 관리 포털 시작

  • 3단계 – ID 공급자 추가

  • 4단계 - 신뢰 당사자 애플리케이션 추가

  • 5단계 - 규칙 만들기

  • 6단계 - 응용 프로그램 통합 정보 검토

  • 7단계 - ASP.NET 신뢰 당사자 응용 프로그램 만들기

  • 8단계 – ACS와 ASP.NET 신뢰 당사자 응용 프로그램 간의 신뢰 구성

  • 9단계 – ACS와 ASP.NET 신뢰 당사자 응용 프로그램 간의 통합 테스트

1단계 - 액세스 제어 네임스페이스 만들기

Access Control 네임스페이스를 만드는 방법에 대한 자세한 지침은 방법: Access Control 네임스페이스 만들기를 참조하세요.

2단계 – ACS 관리 포털 시작

ACS 관리 포털을 사용하면 ID 공급자를 추가하고, 신뢰 당사자 애플리케이션을 구성하고, 규칙 및 규칙 그룹을 정의하고, 신뢰 당사자 애플리케이션이 신뢰하는 자격 증명을 설정하여 Access Control 네임스페이스를 구성할 수 있습니다.

ACS 관리 포털을 시작하려면

  1. Microsoft Azure 관리 포털(https://manage.WindowsAzure.com)로 이동하여 로그인한 다음 Active Directory를 클릭합니다. (문제 해결 팁: "Active Directory" 항목이 없거나 사용할 수 없음)

  2. Access Control 네임스페이스를 관리하려면 네임스페이스를 선택한 다음 관리를 클릭합니다. 또는 Access Control 네임스페이스를 클릭하고 네임스페이스를 선택한 다음 관리를 클릭합니다.

3단계 – ID 공급자 추가

이 섹션에서는 인증을 위해 신뢰 당사자 응용 프로그램에 사용할 ID 공급자를 추가하는 방법을 설명합니다. ID 공급자에 대한 자세한 내용은 ID 공급자를 참조하세요.

ID 공급자를 추가하려면

  1. ACS 관리 포털의 왼쪽 트리에서 ID 공급자를 클릭하거나 시작 섹션 아래의 ID 공급자 링크를 클릭합니다.

  2. ID 공급자 페이지에서 추가를 클릭하고 ID 공급자로 Google을 선택한 후 다음을 클릭합니다.

  3. Google ID 공급자 추가 페이지가 표시되어 로그인 링크 텍스트(기본값: Google) 및 이미지 URL을 입력하라고 합니다. 이 URL은 이 ID 공급자의 로그인 링크로 사용될 수 있는 이미지 파일을 가리킵니다. 이러한 필드를 편집하는 것은 선택 사항입니다. 이 연습에서는 해당 필드를 편집하지 않고 저장을 클릭합니다.

4단계 - 신뢰 당사자 애플리케이션 추가

이 섹션에서는 신뢰 당사자 응용 프로그램을 추가 및 구성하는 방법을 설명합니다. 신뢰 당사자 애플리케이션에 대한 자세한 내용은 신뢰 당사자 애플리케이션을 참조하세요.

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

  1. ACS 관리 포털의 왼쪽 트리에서 신뢰 당사자 애플리케이션을 클릭하거나 시작 섹션 아래의 신뢰 당사자 애플리케이션 링크를 클릭합니다.

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

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

    • 이름에 신뢰 당사자 응용 프로그램의 이름을 입력합니다. 이 연습에서는 TestApp을 입력합니다.

    • 모드에서 Enter settings manually를 선택합니다.

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

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

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

    • 토큰 형식에서 이 신뢰 당사자 애플리케이션에 보안 토큰을 발급할 때 사용할 ACS의 토큰 형식을 선택합니다. 이 연습에서는 SAML 2.0을 선택합니다. 토큰 및 토큰 형식에 대한 자세한 내용은 ACS에서 지원되는 토큰 형식신뢰 당사자 애플리케이션의 "토큰 형식"을 참조하세요.

    • 토큰 암호화 정책에서 이 신뢰 당사자 애플리케이션에 대해 ACS에서 발급한 토큰에 대한 암호화 정책을 선택합니다. 이 연습에서는 기본값 없음을 그대로 사용합니다. 토큰 암호화 정책에 대한 자세한 내용은 신뢰 당사자 애플리케이션의 "토큰 암호화 정책"을 참조하세요.

    • 토큰 수명(초)에 ACS에서 발급한 보안 토큰이 유효한 상태를 유지하는 시간을 지정합니다. 이 연습에서는 기본값 600을 그대로 사용합니다. 자세한 내용은 신뢰 당사자 애플리케이션의 "토큰 수명"을 참조하세요.

    • ID 공급자에서 이 신뢰 당사자 응용 프로그램에 사용할 ID 공급자를 선택합니다. 이 연습에서는 선택된 기본값(GoogleWindows Live ID)을 적용합니다.

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

    • 토큰 서명 설정 섹션에서 Access Control 네임스페이스에 대한 인증서로 SAML 토큰에 서명할지 또는 이 애플리케이션과 관련된 사용자 지정 인증서를 사용하여 SAML 토큰에 서명할지 여부를 선택합니다. 이 연습에서는 기본값 서비스 네임스페이스 인증서(표준) 사용을 그대로 사용합니다. 토큰 서명에 대한 자세한 내용은 신뢰 당사자 애플리케이션의 "토큰 서명"을 참조하세요.

  4. 저장을 클릭합니다.

5단계 - 규칙 만들기

이 섹션에서는 클레임이 ID 공급자에서 신뢰 당사자 응용 프로그램으로 전달되는 방식을 결정하는 규칙을 정의하는 방법을 설명합니다. 규칙 및 규칙 그룹에 대한 자세한 내용은 규칙 그룹 및 규칙을 참조하세요.

규칙을 만들려면

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

  2. 규칙 그룹 페이지에서 TestApp에 대한 기본 규칙 그룹(신뢰 당사자 응용 프로그램의 이름을 TestApp으로 지정했으므로)을 클릭합니다.

  3. 규칙 그룹 편집 페이지에서 생성을 클릭합니다.

  4. 규칙 생성: TestApp에 대한 기본 규칙 그룹 페이지에서 기본적으로 선택한 ID 공급자(이 연습에서는 GoogleWindows Live ID)를 수락한 다음 생성 단추를 클릭합니다.

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

6단계 - 응용 프로그램 통합 정보 검토

ACS 관리 포털의 애플리케이션 통합 페이지에서 ACS와 함께 작동하도록 신뢰 당사자 애플리케이션을 수정하는 데 필요한 모든 정보 및 코드를 찾을 수 있습니다.

응용 프로그램 통합 정보를 검토하려면

  • ACS 관리 포털 홈 페이지의 왼쪽 트리에서 애플리케이션 통합을 클릭하거나 시작 섹션 아래의 애플리케이션 통합 링크를 클릭합니다.

    애플리케이션 통합 페이지에 표시되는 ACS URI는 Access Control 네임스페이스에 고유합니다.

    이 연습에서는 나머지 단계를 신속하게 수행하려면 이 페이지를 열어 두는 것이 좋습니다.

7단계 - ASP.NET 신뢰 당사자 응용 프로그램 만들기

이 섹션에서는 결국 ACS와 통합하려는 ASP.Net 신뢰 당사자 애플리케이션을 만드는 방법을 설명합니다.

ASP.Net 신뢰 당사자 응용 프로그램을 만들려면

  1. 2010 Visual Studio 실행하려면 시작을 클릭하고 실행을 클릭하고 다음 텍스트를 입력한 다음 Enter 키를 누릅니.
    devenv.exe

  2. Visual Studio에서 파일을 클릭한 후 새 프로젝트를 클릭합니다.

  3. 새 프로젝트 창에서 Visual Basic 또는 Visual C# 템플릿을 선택한 후 ASP.NET MVC 2 웹 응용 프로그램을 선택합니다.

  4. 이름에 다음 텍스트를 입력한 후 확인을 클릭합니다.
    TestApp

  5. 단위 테스트 프로젝트 만들기에서 아니요, 단위 테스트 프로젝트를 만들지 않습니다.를 선택한 후 확인을 클릭합니다.

  6. 솔루션 탐색기에서 TestApp을 마우스 오른쪽 단추로 클릭한 후 속성을 선택합니다.

  7. TestApp 속성 창에서 탭을 선택하고 Visual Studio 개발 서버 사용에서 특정 포트를 클릭한 후 값을 7777로 변경합니다.

  8. 방금 만든 응용 프로그램을 실행 및 디버그하려면 F5 키를 누릅니다. 오류가 발견되지 않으면 브라우저에서 빈 MVC 프로젝트를 렌더링합니다.

    다음 단계를 완료하기 위해 Visual Studio 2010을 열린 상태로 둡니다.

8단계 – ACS와 ASP.NET 신뢰 당사자 응용 프로그램 간의 신뢰 구성

이 섹션에서는 이전 단계에서 만든 ASP.NET 신뢰 당사자 애플리케이션과 ACS를 통합하는 방법을 설명합니다.

ASP.NET 신뢰 당사자 응용 프로그램과 ACS 간의 신뢰를 구성하려면

  1. Visual Studio 2010의 TestApp 솔루션 탐색기에서 TestApp을 마우스 오른쪽 단추로 클릭한 후 STS 참조 추가를 선택합니다.

  2. Federation Utility 마법사에서 다음을 수행합니다.

    1. Federation Utility 마법사 시작 페이지에서 응용 프로그램 URI에 응용 프로그램 URI를 입력한 후 다음을 클릭합니다. 이 데모에서 애플리케이션 URI는 .입니다 https://localhost:7777/.

      참고

      후행 슬래시는 신뢰 당사자 애플리케이션에 대한 ACS 관리 포털에 입력한 값과 일치하기 때문에 중요합니다. 자세한 내용은 4단계 - 신뢰 당사자 애플리케이션 추가를 참조하세요.

    2. 경고 팝업: ID 1007: 애플리케이션이 보안 https 연결에서 호스트되지 않습니다. 계속하시겠습니까? 이 데모에서는 예를 클릭합니다.

      참고

      프로덕션 환경에서 SSL 사용에 대한 이 경고는 유효하며 무시해서는 안 됩니다.

    3. 보안 토큰 서비스 페이지에서 기존 STS 사용을 선택하고 ACS에서 게시한 WS-Federation 메타데이터 URL을 입력한 후 다음을 클릭합니다.

      참고

      ACS 관리 포털의 애플리케이션 통합 페이지에서 WS-Federation 메타데이터 URL의 값을 찾을 수 있습니다. 자세한 내용은 6단계 - 애플리케이션 통합 정보 검토를 참조하세요.

    4. STS 서명 인증서 체인 유효성 검사 오류 페이지에서 다음을 클릭합니다.

    5. 보안 토큰 암호화 페이지에서 다음을 클릭합니다.

    6. 제공된 클레임 페이지에서 다음을 클릭합니다.

    7. 요약 페이지에서 마침을 클릭합니다.

    Federation Utility 마법사 실행을 완료하고 나면 이 마법사는 Microsoft.IdentityModel.dll 어셈블리에 대한 참조를 추가하고 ASP.NET MVC 2 웹 응용 프로그램(TestApp)에서 Windows Identity Foundation을 구성하는 Web.config 파일에 값을 씁니다.

  3. Web.config를 열고 기본 system.web 요소를 찾습니다. 이 요소는 다음과 유사합니다.

    <system.web>
        <authorization>
          <deny users="?" />
        </authorization>
    

    기본 system.web 요소 아래에 다음 코드를 추가하여 요청 유효성 검사를 사용하도록 Web.config를 수정합니다.

        <!--set this value-->
        <httpRuntime requestValidationMode="2.0"/>
    
    

    업데이트를 수행하고 나면 위의 코드 조각이 다음과 유사합니다.

    
       <system.web>
        <!--set this value-->
        <httpRuntime requestValidationMode="2.0"/>
        <authorization>
        <deny users="?" />
        </authorization>
    

9단계 – ACS와 ASP.NET 신뢰 당사자 응용 프로그램 간의 통합 테스트

이 섹션에서는 신뢰 당사자 애플리케이션과 ACS 간의 통합을 테스트하는 방법을 설명합니다.

ASP.NET 신뢰 당사자 응용 프로그램과 ACS 간의 통합을 테스트하려면

  1. Visual Studio 2010을 열려 있는 상태로 두고 F5 키를 눌러 ASP.NET 신뢰 당사자 응용 프로그램 디버깅을 시작합니다.

    기본 MVC 애플리케이션을 여는 대신 오류가 없는 경우 브라우저는 ID 공급자를 선택하도록 요청하는 ACS에서 호스트하는 홈 영역 검색 페이지로 리디렉션됩니다.

  2. Google을 선택합니다.

    그런 다음 브라우저에 Google 로그온 페이지가 로드됩니다.

  3. 테스트 Google 자격 증명을 입력하고 Google 웹 사이트에 표시된 동의 UI에 동의합니다.

    그런 다음 브라우저는 ACS에 다시 게시하고, ACS는 토큰을 발급하고, 해당 토큰을 MVC 사이트에 게시합니다.

참고 항목

개념

ACS 사용 방법