AD FS 문제 해결 - 클레임 규칙 구문
클레임은 한 주체가 자신 또는 다른 주제에 대해 만드는 문입니다. 클레임은 신뢰 당사자가 발급하고 하나 이상의 값을 부여한 다음 AD FS 서버에서 발급한 보안 토큰에 패키지됩니다. 이 문서에서는 클레임 구문 및 만들기를 다룹니다. 클레임 발급에 대한 자세한 내용은 AD FS 문제 해결 - 클레임 발급을 참조하세요.
참고 항목
AD FS 도움말 사이트에서 ClaimsXRay를 사용하여 클레임 문제 해결을 지원할 수 있습니다.
클레임 규칙을 처리하는 방법
클레임 규칙은 클레임 엔진을 사용하여 클레임 파이프라인을 통해 처리합니다. 클레임 엔진은 사용자로부터의 들어오는 클레임 집합을 검사하고 각 규칙의 논리를 기준으로 클레임의 출력 집합을 생성하는 페더레이션 서비스의 논리적 구성 요소입니다.
클레임 규칙을 만드는 방법
클레임 규칙은 페더레이션 서비스 내의 각 페더레이션된 트러스트 관계에 대해 별도로 생성되며 여러 트러스트 간에 공유되지 않습니다. 규칙은 클레임 규칙 템플릿에서 만들거나 클레임 규칙 언어를 사용하여 처음부터 규칙을 작성하거나 Windows PowerShell에서 규칙을 사용자 지정할 수 있습니다.
클레임 규칙 언어의 구성 요소 이해
클레임 규칙 언어는 다음 구성 요소로 구성되며, “ =>” 연산자로 구분됩니다.
조건: 입력 클레임을 확인하고 규칙의 발급 문을 실행할지 결정할 수 있습니다. 규칙 본문 부분을 실행할 때 true로 평가되어야 하는 논리 식을 나타냅니다.
발급 문
예시:
c:[type == "Name", value == "domain user"] => issue(type = "Role", value = "employee");
이 클레임은 다음과 같습니다.
- 조건 -
c:[type == "Name", value == "domain user"]
- Windows 계정 이름이 도메인 사용자인지 여부에 대한 입력 클레임을 평가합니다. - 발급 -
issue(type = "Role", value = "employee")
- 조건이 true이면 직원의 역할로 입력 클레임에 새 클레임을 추가합니다.
클레임 및 구문에 대한 자세한 내용은 클레임 규칙 언어의 역할을 참조하세요.
클레임 규칙 편집기
클레임을 완료하고 확인을 선택하면 클레임 규칙 편집기에서 구문 검사를 수행합니다. 따라서 잘못된 구문이 있는 경우 편집기에서 알 수 있습니다.
이벤트 로그
로그를 사용하여 클레임 문제를 해결하려고 할 때 가장 좋은 방법은 클레임 출력을 찾는 것입니다. 이벤트 로그에서 1000 및 1001 이벤트를 찾을 수 있습니다.
샘플 애플리케이션 만들기
클레임을 에코하는 샘플 애플리케이션을 만들 수도 있습니다. 예를 들어 샘플 애플리케이션을 사용하고 문제를 해결하려는 클레임이 동일한 신뢰 당사자를 만들고 앱에서 해당 클레임에 관한 문제가 있는지 확인할 수 있습니다.
좋은 샘플 웹앱은 여기에서 사용할 수 있습니다. 이 앱은 신뢰 당사자로부터 받은 클레임을 다시 에코합니다. 이를 사용하려면 다음을 통해 web.config 앱을 편집해야 합니다.
- https://app1.contoso.com/sampapp을(를) 샘플 앱 호스팅에 사용할 URL로 변경합니다.
- AD FS 페더레이션 서버를 가리키도록 sts.contoso.com 모든 인스턴스를 변경합니다.
- 지문을 사용자의 지문으로 변경합니다.
- 시나리오에
decryptionKey
적합한 값으로 대체validationKey
합니다.
다음 블로그 문서에는 이를 설정하기 위한 훌륭한 심층적 지침이 있습니다.