다음을 통해 공유


Microsoft Entra Connect 동기화: 기본 구성 이해

이 문서에서는 기본 구성 규칙을 설명합니다. 규칙 및 이러한 규칙이 구성에 미치는 영향을 문서화합니다. 또한 Microsoft Entra Connect Sync의 기본 구성을 안내합니다. 목표는 독자가 선언적 프로비저닝이라는 구성 모델이 실제 예제에서 작동하는 방식을 이해하는 것입니다. 이 문서에서는 설치 마법사를 사용하여 Microsoft Entra Connect 동기화를 설치하고 구성했다고 가정합니다.

구성 모델의 세부 정보를 이해하려면 선언적 프로비전 이해읽어보십시오.

온-프레미스에서 Microsoft Entra ID로의 기본 제공 규칙

다음 표현은 기본 구성에서 찾을 수 있습니다.

사용자 기본 규칙

이러한 규칙은 iNetOrgPerson 개체 형식에도 적용됩니다.

동기화하려면 사용자 개체가 다음을 충족해야 합니다.

  • sourceAnchor가 있어야 합니다.
  • Microsoft Entra ID에서 개체를 만든 후에는 sourceAnchor를 변경할 수 없습니다. 값이 온-프레미스에서 변경되면 sourceAnchor가 이전 값으로 다시 변경될 때까지 개체의 동기화가 중지됩니다.
  • accountEnabled(userAccountControl) 속성은 반드시 설정되어 있어야 합니다. 온-프레미스 Active Directory를 사용하면 이 특성이 항상 존재하고 채워집니다.

다음 사용자 개체는 Microsoft Entra ID와 동기화되지 않습니다.

  • IsPresent([isCriticalSystemObject]). 기본 제공 관리자 계정과 같은 Active Directory의 많은 기본 제공 개체가 동기화되지 않도록 합니다.
  • IsPresent([sAMAccountName]) = False. sAMAccountName 특성이 없는 사용자 개체가 동기화되지 않았는지 확인합니다. 이 경우는 실제로 NT4에서 업그레이드된 도메인에서만 발생합니다.
  • Left([sAMAccountName], 4) = "AAD_", Left([sAMAccountName], 5) = "MSOL_". Microsoft Entra Connect Sync 및 이전 버전에서 사용하는 서비스 계정을 동기화하지 마세요.
  • Exchange Online에서 작동하지 않는 Exchange 계정을 동기화하지 마세요.
    • [sAMAccountName] = "SUPPORT_388945a0"
    • Left([mailNickname], 14) = "SystemMailbox{"
    • (Left([mailNickname], 4) = "CAS_" && (InStr([mailNickname], "}") > 0))
    • (Left([sAMAccountName], 4) = "CAS_" && (InStr([sAMAccountName], "}")> 0))
  • Exchange Online에서 작동하지 않는 개체를 동기화하지 마세요. CBool(IIF(IsPresent([msExchRecipientTypeDetails]),BitAnd([msExchRecipientTypeDetails],&H21C07000) > 0,NULL))
    이 비트 마스크(&H21C07000)는 다음 개체들을 제외합니다.
    • 메일 사용이 가능한 공용 폴더(버전 1.1.524.0의 미리 보기 중)
    • 시스템 서버 사서함
    • 데이터베이스 사서함(시스템 사서함)
    • 유니버설 보안 그룹(사용자에게는 적용되지 않지만 레거시 이유로 존재)
    • 비 유니버설 그룹(사용자에게는 적용되지 않지만 레거시 이유로 존재)
    • 사서함 계획
    • 검색 사서함
  • CBool(InStr(DNComponent(CRef([dn]),1),"\\0ACNF:")>0). 복제 피해자 개체를 동기화하지 마세요.

