선언적 프로비전 식 이해
업데이트: 2015년 7월 22일
중요하다
이 항목은 곧 보관될 예정입니다.
AADSync 및 DirSync를 대체하는 "Azure Active Directory Connect"라는 새 제품이 있습니다.
Azure AD Connect는 이전에 Dirsync 및 AAD Sync로 릴리스된 구성 요소와 기능을 통합합니다.
나중에 Dirsync 및 AAD Sync에 대한 지원이 종료됩니다.
이러한 도구는 더 이상 기능 향상으로 개별적으로 업데이트되지 않으며 향후 모든 개선 사항이 Azure AD Connect 업데이트에 포함됩니다.
AAD 동기화(Azure Active Directory Synchronization Services)는 코드를 작성하지 않고도 전체 ID 통합 비즈니스 논리를 구현할 수 있도록 Forefront Identity Manager 2010에 처음 도입된 선언적 프로비저닝을 기반으로 합니다.
선언적 프로비전의 필수적인 부분은 특성 흐름에 사용되는 식 언어입니다. 사용되는 언어는 Microsoft® VBA(Visual Basic® for Applications)의 하위 집합입니다. 이 언어는 Microsoft Office에서 사용되며 VBScript 경험이 있는 사용자도 인식합니다. 선언적 프로비전 식 언어는 함수만 사용하며 구조화된 언어가 아닙니다. 메서드나 문이 없습니다. 대신 함수는 프로그램 흐름을 표현하기 위해 중첩됩니다.
자세한 내용은 Office 2013대한 Visual Basic for Applications 언어 참조를 참조하세요.
특성은 강력한 형식입니다. 단일 값 문자열 특성이 예상되는 함수는 다중값 또는 다른 형식의 특성을 허용하지 않습니다. 대/소문자 구분도 있습니다. 함수 이름과 특성 이름 모두 적절한 대/소문자여야 합니다. 그렇지 않으면 오류가 발생합니다.
언어 정의 및 식별자
함수의 이름 뒤에 대괄호 안의 인수가 있습니다. FunctionName(<<인수 1>>,<<인수 N>>).
특성은 대괄호로 식별됩니다. [attributeName]
매개 변수는 백분율 기호로 식별됩니다. %ParameterName%
문자열 상수는 따옴표로 묶입니다(예: "Contoso").
숫자 값은 따옴표 없이 표현되며 소수점이 될 것으로 예상됩니다. 16진수 값은 접두사로 &H입니다. 예: 98052, &HFF
부울 값은 True, False 상수로 표현됩니다.
기본 제공 상수는 NULL, CRLF, IgnoreThisFlow라는 이름으로만 표현됩니다.
연산자
다음 연산자를 사용할 수 있습니다.
비교: <, <=, <>, =, >, >=
수학: +, -, *, -
문자열: &(연결)
논리: &&(및) || (또는)
평가 순서: ( )
연산자는 왼쪽에서 오른쪽으로 평가됩니다. 2*(5+3)는 2*5+3과 다릅니다. 대괄호()는 평가 순서를 변경하는 데 사용됩니다.
매개 변수
매개 변수는 커넥터 또는 관리자가 PowerShell을 사용하여 정의합니다. 매개 변수는 일반적으로 시스템 간 다른 값(예: 사용자가 있는 도메인의 이름)을 포함합니다. 특성 흐름에서 사용할 수 있습니다.
Active Directory 커넥터는 인바운드 동기화 규칙에 대해 다음 매개 변수를 제공했습니다.
Domain.Netbios |
Domain.FQDN |
Domain.LDAP |
Forest.Netbios |
Forest.FQDN |
Forest.LDAP |
시스템은 다음 매개 변수를 제공합니다.
Connector.ID
메타버스 특성 도메인을 사용자가 있는 도메인의 netbios 이름으로 채우는 예제입니다.
도메인 <- %Domain. Netbios%
일반적인 시나리오
특성의 길이
문자열 특성은 기본적으로 인덱싱 가능으로 설정되며 최대 길이는 448자입니다. 더 많이 포함될 수 있는 문자열 특성을 사용하는 경우 특성 흐름에 다음을 포함해야 합니다.
attributeName <- Left([attributeName],448)
userPrincipalSuffix 변경
Active Directory의 userPrincipalName 특성은 사용자가 항상 알 수 있는 것은 아니며 로그인 ID로 적합하지 않을 수 있습니다. AAD 동기화 설치 가이드에서는 메일과 같은 다른 특성을 선택할 수 있습니다. 그러나 경우에 따라 특성을 계산해야 합니다. 예를 들어 Contoso 회사에는 프로덕션용 디렉터리와 테스트용 디렉터리 1개 등 두 개의 AAD 디렉터리를 보유하고 있습니다. 테스트 테넌트의 사용자가 로그인 ID.userPrincipalName <- Word([userPrincipalName],1,"@") & "@contosotest.com"의 접미사를 변경하려고 합니다.
이 식에서는 첫 번째 @-sign(Word)의 왼쪽에 있는 모든 항목을 고정 문자열과 연결합니다.
다중 값을 단일 값으로 변환
Active Directory 사용자 및 컴퓨터에서 단일 값으로 보이는 경우에도 Active Directory의 일부 특성은 스키마에서 다중 값으로 표시됩니다. 예를 들어 설명 특성이 있습니다.
이 식에서는 특성에 값이 있는 경우 특성의 첫 번째 항목(Item)을 가져와 선행 및 후행 공백(트리밍)을 제거한 다음 문자열에 처음 448자(왼쪽)를 유지합니다.
고급 개념
NULL 및 IgnoreThisFlow
인바운드 동기화 규칙의 경우 상수 NULL을 항상 사용해야 합니다. 이는 흐름에 기여할 값이 없고 다른 규칙이 값을 기여할 수 있음을 나타냅니다. 값에 영향을 주는 규칙이 없으면 메타버스 특성이 제거됩니다.
아웃바운드 동기화 규칙의 경우 NULL 및 IgnoreThisFlow라는 두 개의 상수가 사용됩니다. 둘 다 특성 흐름에 기여할 것이 없음을 나타내지만, 다른 규칙에 기여할 내용이 없을 때 발생하는 차이점이 있습니다. 연결된 디렉터리에 기존 값이 있는 경우, IgnoreThisFlow가 기존 값을 유지하는 동안 NULL은 제거되는 특성에 대한 삭제를 준비합니다.
ImportedValue
특성 이름은 대괄호가 아닌 따옴표로 묶어야 하기 때문에 ImportedValues 함수는 다른 모든 함수와 다릅니다. ImportedValue("proxyAddresses").
일반적으로 동기화하는 동안 특성은 아직 내보내지 않았거나 내보내는 동안 오류가 수신된 경우에도 예상 값을 사용합니다("타워의 맨 위"). 인바운드 동기화는 연결된 디렉터리에 아직 도달하지 않은 특성이 결국 연결된다고 가정합니다. 경우에 따라 연결된 디렉터리에 의해 확인된 값만 동기화해야 하며, 이 경우 ImportedValue 함수가 사용됩니다("홀로그램 및 델타 가져오기 타워").
이 예제는 AD의 기본 동기화 규칙에서 찾을 수 있습니다. Hybrid Exchange에서 Exchange Online에서 추가된 값은 값이 성공적으로 내보낸 것으로 확인된 경우에만 동기화해야 하는 Exchange의 사용자 공통입니다.
proxyAddresses <- RemoveDuplicates(Trim(ImportedValues(“proxyAddresses”)))
함수 목록
변환
CBool |
CDate |
CGuid |
ConvertFromBase64 |
ConvertToBase64 |
ConvertFromHex |
ConvertToHex |
CNum |
CRef |
CStr |
StringFromGuid |
StringFromSid |
날짜/시간
DateAdd |
DateFromNum |
FormatDateTime |
지금 |
NumFromDate |
디렉토리
DNComponent |
DNComponentRev |
EscapeDNComponent |
시찰
IsBitSet |
IsDate |
IsEmpty |
IsGuid |
IsNull |
IsNullOrEmpty |
IsNumeric |
IsPresent |
IsString |
수학
BitAnd |
BitOr |
RandomNum |
다중값
포함 |
세다 |
항목 |
잇다 |
RemoveDuplicates |
쪼개다 |
프로그램 흐름
오류 |
IIF |
스위치 |
문자 메시지
GUID |
InStr |
InStrRev |
LCase |
왼쪽 |
렌 |
LTrim |
중간 |
PadLeft |
PadRight |
PCase |
갈다 |
ReplaceChars |
오른쪽 |
RTrim |
다듬다 |
UCase |
단어 |
특별한
ImportedValues
참고 항목
개념
Azure Active Directory 동기화