신뢰 당사자 응용 프로그램
업데이트: 2015년 6월 19일
Azure에 적용합니다.
신뢰 당사자 응용 프로그램(클레임 인식 응용 프로그램 또는 클레임 기반 응용 프로그램이라고도 함)은 응용 프로그램에 대한 클레임을 기반으로 하는 응용 프로그램 또는 서비스입니다. Microsoft Azure Active Directory Access Control(Access Control Service 또는 ACS라고도 함)에서 신뢰 당사자 애플리케이션은 웹 사이트, 애플리케이션 또는 ACS를 사용하여 페더레이션 인증을 구현하는 서비스입니다.
ACS 관리 포털을 사용하거나 ACS 관리 서비스를 사용하여 프로그래밍 방식으로 신뢰 당사자 애플리케이션을 수동으로 만들고 구성할 수 있습니다.
ACS 관리 포털에서 추가하고 구성하는 신뢰 당사자 애플리케이션은 특정 Access Control 네임스페이스를 신뢰하는 웹 사이트, 애플리케이션 또는 서비스의 논리적 표현입니다. 각 Access Control 네임스페이스에서 많은 신뢰 당사자 애플리케이션을 추가하고 구성할 수 있습니다.
ACS 관리 포털에서 구성
ACS 관리 포털을 사용하여 신뢰 당사자 애플리케이션의 다음 속성을 구성할 수 있습니다.
모드
영역 및 반환 URL
오류 URL(선택 사항)
토큰 형식
토큰 암호화 정책
토큰 수명
ID 공급자
규칙 그룹
토큰 서명
토큰 암호화
모드
모드 속성은 신뢰 당사자 응용 프로그램 설정을 수동으로 구성할지 또는 응용 프로그램 설정을 정의하는 WS-Federation 메타데이터 문서를 지정할지 결정합니다.
WS-Federation 메타데이터 문서에는 일반적으로 응용 프로그램의 영역 및 반환 URL이 포함되어 있습니다. 또한 ACS에서 응용 프로그램에 대해 발급한 토큰을 암호화하는 데 사용되는 선택적 암호화 인증서를 포함할 수 있습니다. WS-Federation 문서를 지정하고 메타데이터에 암호화 인증서가 포함된 경우 토큰 암호화 정책 설정은 기본적으로 암호화 필요로 설정됩니다. 토큰 암호화 정책 설정 값이 암호화 필요인 경우 WS-Federation 메타데이터 문서에 암호화 인증서가 포함되어 있지 않으면 암호화 인증서를 수동으로 업로드해야 합니다.
신뢰 당사자 응용 프로그램이 WIF(Windows Identity Foundation)에 통합된 경우에는 WIF에서 자동으로 응용 프로그램에 대한 WS-Federation 메타데이터 문서를 만듭니다.
영역 및 반환 URL
영역 속성은 ACS에서 발급한 토큰이 유효한 URI를 정의합니다. Return URL(ReplyTo 주소라고도 함)은 ACS에서 발급한 토큰이 전송되는 URL을 정의합니다. 신뢰 당사자 애플리케이션에 액세스하기 위해 토큰을 요청하면 토큰 요청의 영역이 신뢰 당사자 애플리케이션의 영역과 일치하는 경우에만 ACS에서 토큰을 발급합니다.
중요
ACS에서 영역 값은 대/소문자를 구분합니다.
ACS 관리 포털에서는 각 Access Control 네임스페이스에서 하나의 영역과 하나의 반환 URL만 구성할 수 있습니다. 가장 단순한 경우에는 영역과 반환 URL이 동일합니다. 예를 들어 애플리케이션의 루트 URI인 https://contoso.com경우 신뢰 당사자 애플리케이션의 영역 및 반환 URL은 다음과 같습니다 https://contoso.com.
신뢰 당사자 애플리케이션에 대해 둘 이상의 반환 URL(ReplyTo 주소)을 구성하려면 ACS 관리 서비스에서 RelyingPartyAddress 엔터티를 사용합니다.
토큰이 ACS에서 요청되거나 ID 공급자에서 ACS에 토큰이 게시되면 ACS는 토큰 요청의 영역 값을 신뢰 당사자 애플리케이션의 영역 값과 비교합니다. 토큰 요청이 WS-Federation 프로토콜을 사용하는 경우 ACS는 wtrealm 매개 변수에 있는 영역 값을 사용합니다. 토큰이 OAuth WRAP 프로토콜을 사용하는 경우 ACS는 applies_to 매개 변수의 영역 값을 사용합니다. ACS는 신뢰 당사자 애플리케이션에 대한 구성 설정에서 일치하는 영역을 찾으면 신뢰 당사자 애플리케이션에 사용자를 인증하고 토큰을 반환 URL로 보내는 토큰을 만듭니다.
신뢰 당사자에 둘 이상의 반환 URL이 있는 경우 프로세스는 비슷합니다. ACS는 wreply 매개 변수에서 리디렉션 URL을 가져옵니다. 리디렉션 URL이 신뢰 당사자 응용 프로그램의 반환 URL 중 하나이면 ACS에서 해당 URL로 응답을 보냅니다.
영역 값은 대/소문자를 구분합니다. 영역 값이 동일하거나 신뢰 당사자 응용 프로그램에 대한 영역 값이 토큰 요청에서 받은 영역의 접두사인 경우에만 토큰이 발급됩니다. 예를 들어 신뢰 당사자 애플리케이션 영역 값은 http://www.fabrikam.com 토큰 요청 영역 값과 http://www.fabrikam.com/billing일치하지만 토큰 요청 영역 v와 https://fabrikam.com일치하지 않습니다.
오류 URL(선택 사항)
오류 URL은 로그인 프로세스 중에 오류가 발생하는 경우 ACS가 사용자를 리디렉션하는 URL을 지정합니다. 이는 신뢰 당사자 응용 프로그램의 선택적 속성입니다.
오류 URL 값은 신뢰 당사자 애플리케이션에서 호스트하는 사용자 지정 페이지(예: http://www.fabrikam.com/billing/error.aspx.)일 수 있습니다. 리디렉션의 일부로 ACS는 JSON으로 인코딩된 HTTP URL 매개 변수로 신뢰 당사자 애플리케이션에 오류에 대한 세부 정보를 제공합니다. 사용자 지정 오류 페이지에서 JSON 인코딩 오류 정보를 사용하여 실제 오류 메시지를 렌더링하거나 정적 도움말 텍스트를 표시하도록 지정할 수 있습니다.
오류 URL 사용에 대한 자세한 내용은 코드 샘플: ASP.NET 단순 MVC 2를 참조하세요.
토큰 형식
토큰 형식 속성은 ACS가 신뢰 당사자 애플리케이션에 대해 발급하는 토큰의 형식을 결정합니다. ACS는 SAML 2.0, SAML 1.1, SWT 또는 JWT 토큰을 발급할 수 있습니다. 토큰 형식에 대한 자세한 내용은 ACS에서 지원되는 토큰 형식을 참조하세요.
ACS는 표준 프로토콜을 사용하여 토큰을 웹 애플리케이션 또는 서비스에 반환합니다. 토큰 형식에 대해 둘 이상의 프로토콜이 지원되는 경우 ACS는 토큰 요청에 사용된 것과 동일한 프로토콜을 사용합니다. ACS는 다음 토큰 형식/프로토콜 조합을 지원합니다.
ACS는 WS-Trust 및 WS-Federation 프로토콜을 사용하여 SAML 2.0 토큰을 반환할 수 있습니다.
ACS는 WS-Federation 및 관련 WS-Trust 프로토콜을 사용하여 SAML 1.1 토큰을 반환할 수 있습니다.
ACS는 WS-Federation, WS-Trust, OAuth-WRAP 및 OAuth 2.0 프로토콜을 사용하여 SWT 토큰을 반환할 수 있습니다.
ACS는 WS-Federation, WS-Trust 및 OAuth 2.0 프로토콜을 사용하여 JWT 토큰을 발급하고 반환할 수 있습니다.
ACS에서 사용하는 표준 프로토콜에 대한 자세한 내용은 ACS에서 지원되는 프로토콜을 참조하세요.
토큰 형식을 선택할 때 Access Control 네임스페이스가 발급한 토큰에 서명하는 방법을 고려합니다. 모든 ACS 발급 토큰에 서명해야 합니다. 자세한 내용은 토큰 서명을 참조하세요.
토큰을 암호화할지 여부도 고려해야 합니다. 자세한 내용은 토큰 암호화 정책을 참조하세요.
토큰 암호화 정책
토큰 암호화 정책은 신뢰 당사자 애플리케이션에 대해 ACS에서 발급하는 토큰이 암호화되는지 여부를 결정합니다. 암호화를 사용하려면 암호화 필요 값을 선택합니다.
ACS에서 SAML 2.0 또는 SAML 1.1 토큰에 대해서만 암호화 정책을 구성할 수 있습니다. ACS는 SWT 또는 JWT 토큰의 암호화를 지원하지 않습니다.
ACS는 공개 키(.cer 파일)가 포함된 X.509 인증서를 사용하여 SAML 2.0 및 SAML 1.1 토큰을 암호화합니다. 이렇게 암호화된 토큰은 신뢰 당사자 응용 프로그램에서 소유한 개인 키를 사용하여 암호가 해독됩니다. 암호화 인증서를 가져오고 사용하는 방법에 대한 자세한 내용은 인증서 및 키를 참조하세요.
ACS에서 발급된 토큰에 대한 암호화 정책 구성은 선택 사항입니다. 그러나 신뢰 당사자 응용 프로그램이 WS-Trust 프로토콜을 통해 소유 증명 토큰을 사용하는 웹 서비스인 경우에는 암호화 정책을 반드시 구성해야 합니다. 이 특정 시나리오는 암호화된 토큰이 없으면 제대로 작동하지 않습니다.
토큰 수명
토큰 수명 속성은 ACS가 신뢰 당사자 애플리케이션에 발급하는 보안 토큰이 유효한 시간 간격(초)을 지정합니다. 기본값은 600초(10분)입니다. ACS에서 토큰 수명 값은 0에서 86400(24시간) 사이여야 합니다.
ID 공급자
ID 공급자 속성은 신뢰 당사자 응용 프로그램에 클레임을 보낼 수 있는 ID 공급자를 지정합니다. 이러한 ID 공급자는 웹 애플리케이션 또는 서비스의 ACS 로그인 페이지에 표시됩니다. ACS 포털의 ID 공급자 섹션에 구성된 모든 ID 공급자가 ID 공급자 목록에 표시됩니다. ID 공급자를 목록에 추가하려면 ID 공급자를 클릭합니다.
각 신뢰 당사자 응용 프로그램을 ID 공급자와 연결하지 않거나 하나 이상의 ID 공급자와 연결할 수 있습니다. Access Control 네임스페이스의 신뢰 당사자 애플리케이션은 동일한 ID 공급자 또는 다른 ID 공급자와 연결할 수 있습니다. 신뢰 당사자 애플리케이션에 대한 ID 공급자를 선택하지 않는 경우 신뢰 당사자 애플리케이션에 대해 ACS를 사용하여 직접 인증을 구성해야 합니다. 예를 들어 서비스 ID를 사용하여 직접 인증을 구성할 수 있습니다. 자세한 내용은 서비스 ID를 참조하세요.
규칙 그룹
규칙 그룹 속성은 신뢰 당사자 응용 프로그램에서 클레임을 처리할 때 사용하는 규칙을 결정합니다.
각 ACS 신뢰 당사자 애플리케이션은 하나 이상의 규칙 그룹과 연결되어야 합니다. 토큰 요청이 규칙 그룹이 없는 신뢰 당사자 애플리케이션과 일치하는 경우 ACS는 웹 애플리케이션 또는 서비스에 토큰을 발급하지 않습니다.
ACS 포털의 규칙 그룹 섹션에 구성된 모든 규칙 그룹이 규칙 그룹 목록에 표시됩니다. 규칙 그룹을 목록에 추가하려면 규칙 그룹을 클릭합니다.
ACS 관리 포털에서 새 신뢰 당사자 애플리케이션을 추가하면 기본적으로 새 규칙 그룹 만들기 옵션이 선택됩니다. 새 신뢰 당사자 응용 프로그램의 규칙 그룹은 새로 만드는 것이 좋습니다. 그러나 신뢰 당사자 응용 프로그램을 기존 규칙 그룹과 연결할 수도 있습니다. 이렇게 하려면 새 규칙 그룹 만들기 옵션의 선택을 취소하고 원하는 규칙 그룹을 선택합니다.
신뢰 당사자 응용 프로그램 하나를 둘 이상의 규칙 그룹과 연결할 수 있으며, 규칙 그룹 하나를 둘 이상의 신뢰 당사자 응용 프로그램과 연결할 수도 있습니다. 신뢰 당사자 애플리케이션이 둘 이상의 규칙 그룹과 연결된 경우 ACS는 모든 규칙 그룹의 규칙을 단일 규칙 그룹의 규칙인 것처럼 재귀적으로 평가합니다.
규칙 및 규칙 그룹에 대한 자세한 내용은 규칙 그룹 및 규칙을 참조하세요.
토큰 서명
토큰 서명 설정 속성은 ACS에서 발급하는 보안 토큰이 서명되는 방법을 지정합니다. 모든 ACS 발급 토큰에 서명해야 합니다.
사용 가능한 토큰 서명 옵션은 신뢰 당사자 응용 프로그램의 토큰 형식에 따라 달라집니다. (토큰 형식에 대한 자세한 내용은 토큰 형식을 참조하세요.)
SAML 토큰: X.509 인증서를 사용하여 토큰에 서명합니다.
SWT 토큰: 대칭 키를 사용하여 토큰에 서명합니다.
JWT 토큰: X.509 인증서 또는 대칭 키를 사용하여 토큰에 서명합니다.
X.509 인증서 옵션. X.509 인증서로 서명되는 토큰에 사용 가능한 옵션은 다음과 같습니다.
서비스 네임스페이스 인증서(표준)를 사용합니다. 이 옵션을 선택하면 ACS는 Access Control 네임스페이스에 대한 인증서를 사용하여 신뢰 당사자 애플리케이션에 대한 SAML 1.1 및 SAML 2.0 토큰에 서명합니다. 네임스페이스 공개 키가 Access Control 네임스페이스에 대한 WS-Federation 메타데이터에 게시되므로 WS-Federation 메타데이터를 사용하여 웹 애플리케이션 또는 서비스의 구성을 자동화하려는 경우 이 옵션을 사용합니다. WS-Federation 메타데이터 문서의 URL은 ACS 관리 포털의 애플리케이션 통합 페이지에 표시됩니다.
전용 인증서 사용 - 이 옵션을 선택하는 경우 ACS는 애플리케이션별 인증서를 사용하여 신뢰 당사자 애플리케이션에 대한 SAML 1.1 및 SAML 2.0 토큰에 서명합니다. 이 인증서는 다른 신뢰 당사자 응용 프로그램에 사용되지 않습니다. 이 옵션을 선택한 후에는 개인 키가 포함된 X.509 인증서(.pfx 파일)를 찾은 다음 .pfx 파일의 암호를 입력합니다.
참고
JWT 토큰. 신뢰 당사자 애플리케이션에 대한 JWT 토큰에 서명하도록 Access Control 네임스페이스에 대한 X.509 인증서를 사용하도록 신뢰 당사자 애플리케이션을 구성하는 경우 Access Control 네임스페이스 인증서 및 Access Control 네임스페이스 키에 대한 링크가 ACS 관리 포털의 신뢰 당사자 애플리케이션 페이지에 표시됩니다. 그러나 ACS는 네임스페이스 인증서만 사용하여 신뢰 당사자 애플리케이션에 대한 토큰에 서명합니다.
관리되는 네임스페이스. 신뢰 당사자 응용 프로그램을 Service Bus 네임스페이스 등의 관리되는 네임스페이스에 추가할 때는 응용 프로그램별(전용) 인증서 또는 키를 입력하지 마세요. 대신 ACS가 관리되는 네임스페이스의 모든 응용 프로그램용으로 구성된 인증서와 키를 사용하도록 지정하는 옵션을 선택합니다. 자세한 내용은 관리되는 네임스페이스를 참조하세요.공유 및 전용 인증서 및 키에 대한 자세한 내용은 인증서 및 키를 참조하세요.
대칭 키 옵션
보안 모범 사례로 대칭 키를 사용하는 경우 Access Control 네임스페이스에 공유 대칭 키를 사용하는 대신 각 신뢰 당사자 애플리케이션에 대한 전용 키를 만듭니다. 전용 키를 입력하거나 생성하는 경우 ACS는 전용 키가 유효한 한 전용 키를 사용하여 신뢰 당사자 애플리케이션에 대한 토큰에 서명합니다. 그러나 전용 키가 만료되고 교체되지 않으면 ACS는 공유 네임스페이스 키를 사용하여 신뢰 당사자 애플리케이션에 대한 토큰에 서명합니다.
공유 대칭 키를 사용하려면 인증서 및 키 페이지에서 서비스 네임스페이스 키 값을 복사하여 신뢰 당사자 응용 프로그램 페이지의 토큰 서명 섹션에 있는 필드에 붙여 넣습니다.
대칭 키로 서명되는 토큰에 사용 가능한 옵션은 다음과 같습니다.
토큰 서명 키 - 256비트 대칭 키를 입력하거나, 생성을 클릭하여 256비트 대칭 키를 생성합니다.
개시 날짜 - 대칭 키가 유효한 날짜 범위의 시작 날짜를 지정합니다. 이 날짜부터 ACS는 대칭 키를 사용하여 신뢰 당사자 애플리케이션에 대한 토큰에 서명합니다. ACS 기본값은 현재 날짜입니다.
만료 날짜 - 대칭 키가 유효한 날짜 범위의 종료 날짜를 지정합니다. 이 날짜부터 ACS는 대칭 키를 사용하여 신뢰 당사자 애플리케이션에 대한 토큰을 서명하지 않습니다. 기본값은 없습니다. 응용 프로그램 요구 사항에 따라 매년 또는 2년마다 대칭 키를 바꾸는 것이 보안을 위해 가장 좋습니다.
토큰 암호화
토큰 암호화 인증서 옵션은 신뢰 당사자 응용 프로그램에 대한 토큰을 암호화하는 데 사용되는 X.509 인증서(.cer 파일)를 지정합니다. ACS에서는 SAML 2.0 또는 SAML 1.1 토큰만 암호화할 수 있습니다. ACS는 SWT 또는 JWT 토큰의 암호화를 지원하지 않습니다.
ACS 포털의 인증서 및 키 섹션에서 토큰 암호화에 대한 인증서를 지정합니다. 신뢰 당사자 응용 프로그램 페이지의 토큰 암호화 정책 섹션에서 여기를 클릭 링크를 클릭하면 인증서 및 키의 토큰 암호화 인증서 추가 페이지가 열립니다. 이 페이지를 사용하여 인증서 파일을 지정합니다.
자세한 내용은 토큰 암호화 정책을 참조하세요. 암호화 인증서를 가져오고 추가하는 방법에 대한 자세한 내용은 인증서 및 키를 참조하세요.