다음 특성 규칙이 적용됩니다.

  • sourceAnchor <- IIF([msExchRecipientTypeDetails]=2,NULL,..). sourceAnchor 특성은 연결된 사서함에서 제공되지 않습니다. 연결된 사서함이 발견되면 실제 계정이 나중에 연결된 것으로 가정합니다.
  • Exchange 관련 속성은 mailNickName 특성에 값이 있는 경우에만 동기화됩니다.
  • 여러 숲이 있는 경우, 특성은 다음 순서로 사용됩니다.
    1. 로그인과 관련된 특성(예: userPrincipalName)은 사용이 허가된 계정이 있는 포리스트에서 제공됩니다.
    2. Exchange GAL(전역 주소 목록)에서 찾을 수 있는 특성은 Exchange 사서함이 있는 도메인 트리에서 기여됩니다.
    3. 사서함을 찾을 수 없는 경우 이러한 특성은 모든 포리스트에서 가져올 수 있습니다.
    4. Exchange 관련 특성(GAL에 표시되지 않는 기술 특성)은 mailNickname ISNOTNULL포리스트에서 제공됩니다.
    5. 이러한 규칙 중 하나를 충족하는 포리스트가 여러 개 있는 경우 커넥터(포리스트)의 생성 순서(날짜/시간)를 사용하여 특성을 기여하는 포리스트를 결정합니다. 연결된 첫 번째 포리스트는 동기화되는 첫 번째 포리스트입니다.

기본 제공 규칙에 문의

