변환 클레임 규칙을 사용하는 경우
들어오는 클레임 유형을 나가는 클레임 유형에 매핑한 다음, 들어오는 클레임에서 시작된 값을 기반으로 어떤 출력이 발생할지 결정하는 작업을 적용해야 할 때 AD FS(Active Directory Federation Services)에서 이 규칙을 사용할 수 있습니다. 이 규칙을 사용하는 경우 다음 표에 설명된 대로 규칙에서 구성하는 옵션 중 하나에 따라 다음 규칙 논리와 일치하는 클레임을 통과 또는 변환합니다.
규칙 옵션 | 규칙 논리 |
---|---|
들어오는 모든 클레임 통과 | 들어오는 클레임 유형이 지정 된 클레임 형식 고 값이 값, 나가는 클레임 유형 equals 통해 클레임을 전달 합니다 클레임 유형을 지정 합니다. |
들어오는 클레임 값을 다른 나가는 클레임 값으로 바꾸기 | 들어오는 클레임 유형이 지정 된 클레임 형식 고 값이 지정 된 값, 그런 다음 새 나가는 클레임 값으로 클레임을 변환 지정 된 값 와 나가는 클레임 유형 및 지정 된 클레임 형식 |
들어오는 메일 접미사 클레임을 새 메일 접미사로 바꾸기 | 들어오는 클레임 유형이 지정 된 클레임 형식 고 값이 모든 접미사 값, 다음 새 나가는 클레임 값으로 클레임을 변환 접미사 값을 지정 된 와 나가는 클레임 유형 및 지정 된 클레임 형식 |
다음 섹션에서는 클레임 규칙의 기본 사항을 소개하고 이 규칙을 사용하는 경우에 대한 추가 정보를 제공합니다.
클레임 규칙 정보
클레임 규칙은 들어오는 클레임에 대해 조건(if x then y)을 적용하고 조건 매개 변수를 기반으로 나가는 클레임을 생성하는 비즈니스 논리의 인스턴스를 나타냅니다. 다음 목록은 이 항목을 더 읽기 전에 클레임 규칙에 대해 알아야 하는 중요한 팁을 간략하게 설명합니다.
AD FS 관리 스냅인에서 클레임 규칙 템플릿을 사용해야만 클레임 규칙을 만들 수 있습니다.
클레임 규칙은 클레임 공급자(예: Active Directory 또는 다른 페더레이션 서비스)에서 직접 들어오거나 클레임 공급자 트러스트에 대한 수락 변환 규칙 출력에서 들어오는 클레임을 처리합니다.
클레임 규칙은 지정된 규칙 집합 내의 시간 순서대로 클레임 발급 엔진에 의해 처리됩니다. 규칙에 우선 순위를 설정하여 지정된 규칙 집합 내의 이전 규칙에 의해 생성된 클레임을 더욱 구체화하거나 필터링할 수 있습니다.
클레임 규칙 템플릿에서는 항상 들어오는 클레임 유형을 지정해야 합니다. 그러나 단일 규칙을 사용하여 동일한 클레임 유형 내의 여러 클레임 값을 처리할 수 있습니다.
클레임 규칙 및 클레임 규칙 집합에 대 한 정보를 자세한 참조 규칙의 역할 클레임합니다. 규칙은 처리 하는 방법에 대 한 자세한 내용은 참조 클레임 엔진의 역할합니다. 자세한 내용은 클레임 규칙 집합을 처리 하는 방법을 참조 하십시오 클레임 파이프라인의 역할합니다.
모든 클레임 값 통과
이 작업을 사용하는 경우 페더레이션 서비스에 의해 서명된 토큰으로 나가는 클레임으로 전송되기 전에 지정된 들어오는 클레임 유형에 키가 지정된 들어오는 클레임 값이 모두 지정된 나가는 클레임 유형에 매핑됩니다.
규칙으로 설정 된 경우에 예를 들어는 클레임 값 통과 모든 옵션 논리와 들어오는 클레임 그룹의 유형 및 지정 된 역할의 나가는 클레임 형식, 발급자 로부터 전달 하는 모든 들어오는 클레임 값은 역할 클레임 유형에 사용 하는 새 나가는 클레임에 개별적으로 복사 됩니다.
클레임 변환
Ad FS 용어 클레임 변환 수단을 대체 한 들어오는 클레임 다른 나가는 클레임 값을 갖는 값입니다. 이 기능을 가능하게 하는 것은 들어오는 클레임 변환 규칙입니다. 이 규칙의 속성 내에서 지정된 들어오는 클레임 유형에 따라 들어오는 값을 다른 나가는 클레임 값으로 변환하는 조건을 설정할 수 있습니다.
예를 들어 다음 그림과 같이 들어오는 값을 다른 나가는 클레임 값으로 바꾸는 조건을 사용하여 규칙을 설정하는 경우 들어오는 클레임 유형 그룹이 모두 새로운 나가는 클레임 유형 역할에 매핑됩니다. 이 경우 들어오는 클레임 값 Purchaser가 새로운 나가는 클레임 값 Admin으로 바뀝니다.
이 규칙을 사용하여 지정된 메일 접미사 값을 가진 들어오는 클레임을 모두 새 값으로 바꾸는 조건을 적용할 수도 있습니다. 예를 들어 접미사가 sales.corp.fabrikam.com인 모든 클레임 값을 fabrikam.com으로 변경하는 조건을 이 규칙에 설정할 수 있습니다.
클레임 공급자 트러스트에서 이 규칙 구성
클레임 공급자 트러스트를 사용하는 경우 클레임 공급자에서 들어오는 클레임을 신뢰할 수 있는 해당 항목으로 변환하도록 이 규칙을 구성할 수 있습니다. 클레임 유형 또는 클레임 값의 의미가 클레임 공급자 조직과 사용자 조직에서 다를 수 있습니다. 이 규칙을 사용하여 클레임 공급자에서 들어오는 클레임 유형 및 값을 정규화하면 신뢰 당사자가 해당 나가는 클레임을 이해할 수 있습니다.
신뢰 당사자 트러스트에서 이 규칙 구성
신뢰 당사자 트러스트를 사용하는 경우 특정 신뢰 당사자에 대한 클레임을 변환하도록 이 규칙을 구성할 수 있습니다. 클레임 유형 또는 클레임 값의 의미가 특정 신뢰 당사자에서 다를 수 있으며, 이 규칙을 사용하면 단일 신뢰 당사자에 대해 나가는 클레임 유형 및 값을 변경할 수 있습니다.
이 규칙을 만드는 방법
이 규칙은 클레임 규칙 언어를 사용하거나 AD FS 관리 스냅인의 들어오는 클레임 변환 규칙 템플릿을 사용하여 생성할 수 있습니다. 이 규칙 템플릿은 다음과 같은 구성 옵션을 제공합니다.
클레임 규칙 이름 지정
특정 들어오는 클레임 유형을 지정된 나가는 클레임 유형으로 변환
모든 클레임 값 통과
들어오는 클레임 값을 다른 나가는 클레임 값으로 바꾸기
들어오는 메일 접미사 클레임을 새 메일 접미사로 바꾸기
이 서식 파일을 만드는 방법에 대 한 자세한 내용은 참조 하십시오. 들어오는 클레임 변환 하는 규칙을 만들 AD FS 배포 가이드에 있습니다.
클레임 규칙 언어 사용
둘 이상의 들어오는 클레임 내용에서 나가는 클레임을 생성해야 하는 경우 대신 사용자 지정 규칙을 사용해야 합니다. 나가는 클레임의 클레임 값이 들어오는 클레임 값을 기반으로 해야 하지만 추가 콘텐츠도 포함해야 하는 경우에도 사용자 지정 규칙을 사용해야 합니다. 자세한 내용은 When to Use a Custom Claim Rule를 참조하세요.
변환 규칙 구문을 생성하는 방법의 예
클레임 규칙 언어 구문을 사용하여 클레임을 변환하는 경우 변환된 클레임의 속성을 새 리터럴 값으로 설정할 수 있습니다. 예를 들어 다음 규칙은 동일한 클레임 유형을 유지하면서 역할 클레임의 값을 '관리자'에서 '루트'로 변경합니다.
c:[type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/role", value == "Administrators"] => issue(type = c.type, value = "root");
정규식을 클레임 변환에 사용할 수도 있습니다. 예를 들어 다음 규칙은 DOMAIN\USER 형식인 Windows 사용자 이름 클레임의 도메인을 FABRIKAM으로 설정합니다.
c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"] => issue(type = c.type, value = regexreplace(c.value, "(?<domain>[^\\]+)\\(?<user>.+)", "FABRIKAM\${user}"));
사용자 지정 규칙을 만드는 모범 사례
기본 필터링 기능을 사용하여 선택한 클레임에 클레임 변환을 선택적으로 적용할 수 있습니다. 다음과 같은 제한 사항을 적용하여 필터링에 사용되는 각 클레임 속성에 값을 할당할 수 있습니다.
클레임 속성 | 설명 |
---|---|
Type, Value, ValueType | 이러한 속성은 할당에 자주 사용됩니다. 결과로 변환된 클레임에 대한 최소한의 유형 및 값을 지정해야 합니다. |
Issuer | 클레임 규칙 언어에서는 클레임 발급자 설정을 허용하지만 일반적으로 설정하지 않는 것이 좋습니다. 클레임 발급자는 토큰에 직렬화되지 않습니다. 토큰이 수신되면 모든 클레임의 발급자 속성이 토큰에 서명한 페더레이션 서버의 식별자로 설정됩니다. 따라서 규칙에서 클레임 발급자를 설정해도 토큰의 내용에는 영향을 주지 않으며 클레임이 토큰에 패키지되면 설정이 손실됩니다. 클레임 발급자 설정이 타당한 유일한 시나리오는 클레임 공급자 규칙 집합에서 특정 값으로 설정되고 신뢰 당사자 규칙 집합이 이 특정 값을 참조하는 규칙으로 작성된 경우입니다. 클레임 규칙에서 발급자 속성이 명시적으로 값으로 설정되지 않은 경우 클레임 발급 엔진에서 '로컬 권한'으로 설정합니다. |
OriginalIssuer | Issuer와 마찬가지로, 일반적으로 OriginalIssuer에는 명시적으로 값이 할당되지 않습니다. Issuer와 달리 OriginalIssuer 속성은 토큰에 직렬화되지만 토큰 소비자가 설정된 속성에 원래 클레임을 발급한 페더레이션 서버의 식별자가 포함된다고 예상합니다. |
속성 | 이전 섹션에서 설명한 대로 클레임의 속성 모음은 토큰에 지속되지 않으므로 후속 로컬 정책에서 속성에 저장된 정보를 참조하는 경우에만 속성에 할당해야 합니다. |
클레임 규칙 언어를 사용 하는 방법에 대 한 자세한 내용은 참조 클레임 규칙 언어의 역할합니다.