Skip to main content
애플리케이션이 로그인 시 수신하는 항목(SAML 앱의 Subject (NameID) 또는 OIDC 앱의 subject 및 클레임)을 매핑할 때 각 값은 IQL 표현식입니다. IQL을 사용하면 사용자 프로필에서 값을 가져와 전송되기 전에 변형할 수 있습니다.
IQL(Iru Query Language)은 매핑을 위한 Iru의 표현식 언어로, 여러 곳에서 사용됩니다.
  • 애플리케이션이 로그인 시 수신하는 속성 및 클레임.
  • 연결된 소스가 디렉터리에 매핑하는 필드 (속성 매핑 참조).
  • Auto Group 규칙 및 목록 필터.
IQL이 사용되는 모든 곳에서 동일한 구문이 작동합니다.IQL은 개방형 표현식 언어 표준인 CEL(Common Expression Language)을 기반으로 하므로 CEL에서 유효한 모든 표현식은 IQL에서도 유효합니다.
입력하는 동안 매핑 편집기는 사용 가능한 필드, 함수 및 연산자를 제안하고 결과의 실시간 미리 보기를 표시합니다. 표현식은 편집기에서, 그리고 저장할 때 다시 유형 검사를 통과해야 하므로 실수가 로그인이나 동기화에 도달하기 전에 드러납니다.

데이터 참조

참조하는 항목은 표현식이 실행되는 위치에 따라 다릅니다.
  • 애플리케이션 매핑은 user 객체에서 시작하며, 이 객체의 필드는 디렉터리의 프로필 속성입니다.
    기본값도 이를 반영합니다. OIDC 앱의 subject 기본값은 user.id이고, SAML 앱의 Subject 기본값은 user.username입니다.
  • Directory Sync 매핑은 소스의 필드 이름을 참조합니다. 유효한 IQL 식별자는 연결된 시스템에서 오는 그대로 직접 작성합니다. ASCII 문자 또는 밑줄로 시작하고 나머지는 ASCII 문자, 숫자, 밑줄로 구성됩니다.
    다른 이름은 정확한 이름으로 __source에서 읽습니다. 공백, 기호, 단일 필드 이름 안의 점, ASCII 이외의 문자 및 IQL 키워드가 포함됩니다. 예: __source["Email - Work"]. IQL로 값 변환을 참조하세요.
필드 이름은 대/소문자를 구분합니다. 중첩된 값은 점(user.profile.team)으로, 목록이나 맵은 [...]로 접근합니다(아래에서 설명).

기본 구성 요소

리터럴

문자열은 \n, \t, \\, \", \uXXXX와 같은 일반적인 이스케이프를 지원합니다.

연산자

우선순위

가장 강하게 결합하는 것부터 가장 약한 것 순입니다. 확실하지 않으면 괄호를 추가하세요.

문자열 함수

문자열 연산은 value.method(...) 형식으로 값에 대한 메서드로 작성합니다.

조건문 및 기본값

조건 연산자는 값이 비어 있을 수 있을 때 대체 값을 제공하는 가장 간단한 방법입니다.
더 풍부한 null 처리를 위해 IQL에는 아래의 optional(null 안전) 도우미도 있습니다.

선택적 값

Optional 도우미를 사용하면 오류를 일으키지 않고 누락될 수 있는 값을 다룰 수 있습니다. optional은 값을 보유하거나 비어 있습니다.
ofNonZeroValue는 빈 문자열 "", 0, false, 빈 목록 [], 빈 맵 {}, null을 비어 있는 것으로 처리합니다.

주석 및 공백

공백은 의미가 없으며, //는 줄 끝까지 이어지는 주석을 시작합니다.

예제

게시하기 전에 매핑 편집기의 미리 보기를 사용하여 표현식이 예상한 결과를 생성하는지 확인하세요. 미리 보기는 Iru가 전송하거나 저장할 정확한 값을 표시합니다.

다음 단계

애플리케이션 매핑

IQL 값을 애플리케이션이 수신하는 어설션 또는 토큰에 매핑합니다.

속성 매핑

동일한 IQL을 사용하여 연결된 소스를 디렉터리에 매핑합니다.

자동 그룹

프로필 속성에 대한 IQL 규칙으로 그룹 멤버십을 구동합니다.

프로필 속성

표현식이 값을 가져오는 user 필드입니다.