연락처 개체는 동기화하려면 다음을 충족해야 합니다.

  • 메일 속성 값이 있어야 합니다.
  • 연락처는 메일을 사용할 수 있어야 합니다. 다음 규칙을 사용하여 확인됩니다.
    • IsPresent([proxyAddresses]) = True). proxyAddresses 항목을 채워야 합니다.
    • 기본 전자 메일 주소는 proxyAddresses 특성 또는 메일 특성에서 찾을 수 있습니다. @의 존재는 콘텐츠가 전자 메일 주소인지 확인하는 데 사용됩니다. 이러한 두 규칙 중 하나는 True로 평가되어야 합니다.
      • (Contains([proxyAddresses], "SMTP:") > 0) && (InStr(Item([proxyAddresses], Contains([proxyAddresses], "SMTP:")), "@") > 0)). "SMTP:"가 있는 항목이 있으며, 있는 경우 문자열에서 @를 찾을 수 있나요?
      • (IsPresent([mail]) = True && (InStr([mail], "@") > 0). 메일 속성이 채워져 있나요? 그리고 채워져 있다면 문자열에 @가 포함되어 있나요?

다음 연락처 개체는 Microsoft Entra ID와 동기화되지 않습니다.

  • IsPresent([isCriticalSystemObject]). 위험으로 표시된 연락처 개체가 동기화되지 않았는지 확인합니다. 기본 구성에서는 문제가 없어야 합니다.
  • ((InStr([displayName], "(MSOL)") > 0) && (CBool([msExchHideFromAddressLists]))).
  • (Left([mailNickname], 4) = "CAS_" && (InStr([mailNickname], "}") > 0)). 이러한 개체는 Exchange Online에서 작동하지 않습니다.
  • CBool(InStr(DNComponent(CRef([dn]),1),"\\0ACNF:")>0). 복제 피해자 개체를 동기화하지 마세요.

기본 제공 규칙 그룹화

동기화하려면 그룹 개체가 다음을 충족해야 합니다.

  • 250,000명 미만의 구성원이 있어야 합니다. 이 개수는 온-프레미스 그룹의 멤버 수입니다.
    • 동기화가 처음 시작되기 전에 더 많은 멤버가 있는 경우 그룹은 동기화되지 않습니다.
    • 멤버 수가 처음 생성될 때부터 증가하는 경우 멤버 수가 다시 250,000명보다 낮아질 때까지 250,000명의 멤버에 도달하면 동기화를 중지합니다.
    • 참고: Microsoft Entra ID는 250,000개의 멤버 자격 수를 적용합니다. 이 규칙을 수정하거나 제거해도 그룹을 더 많은 멤버와 동기화할 수 없습니다.
  • 그룹이 배포 그룹이면, 메일을 사용하도록 설정해야 합니다. 이 규칙이 적용되는 연락처 기본 규칙을 참조하세요.

다음 그룹 개체는 Microsoft Entra ID와 동기화되지 않습니다.

  • IsPresent([isCriticalSystemObject]). 기본 제공 관리자 그룹과 같은 Active Directory의 많은 기본 제공 개체가 동기화되지 않도록 합니다.
  • [sAMAccountName] = "MSOL_AD_Sync_RichCoexistence". DirSync에서 사용하는 레거시 그룹입니다.
  • BitAnd([msExchRecipientTypeDetails],&amp;H40000000). 역할 그룹
  • CBool(InStr(DNComponent(CRef([dn]),1),"\\0ACNF:")>0). 복제 피해자 개체를 동기화하지 마세요.

ForeignSecurityPrincipal 기본 제공 규칙

FSP는 메타버스의 "any"(*) 개체에 조인됩니다. 실제로 이 조인은 사용자 및 보안 그룹에 대해서만 발생합니다. 이 구성을 사용하면 포레스트 간 멤버십이 해결되고 Microsoft Entra ID에서 올바르게 표현됩니다.

컴퓨터 초기 설정 규칙

동기화하려면 컴퓨터 개체가 다음을 충족해야 합니다.

  • userCertificate ISNOTNULL. Windows 10 컴퓨터만 이 특성을 채웁다. 이 특성의 값이 있는 모든 컴퓨터 개체가 동기화됩니다.

기본 제공 규칙 시나리오 이해

이 예제에서는 계정 포리스트 (A), 리소스 포리스트 (R), Microsoft Entra 디렉터리 각각 하나씩 사용하여 배포를 수행합니다.

시나리오 설명 있는 그림

이 구성에서는 계정 포리스트에 활성화된 계정이 있고, 리소스 포리스트에 연결된 사서함과 함께 비활성화된 계정이 있다고 가정합니다.

기본 구성의 목표는 다음과 같습니다.

  • 로그인과 관련된 특성은 포리스트에서 활성화된 계정과 동기화됩니다.
  • GAL(전역 주소 목록)에서 찾을 수 있는 특성은 포리스트에서 온 사서함 데이터와 함께 동기화됩니다. 사서함을 찾을 수 없는 경우 다른 포리스트가 사용됩니다.
  • 연결된 사서함이 있으면 개체를 Microsoft Entra ID로 내보낼 수 있도록 연결된 사용 가능 계정을 찾아야 합니다.

동기화 규칙 편집기

SRE(도구 동기화 규칙 편집기)를 사용하여 구성을 보고 변경할 수 있으며 시작 메뉴에서 바로 가기를 찾을 수 있습니다.

동기화 규칙 편집기 아이콘

SRE는 리소스 키트 도구이며 Microsoft Entra Connect Sync와 함께 설치됩니다. 시작하려면 ADSyncAdmins 그룹의 멤버여야 합니다. 시작되면 다음과 같이 표시됩니다.

동기화 규칙 인바운드

이 창에는 구성에 대해 만들어진 모든 동기화 규칙이 표시됩니다. 테이블의 각 줄은 하나의 동기화 규칙입니다. 규칙 형식 아래의 왼쪽에는 인바운드 및 아웃바운드의 두 가지 형식이 나열됩니다. 메타버스의 관점에서 보는 인바운드 및 아웃바운드입니다. 이 개요에서는 주로 인바운드 규칙에 집중합니다. 동기화 규칙의 실제 목록은 AD에서 검색된 스키마에 따라 달라집니다. 위의 그림에서 계정 포리스트(fabrikamonline.com)에는 Exchange 및 Lync와 같은 서비스가 없으며 이러한 서비스에 대한 동기화 규칙이 만들어지지 않았습니다. 그러나 리소스 포리스트(res.fabrikamonline.com)에서 이러한 서비스에 대한 동기화 규칙을 찾습니다. 규칙의 내용은 검색된 버전에 따라 다릅니다. 예를 들어 Exchange 2013을 사용하는 배포에는 Exchange 2010/2007보다 더 많은 특성 흐름이 구성됩니다.

동기화 규칙

동기화 규칙은 조건이 충족될 때 일련의 특성이 흐르는 구성 개체입니다. 커넥터 공간의 개체가 메타버스의 개체와 어떻게 관련되어 있는지를 설명하는 데도 사용되며, 이는 조인 또는 매치이라고 합니다. 동기화 규칙에는 서로의 관계를 나타내는 우선 순위 값이 있습니다. 숫자 값이 낮은 동기화 규칙은 우선 순위가 높고 특성 흐름 충돌에서 우선 순위가 높을수록 충돌 해결에 우선합니다.

예를 들어 AD에서의 동기화 규칙 In - User AccountEnabled을 확인해 보세요. SRE에서 이 줄을 표시하고 편집선택합니다.

이 규칙은 기본 제공 규칙이기 때문에 규칙을 열 때 경고가 표시됩니다. 기본 규칙의 변경해서는 안 되므로 의도를 묻는 메시지가 표시됩니다. 이 경우에는 규칙을 보기만 하려고 합니다. 없음을 선택합니다.

동기화 규칙 경고

동기화 규칙에는 설명, 범위 지정 필터, 조인 규칙 및 변환의 네 가지 구성 섹션이 있습니다.

묘사

첫 번째 섹션에서는 이름 및 설명과 같은 기본 정보를 제공합니다.

동기화 규칙 편집기 설명 탭

또한 이 규칙과 관련된 연결된 시스템, 해당 규칙이 적용되는 연결된 시스템의 개체 유형 및 메타버스 개체 형식에 대한 정보도 찾을 수 있습니다. 메타버스 개체 형식은 원본 개체 형식이 사용자, iNetOrgPerson 또는 연락처인 경우에 관계없이 항상 사람입니다. 메타버스 개체 형식은 제네릭 형식으로 만들어지도록 변경되지 않아야 합니다. 연결 유형은 Join, StickyJoin 또는 Provision으로 설정할 수 있습니다. 이 설정은 조인 규칙 섹션과 함께 작동하며 나중에 설명합니다.

또한 이 동기화 규칙이 암호 동기화에 사용되는 것을 볼 수 있습니다. 사용자가 이 동기화 규칙의 범위에 있는 경우 암호는 온-프레미스에서 클라우드로 동기화됩니다(암호 동기화 기능을 사용하도록 설정한 것으로 가정).

범위 지정 필터

범위 지정 필터 섹션은 동기화 규칙이 적용되는 시기를 구성하는 데 사용됩니다. 보고 있는 동기화 규칙의 이름은 사용하도록 설정된 사용자에게만 적용되어야 하므로 범위가 구성되므로 userAccountControl AD 특성 비트 2가 설정되지 않아야 합니다. 동기화 엔진이 AD에서 사용자를 찾으면, userAccountControl이 10진수 값 512(일반 사용자로 활성화됨)로 설정된 경우 이 동기화 규칙이 적용됩니다. 사용자가 userAccountControl를 514(으로 설정된 경우)일 때는 규칙이 적용되지 않습니다(일반 사용자가 비활성화됨).

범위 지정 필터에는 중첩할 수 있는 그룹 및 절이 있습니다. 동기화 규칙을 적용하려면 그룹 내의 모든 절이 충족되어야 합니다. 여러 그룹이 정의되면 규칙이 적용되려면 하나 이상의 그룹이 충족되어야 합니다. 즉, 논리적 OR은 그룹 간에 평가되고 논리적 AND는 그룹 내에서 평가됩니다. 구성의 예를 아웃바운드 동기화 규칙 Out to Microsoft Entra ID – Group Join에서 찾을 수 있습니다. 여러 동기화 필터 그룹이 있으며, 예를 들어 보안 그룹용(securityEnabled EQUAL True)과 배포 그룹용(securityEnabled EQUAL False) 필터 그룹이 있습니다.

범위 지정 탭 동기화 규칙 편집기

이 규칙은 Microsoft Entra ID에 프로비전해야 하는 그룹을 정의하는 데 사용됩니다. 배포 그룹이 Microsoft Entra ID와 동기화되려면 메일 사용이 가능해야 하지만 보안 그룹의 경우 전자 메일이 필요하지 않습니다.

조인 규정

세 번째 섹션은 커넥터 공간의 개체가 메타버스의 개체와 어떻게 관련되는지 구성하는 데 사용됩니다. 앞에서 살펴본 규칙에 조인 규칙에 대한 구성이 없으므로 대신 AD에서 - 사용자 조인살펴보겠습니다.

동기화 규칙 편집기의 조인 규칙 탭

조인 규칙의 내용은 설치 마법사에서 선택한 일치 옵션에 따라 달라집니다. 인바운드 규칙의 경우 평가는 원본 커넥터 공간의 개체로 시작하고 조인 규칙의 각 그룹은 순서대로 평가됩니다. 소스 개체가 조인 규칙 중 하나를 사용하여 메타버스에서 정확히 하나의 개체와 일치하도록 평가되면 개체가 조인됩니다. 모든 규칙이 평가되고 일치하는 항목이 없는 경우 설명 페이지의 링크 형식이 사용됩니다. 이 구성이 프로비전로 설정되면 조인 조건의 특성 중 적어도 하나가 존재(값이 있음)할 때 메타버스에 대상 개체가 새로 생성됩니다. 메타버스에 새 개체를 프로비전하는 것은 개체를 메타버스에 투사하는 것으로 불리기도 합니다.

조인 규칙은 한 번만 평가됩니다. 커넥터 공간 개체와 메타버스 개체가 조인되면 동기화 규칙의 범위가 여전히 충족되는 한 조인된 상태로 유지됩니다.

동기화 규칙을 평가할 때 조인 규칙이 정의된 하나의 동기화 규칙만 범위에 있어야 합니다. 한 개체에 대해 조인 규칙을 가진 여러 동기화 규칙이 발견되면 오류가 발생합니다. 이러한 이유로 여러 동기화 규칙이 개체의 범위에 있을 때 조인이 정의된 동기화 규칙이 하나만 있는 것이 가장 좋습니다. Microsoft Entra Connect Sync의 기본 구성에서 이러한 규칙은 이름을 보고 이름 끝에 조인이라는 단어가 있는 규칙을 찾아 찾을 수 있습니다. 조인 규칙이 정의되지 않은 동기화 규칙은 다른 동기화 규칙이 개체를 함께 조인하거나 대상에 새 개체를 프로비전할 때 특성 흐름을 적용합니다.

위의 그림을 보면 규칙이 objectSIDmsExchMasterAccountSid(Exchange) 및 msRTCSIP-OriginatorSid(Lync)와 조인하려고 하는 것을 볼 수 있습니다. 이는 계정 리소스 포리스트 토폴로지에서 예상하는 것입니다. 모든 숲에서 동일한 규칙을 발견합니다. 모든 포리스트는 계정 또는 리소스 포리스트일 수 있다고 가정합니다. 이 구성은 단일 포리스트에 있고 가입할 필요가 없는 계정이 있는 경우에도 작동합니다.

변환

변환 섹션에서는 개체가 조인되고 범위 필터가 충족될 때 대상 개체에 적용되는 모든 특성 흐름을 정의합니다. AD로 돌아가서 - User AccountEnabled 동기화 규칙을 살펴보면, 다음과 같은 변환들이 나타납니다.

동기화 규칙 편집기에서 변환 탭

이 구성을 맥락에 맞게 설명하면, Account-Resource 포리스트 배포에서는 계정 포리스트에서 활성화된 계정을 찾고, Exchange 및 Lync 설정이 적용된 비활성화된 계정을 리소스 포리스트에서 찾는 것이 기대됩니다. 보고 있는 동기화 규칙에는 로그온에 필요한 특성이 포함되어 있으며, 이러한 특성은 사용이 활성화된 계정이 있는 포리스트에서 유입되어야 합니다. 이러한 모든 특성 흐름은 하나의 동기화 규칙에 함께 배치됩니다.

변환에는 상수, 직접 및 식과 같은 다양한 형식이 있을 수 있습니다.

  • 상수 흐름은 항상 하드 코딩된 값을 흐릅니다. 위의 경우 항상 accountEnabled메타버스 특성에서 True 값을 설정합니다.
  • 직접 전송은 항상 원본 속성의 값을 대상 속성 as-is으로 이동시킵니다.
  • 세 번째 흐름 유형은 Expression이며 고급 구성을 허용합니다.

식 언어는 VBA(Visual Basic for Applications)이므로 Microsoft Office 또는 VBScript 경험이 있는 사용자는 해당 형식을 인식합니다. 특성은 대괄호 [attributeName]으로 묶입니다. 특성 이름과 함수 이름은 대/소문자를 구분하지만 동기화 규칙 편집기에서는 식을 평가하고 식이 유효하지 않은 경우 경고 메시지를 표시합니다. 모든 식은 중첩된 함수를 사용하여 한 줄로 표현됩니다. 구성 언어의 기능을 표시하기 위해 pwdLastSet에 대한 흐름은 다음과 같습니다. 하지만 추가 주석이 삽입됩니다.

// If-then-else
IIF(
// (The evaluation for IIF) Is the attribute pwdLastSet present in AD?
IsPresent([pwdLastSet]),
// (The True part of IIF) If it is, then from right to left, convert the AD time format to a .NET datetime, change it to the time format used by Azure AD, and finally convert it to a string.
CStr(FormatDateTime(DateFromNum([pwdLastSet]),"yyyyMMddHHmmss.0Z")),
// (The False part of IIF) Nothing to contribute
NULL
)

속성 흐름에 대한 식 언어에 대해 자세히 알고 싶다면 선언적 프로비저닝 식 이해를 참조하세요.

우선 순위

이제 일부 개별 동기화 규칙을 살펴보았지만 규칙은 구성에서 함께 작동합니다. 경우에 따라 특성 값은 여러 동기화 규칙에서 동일한 대상 특성에 기여합니다. 이 경우 특성 우선 순위를 사용하여 어떤 특성이 우선하는지 확인합니다. 예를 들어 sourceAnchor 특성을 확인합니다. 이 특성은 Microsoft Entra ID에 로그인할 수 있는 중요한 특성입니다. 이 특성에 대한 특성 흐름은 AD에서 In - User AccountEnabled 및 AD의 In - User Common두 가지 동기화 규칙에서 찾을 수 있습니다. 메타버스 개체에 여러 개체가 조인된 경우, 동기화 규칙의 우선 순위에 따라 sourceAnchor 속성은 먼저 활성화된 계정을 가진 포리스트에서 제공됩니다. 사용하도록 설정된 계정이 없으면 동기화 엔진은 Active Directory의 포괄 동기화 규칙 - 일반 사용자을 사용합니다. 이 구성을 사용하면 사용하지 않도록 설정된 계정의 경우에도 sourceAnchor가 유지됩니다.

동기화 규칙 인바운드

동기화 규칙의 우선 순위는 설치 마법사에 의해 그룹으로 설정됩니다. 그룹의 모든 규칙은 이름이 같지만 서로 다른 연결된 디렉터리에 연결됩니다. 설치 마법사는 AD에서 규칙 - 사용자 조인 가장 높은 우선 순위를 부여하고 연결된 모든 AD 디렉터리에 대해 반복합니다. 그런 다음, 미리 정의된 순서로 다음 규칙 그룹을 계속 진행합니다. 그룹 내에서 규칙은 연결기들이 마법사에 추가된 순서대로 추가됩니다. 마법사를 통해 다른 커넥터가 추가되면 동기화 규칙이 다시 정렬되고 새 커넥터의 규칙이 각 그룹에 마지막으로 삽입됩니다.

이 모든 것을 하나로 모으다.

이제 구성이 다른 동기화 규칙에서 작동하는 방식을 이해할 수 있도록 동기화 규칙에 대해 충분히 알고 있습니다. 메타버스에 기여하는 사용자 및 특성을 살펴보면 규칙은 다음 순서로 적용됩니다.

이름 주석
AD에서 로그인 – 사용자 조인 메타버스를 사용하여 커넥터 공간 개체를 조인하는 규칙입니다.
AD에서 가져옴 - 사용자 계정 활성화됨 Microsoft Entra ID 및 Microsoft 365에 로그인하는 데 필요한 특성입니다. 활성화된 계정에서 이러한 특성을 원합니다.
AD 입력 – 익스체인지의 사용자 공통 전역 주소 목록에서 찾을 수 있는 속성입니다. 우리는 사용자의 사서함을 찾은 숲에서 데이터 품질이 가장 좋다고 가정합니다.
AD에서 – 사용자 공용 전역 주소 목록에 있는 특성입니다. 사서함을 찾지 못한 경우 다른 조인된 개체가 특성 값을 기여할 수 있습니다.
AD에서 오는 사용자 Exchange Exchange가 검색된 경우에만 존재합니다. 모든 인프라 Exchange 특성을 전달합니다.
AD에서 가져오기 – 사용자 Lync Lync가 검색된 경우에만 존재합니다. 모든 인프라 Lync 특성을 전달합니다.

다음 단계

개요 항목