ID 위임을 사용하는 시기

ID 위임이란 무엇인가요?

ID 위임은 관리자 지정 계정이 사용자를 가장할 수 있도록 하는 AD FS(Active Directory Federation Services)의 기능입니다. 사용자를 가장하는 계정을 위임이라고 합니다. 이 위임 기능은 원래 요청의 권한 부여 체인에 있는 각 애플리케이션, 데이터베이스 또는 서비스에 대해 순차적으로 이루어져야 하는 일련의 액세스 제어 검사가 있는 여러 분산 애플리케이션에 중요합니다. 웹 애플리케이션 "프런트 엔드"가 Microsoft SQL Server 데이터베이스에 연결된 웹 서비스와 같이 보다 안전한 "백 엔드"에서 데이터를 검색해야 하는 많은 실제 시나리오가 있습니다.

예를 들어 파트너 조직이 자신들의 구매 기록 및 계정 상태를 볼 수 있도록 기존의 물품 주문 웹 사이트를 프로그래밍 방식으로 개선할 수 있습니다. 보안상의 이유로 모든 파트너 금융 데이터는 전용 SQL(구조적 쿼리 언어) 서버의 보안 데이터베이스에 저장됩니다. 이 경우 프런트 엔드 애플리케이션의 코드는 파트너 조직의 재무 데이터에 대해 아무것도 알지 못합니다. 그러므로 프런트 엔드 응용 프로그램은 (이 경우) 물품 데이터베이스에 대한 웹 서비스(백 엔드)를 호스트하는 네트워크의 다른 곳에 있는 다른 컴퓨터에서 해당 데이터를 검색해야 합니다.

이 데이터 검색 프로세스가 성공하려면 다음 그림과 같이 웹 애플리케이션과 파트 데이터베이스의 웹 서비스 간에 몇 가지 권한 부여 "손 흔들기"가 연속적으로 수행되어야 합니다.

identity delegation

원래 요청은 웹 서버 자체에 대해 이루어지지만 웹 서버가 웹 서버에 액세스하려는 사용자 조직과 완전히 다른 조직에 있을 가능성이 있으므로, 요청과 함께 보낸 보안 토큰은 웹 서버 외에 다른 컴퓨터에 액세스하는 데 필요한 권한 부여 조건을 충족하지 않습니다. 그러므로 원래 사용자 요청이 이행될 수 있는 유일한 방법은 적절한 액세스 권한을 가진 보안 토큰을 다시 제출하도록 리소스 파트너 조직에 중간 페더레이션 서버를 배치하는 것입니다.

ID 위임은 어떻게 작동하나요?

일반 데이터 또는 기능에 액세스하기 위해 다중 계층 애플리케이션 아키텍처의 웹 애플리케이션은 종종 웹 서비스를 호출합니다. 서비스가 권한 부여 결정을 내리고 감사를 용이하게 할 수 있도록 이러한 웹 서비스가 원래 사용자의 ID를 아는 것이 중요합니다. 이 경우 프런트 엔드 웹 애플리케이션은 웹 서비스에 대한 사용자를 대리자로 나타냅니다. AD FS는 Active Directory 계정을 다른 신뢰 당사자에 게 사용자 역할을 허용 하 여이 시나리오를 도와줍니다. ID 위임 시나리오가 다음 일러스트레이션에 나와 있습니다.

Illustration that shows an identity delegation scenario.

  1. Frank가 다른 조직에 있는 웹 애플리케이션에서 물품 주문 기록에 액세스하려고 합니다. 클라이언트 컴퓨터는 프런트 엔드 부분 순서 웹 애플리케이션에 대한 AD FS에서 토큰을 요청하고 받습니다.

  2. 클라이언트 컴퓨터는 클라이언트의 ID를 증명하기 위해 1단계에서 얻은 토큰을 포함하여 웹 애플리케이션에 요청을 보냅니다.

  3. 웹 애플리케이션이 클라이언트에 대한 트랜잭션을 완료하려면 웹 서비스와 통신해야 합니다. 웹 애플리케이션 웹 서비스와 상호 작용 하는 위임 토큰을 가져오기 위해 AD FS에 연결 합니다. 위임 토큰은 사용자 역할을 하는 대리자에게 발급된 보안 토큰입니다. AD FS 웹 서비스에 대 한 대상으로 클라이언트에 대 한 클레임을 사용 하 여 위임 토큰을 반환 합니다.

  4. 웹 애플리케이션 클라이언트와 작동 하는 웹 서비스에 액세스 하려면 3 단계에서 AD FS에서 얻은 토큰을 사용 합니다. 위임 토큰을 검사하면 웹 서비스는 웹 애플리케이션이 클라이언트 역할을 하는지 확인할 수 있습니다. 웹 서비스가 권한 부여 정책을 실행하고 요청을 기록한 다음 Frank가 원래 요청한 필요한 물품 기록 데이터를 웹 애플리케이션에 제공(즉, Frank에게 제공)합니다.

특정 대리자에 대 한 AD FS를 웹 애플리케이션 위임 토큰을 요청할 수 있습니다 웹 서비스를 제한할 수 있습니다. 이 작업이 성공하려면 클라이언트 컴퓨터에 Active Directory 계정이 있어서는 안 됩니다. 마지막으로, 위에서 설명한 것처럼 웹 서비스는 사용자 역할을 하는 대리자의 ID를 쉽게 확인할 수 있습니다. 이렇게 하면 클라이언트 컴퓨터에 직접 지시할지 아니면 대리자를 통해서 지시할지 여부에 따라 웹 서비스가 다른 동작을 나타낼 수 있습니다.

ID 위임에 대해 AD FS 구성

데이터 검색 프로세스를 용이하게 해야 할 때마다 AD FS 관리 스냅인을 사용하여 ID 위임을 위한 AD FS를 구성할 수 있습니다. 구성한 후 AD FS는 백 엔드 서비스가 보호된 데이터에 대한 액세스를 제공하기 전에 필요할 수 있는 권한 부여 컨텍스트를 포함하는 새 보안 토큰을 생성할 수 있습니다.

AD FS 있는 사용자를 가장할 수를 제한 하지 않습니다. Id 위임에 대 한 AD FS를 구성한 후 다음을 수행 합니다.

  • 사용자를 가장하는 토큰을 요청하기 위해 권한을 위임할 수 있는 서버를 결정합니다.

  • 위임된 클라이언트 계정에 대한 ID 컨텍스트와 대리자 역할을 하는 서버를 설정하고 둘 사이를 구분합니다.

AD FS Management 스냅인에서 신뢰 당사자 트러스트에 위임 권한 부여 규칙을 추가하여 ID 위임을 구성할 수 있습니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 Checklist: Creating Claim Rules for a Relying Party Trust를 참조하세요.

ID 위임에 대해 프런트 엔드 웹 애플리케이션 구성

개발자는 웹 프런트 엔드 애플리케이션 또는 서비스를 적절하게 프로그래밍하여 위임 요청을 AD FS 컴퓨터로 리디렉션하는 데 사용할 수 있는 몇 가지 옵션이 있습니다. ID 위임 작업을 위해 웹 애플리케이션을 사용자 지정하는 방법에 대한 자세한 내용은 Windows Identity Foundation SDK를 참조하세요.

참고 항목

Windows Server 2012의 AD FS 디자인 가이드