다음을 통해 공유


SQL 기반 애플리케이션에 사용자 프로비저닝

다음 설명서에서는 일반 SQL 커넥터 및 ECMA(Extensible Connectivity) 호스트를 SQL Server와 함께 사용하는 방법을 보여주는 구성 및 자습서 정보를 제공합니다.

이 문서에서는 사용자를 Microsoft Entra ID에서 SQL 데이터베이스에 자동으로 프로비전 및 프로비전 해제하기 위해 수행해야 하는 단계를 설명합니다.

이 서비스의 기능, 작동 방식, 질문과 대답에 대한 중요한 세부 정보는 Microsoft Entra ID를 사용하여 SaaS 애플리케이션에 대한 사용자 프로비전 및 프로비전 해제 자동화온-프레미스 애플리케이션 프로비전 아키텍처 문서를 확인하세요.

다음 비디오는 온-프레미스 프로비전에 대한 개요를 제공합니다.

SQL Database에 프로비저닝하기 위한 필수 구성 요소

온-프레미스 필수 조건

애플리케이션은 사용자에 대한 레코드를 만들기, 업데이트 및 삭제할 수 있는 SQL 데이터베이스를 사용합니다. 프로비저닝 에이전트를 실행하는 컴퓨터에는 다음이 있어야 합니다.

  • Windows Server 2016 이상 버전.
  • 대상 데이터베이스 시스템에 대한 연결 및 login.microsoftonline.com, 기타 Microsoft Online ServicesAzure 도메인에 대한 아웃바운드 연결 사용. 예를 들어 Azure IaaS 또는 프록시 뒤에서 호스트되는 Windows Server 2016 가상 머신이 있습니다.
  • 최소 3GB RAM.
  • .NET Framework 4.7.2.
  • SQL 데이터베이스용 ODBC 드라이버.

애플리케이션의 데이터베이스에 대한 연결 구성은 마법사를 통해 수행됩니다. 선택한 옵션에 따라 일부 마법사 화면을 사용하지 못할 수 있으며 정보가 약간 다를 수도 있습니다. 다음 정보를 사용하여 구성 작업을 수행합니다.

지원되는 데이터베이스

  • Microsoft SQL Server 및 Azure SQL
  • IBM DB2 9.x
  • IBM DB2 10.x
  • IBM DB2 11.5
  • Oracle 10g 및 11g
  • Oracle 12c 및 18c
  • MySQL 5.x
  • MySQL 8.x
  • Postgres

클라우드 요구 사항

  • Microsoft Entra ID P1 또는 Premium P2(또는 EMS E3 또는 E5)를 사용하는 Microsoft Entra 테넌트입니다.

    이 기능을 사용하려면 Microsoft Entra ID P1 라이선스가 필요합니다. 요구 사항에 적합한 라이선스를 찾으려면 Microsoft Entra ID의 일반 공급 기능 비교를 참조하세요.

  • Azure Portal에서 프로비저닝을 구성하기 위한 프로비전 에이전트와 애플리케이션 관리자 또는 클라우드 애플리케이션 관리자 역할을 구성하기 위한 하이브리드 ID 관리자 역할입니다.

  • 데이터베이스에 프로비전할 Microsoft Entra 사용자는 데이터베이스 스키마에 필요하고 데이터베이스 자체에서 생성되지 않는 특성으로 이미 채워져 있어야 합니다.

샘플 데이터베이스 준비

이 문서에서는 애플리케이션의 관계형 데이터베이스와 상호 작용하도록 Microsoft Entra SQL 커넥터를 구성합니다. 일반적으로 애플리케이션은 SQL 데이터베이스의 테이블을 사용하여 액세스를 관리하며 사용자당 테이블에 하나의 행이 있습니다. 데이터베이스가 있는 애플리케이션이 이미 있는 경우 다음 섹션에서 계속합니다.

적절한 테이블이 포함된 데이터베이스가 아직 없는 경우 데모 목적으로 Microsoft Entra ID를 사용하도록 허용할 데이터베이스를 만들어야 합니다. SQL Server를 사용하는 경우 부록 A에 있는 SQL 스크립트를 실행합니다. 이 스크립트는 단일 테이블 Employees를 포함하는 이름이 CONTOSO인 샘플 데이터베이스를 만듭니다. 이는 사용자를 프로비저닝할 데이터베이스 테이블입니다.

테이블 열 원본
ContosoLogin Microsoft Entra 사용자 계정 이름
FirstName Microsoft Entra 이름
LastName Microsoft Entra 성
전자 메일 Exchange Online 이메일 주소
InternalGUID 데이터베이스 자체에서 생성
AzureID Microsoft Entra 개체 ID
textID Microsoft Entra ID 메일 애칭

Microsoft Entra SQL 커넥터가 데이터베이스와 상호 작용하는 방법 결정

사용자 계정이 데이터베이스 테이블의 데이터를 업데이트할 수 있는 권한이 있는 SQL 인스턴스에 있어야 합니다. 다른 사용자가 SQL 데이터베이스를 관리하는 경우 Microsoft Entra ID에서 데이터베이스에 인증하는 데 사용할 계정 이름과 암호를 얻으려면 연락하세요. SQL 인스턴스가 다른 컴퓨터에 설치된 경우 SQL 데이터베이스에서 에이전트 컴퓨터의 ODBC 드라이버로부터 들어오는 연결을 허용하는지 확인해야 합니다.

애플리케이션에 대한 기존 데이터베이스가 이미 있는 경우 Microsoft Entra ID가 해당 데이터베이스와 상호 작용하는 방법을 결정해야 합니다. 즉, 테이블 및 뷰와의 직접 상호 작용, 데이터베이스에 이미 있는 저장 프로시저를 통해 또는 쿼리 및 업데이트를 위해 제공하는 SQL 문을 통해 결정해야 합니다. 이 설정은 더 복잡한 애플리케이션은 데이터베이스에 다른 보조 테이블이 있거나 수천 명의 사용자가 있는 테이블에 대한 페이징이 필요하거나 Microsoft Entra ID에서 암호화, 해싱 또는 유효성 검사와 같은 추가 데이터 처리를 수행하는 저장 프로시저를 호출해야 할 수 있기 때문입니다.

커넥터가 애플리케이션의 데이터베이스와 상호 작용하도록 구성을 만들 때 먼저 커넥터 호스트가 데이터베이스의 스키마를 읽는 방법에 대한 방법을 구성한 다음, 실행 프로필을 통해 커넥터가 지속적으로 사용해야 하는 방법을 구성합니다. 각 실행 프로필은 커넥터가 SQL 문을 생성해야 하는 방법을 지정합니다. 실행 프로필의 선택과 실행 프로필 내의 방법은 데이터베이스 엔진이 지원하는 것과 애플리케이션이 요구하는 사항에 따라 다릅니다.

  • 구성 후 프로비저닝 서비스가 시작되면 전체 가져오기 실행 프로필에 구성된 상호 작용을 자동으로 수행합니다. 이 실행 프로필에서 커넥터는 일반적으로 SELECT 문을 사용하여 애플리케이션 데이터베이스에서 사용자의 모든 레코드를 읽습니다. 이 실행 프로필은 나중에 Microsoft Entra ID가 사용자를 변경해야 하는 경우 Microsoft Entra ID가 해당 사용자에 대한 새 레코드를 만드는 대신 데이터베이스에서 해당 사용자에 대한 기존 레코드를 업데이트해야 함을 알 수 있도록 필요합니다.

  • 애플리케이션에 새 사용자를 할당하거나 기존 사용자를 업데이트하는 것과 같이 Azure AD에서 변경할 때마다 프로비전 서비스는 내보내기 실행 프로필로 구성된 SQL 데이터베이스 상호 작용을 수행합니다. 내보내기 실행 프로필에서 Microsoft Entra ID는 데이터베이스의 콘텐츠를 Microsoft Entra ID와 동기화하기 위해 데이터베이스의 레코드를 삽입, 업데이트 및 삭제하는 SQL 문을 실행합니다.

  • 데이터베이스에서 지원하는 경우 선택적으로 델타 가져오기 실행 프로필을 구성할 수도 있습니다. 이 실행 프로필에서 Microsoft Entra ID는 마지막 전체 또는 델타 가져오기 이후 Microsoft Entra ID가 아닌 데이터베이스에서 변경된 내용을 읽습니다. 이 실행 프로필은 변경 내용을 읽을 수 있도록 데이터베이스를 구성해야 하므로 선택 사항입니다.

커넥터의 각 실행 프로필 구성에서 Microsoft Entra 커넥터가 테이블 또는 뷰에 대한 고유한 SQL 문을 생성할지, 저장 프로시저를 호출할지 또는 사용자가 제공하는 사용자 지정 SQL 쿼리를 사용해야 하는지 여부를 지정합니다. 일반적으로 커넥터의 모든 실행 프로필에 대해 동일한 방법을 사용합니다.

  • 실행 프로필에 대한 테이블 또는 뷰 메서드를 선택하는 경우 Microsoft Entra 커넥터는 필요한 SQL 문인 SELECT, INSERT, UPDATEDELETE를 생성하여 데이터베이스의 테이블 또는 뷰와 상호 작용합니다. 이 방법은 데이터베이스에 기존 행이 거의 없는 업데이트 가능한 뷰나 단일 테이블이 있는 경우 이것이 가장 간단한 접근 방식입니다.
  • 저장 프로시저 방법을 선택하는 경우 데이터베이스에는 사용자 페이지를 읽고, 사용자를 추가하고, 사용자를 업데이트하고, 사용자를 삭제하는 네 가지 저장 프로시저가 있어야 합니다. 호출할 해당 저장 프로시저의 이름 및 매개 변수로 Microsoft Entra 커넥터를 구성합니다. 이 방법을 사용하려면 SQL 데이터베이스에서 더 많은 구성이 필요하며 일반적으로 애플리케이션에서 사용자에 대한 각 변경 내용에 대한 추가 처리가 필요한 경우에만 필요합니다.
  • SQL 쿼리 방법을 선택하는 경우 실행 프로필 중에 커넥터에서 실행할 특정 SQL 문을 입력합니다. 가져오는 동안 결과 집합을 페이지로 이동하거나 내보내기 중에 만들어지는 새 사용자의 특성을 설정하는 것과 같이 커넥터가 SQL 문에서 채워야 하는 매개 변수로 커넥터를 구성합니다.

이 문서에서는 내보내기전체 가져오기 실행 프로필에서 테이블 메서드를 사용하여 샘플 데이터베이스 테이블 Employees와 상호 작용하는 방법을 설명합니다. 저장 프로시저 또는 SQL 쿼리 방법 구성에 대한 자세한 내용은 자세한 내용과 특정 요구 사항을 제공하는 일반 SQL 구성 가이드를 참조하세요.

애플리케이션의 데이터베이스 스키마에서 고유 식별자 선택

대부분의 애플리케이션에는 애플리케이션의 각 사용자에 대한 고유 식별자가 있습니다. 기존 데이터베이스 테이블에 프로비저닝하는 경우 각 사용자에 대한 값이 있는 해당 테이블의 열을 식별해야 합니다. 여기서 해당 값은 고유하고 변경되지 않습니다. 이 열은 Microsoft Entra ID가 업데이트하거나 삭제할 수 있는 기존 행을 식별하는 데 사용하는 앵커가 됩니다. 앵커에 대한 추가 정보는 앵커 특성 및 고유 이름 정보를 참조하세요.

애플리케이션의 데이터베이스가 이미 존재하고, 그 안에 사용자가 있고, Microsoft Entra ID에서 해당 사용자를 최신 상태로 유지하려는 경우 애플리케이션의 데이터베이스와 Microsoft Entra 스키마 간에 동일한 각 사용자에 대한 식별자가 있어야 합니다. 예를 들어, Microsoft Entra ID의 애플리케이션에 사용자를 할당하고 해당 사용자가 이미 해당 데이터베이스에 있는 경우 Microsoft Entra ID의 해당 사용자에 대한 변경 내용은 새 행을 추가하는 대신 해당 사용자의 기존 행을 업데이트해야 합니다. Microsoft Entra ID는 해당 사용자에 대한 애플리케이션의 내부 식별자를 저장하지 않을 가능성이 높으므로 데이터베이스 쿼리를 위해 다른 열을 선택하는 것이 좋습니다. 이 열의 값은 사용자 계정 이름, 이메일 주소, 직원 ID 또는 애플리케이션 범위에 있는 각 사용자의 Microsoft Entra ID에 있는 기타 식별자일 수 있습니다. 애플리케이션이 사용하는 사용자 ID가 사용자의 Microsoft Entra 표현에 저장된 특성이 아닌 경우 확장 특성으로 Microsoft Entra 사용자 스키마를 확장하고 데이터베이스에서 해당 특성을 채울 필요가 없습니다. PowerShell을 사용하여 Microsoft Entra 스키마를 확장하고 확장 값을 설정할 수 있습니다.

Microsoft Entra ID의 특성을 데이터베이스 스키마에 매핑

Microsoft Entra ID가 이미 데이터베이스에 있는 사용자 또는 새 사용자에 대해 Microsoft Entra ID의 사용자와 데이터베이스의 레코드 간에 링크를 설정한 경우 Microsoft Entra ID는 Microsoft Entra 사용자의 특성 변경 사항을 데이터베이스에 프로비전할 수 있습니다. 고유 식별자 외에도 데이터베이스를 검사하여 다른 필수 속성이 있는지 확인합니다. 있는 경우 데이터베이스에 프로비전할 사용자에게 필수 속성에 매핑할 수 있는 특성이 있는지 확인합니다.

또한 프로비전 해제 동작을 구성할 수 있습니다. 애플리케이션에 할당된 사용자가 Microsoft Entra ID에서 삭제되면 Microsoft Entra ID는 데이터베이스에 삭제 작업을 보냅니다. 사용자가 애플리케이션을 사용할 수 있는 범위를 벗어날 때 Microsoft Entra ID가 데이터베이스를 업데이트하도록 할 수도 있습니다. 사용자가 앱에서 할당 취소되거나, Microsoft Entra ID에서 일시 삭제되거나, 로그인이 차단된 경우 특성 변경 내용을 보내도록 Microsoft Entra ID를 구성할 수 있습니다. 기존 데이터베이스 테이블에 프로비저닝하는 경우 해당 테이블의 열이 isSoftDeleted에 매핑되도록 할 수 있습니다. 사용자가 범위를 벗어나면 Microsoft Entra ID는 해당 사용자의 값을 True로 설정합니다.

1. ODBC 드라이버 설치

프로비저닝 에이전트를 설치할 Windows Server에는 대상 데이터베이스용 ODBC 드라이버가 필요합니다. SQL Server 또는 Azure SQL Database에 연결할 계획이라면 SQL Server(x64)용 ODBC 드라이버를 다운로드하여 Windows Server에 설치해야 합니다. 다른 SQL 데이터베이스의 경우 ODBC 드라이버 설치 방법에 대한 독립 소프트웨어 공급업체의 지침을 참조하세요.

2. DSN 연결 파일 만들기

일반 SQL 커넥터에는 SQL 엔드포인트에 연결하기 위한 DSN(데이터 원본 이름) 파일이 필요합니다. 먼저 ODBC 연결 정보가 포함된 파일을 만들어야 합니다.

  1. 서버에서 ODBC 관리 유틸리티를 시작합니다. 64비트 버전을 사용합니다.

    ODBC 관리를 보여 주는 스크린샷.

  2. 파일 DSN 탭, 추가를 차례로 선택합니다.

    파일 DSN 탭을 보여 주는 스크린샷.

  3. SQL Server 또는 Azure SQL을 사용하는 경우 SQL Server Native Client 11.0을 선택하고 다음을 선택합니다. 다른 데이터베이스를 사용하는 경우 해당 ODBC 드라이버를 선택합니다.

    원시 클라이언트 선택을 보여 주는 스크린샷

  4. GenericSQL과 같은 파일 이름을 지정하고, 다음을 선택합니다. 커넥터 이름 지정을 보여 주는 스크린샷

  5. 마침을 선택합니다.

    마침을 보여 주는 스크린샷

  6. 이제 연결을 구성합니다. 다음 단계는 사용 중인 ODBC 드라이버에 따라 다릅니다. 이 그림에서는 드라이버를 사용하여 SQL Server에 연결한다고 가정합니다. SQL Server가 다른 서버 컴퓨터에 있는 경우 서버 이름을 입력합니다. 그런 후에 다음을 선택합니다.

    서버 이름 입력을 보여 주는 스크린샷.

  7. 이 단계를 실행하는 사용자에게 데이터베이스에 연결할 수 있는 권한이 있는 경우 Windows 인증이 선택된 상태로 유지합니다. SQL Server 관리자에게 SQL 로컬 계정이 필요한 경우 해당 자격 증명을 대신 제공합니다. 그런 후 다음을 선택합니다.

    Windows 인증을 보여 주는 스크린샷.

  8. 이 샘플에서 CONTOSO인 데이터베이스 이름을 입력합니다.

    데이터베이스 이름 입력을 보여 주는 스크린샷

  9. 이 화면에서 모든 항목을 기본값으로 유지하고, 마침을 선택합니다.

    마침 선택을 보여 주는 스크린샷.

  10. 모든 항목이 예상대로 작동하는지 확인하려면 데이터 원본 테스트를 선택합니다.

    데이터 원본 테스트를 보여 주는 스크린샷.

  11. 테스트에 성공했는지 확인합니다.

    성공을 보여 주는 스크린샷.

  12. 확인을 두 번 선택합니다. ODBC 데이터 원본 관리자를 닫습니다. DSN 연결 파일은 기본적으로 Documents 폴더에 저장됩니다.

3. Microsoft Entra Connect 프로비전 에이전트 설치 및 구성

프로비전 에이전트를 이미 다운로드하고 다른 온-프레미스 애플리케이션에 대해 구성한 경우 다음 섹션에서 계속 읽어 보세요.

  1. Azure Portal에 로그인합니다.
  2. 엔터프라이즈 애플리케이션으로 이동하고 새 애플리케이션을 선택합니다.
  3. 온-프레미스 ECMA 앱 애플리케이션을 검색하고, 앱 이름을 지정하고, 만들기를 선택하여 테넌트에 추가합니다.
  4. 메뉴에서 애플리케이션의 프로비전 페이지로 이동합니다.
  5. 시작하기를 선택합니다.
  6. 프로비전 페이지에서 모드를 자동으로 변경합니다.

자동 선택 스크린샷.

  1. 온-프레미스 연결에서 다운로드 및 설치를 선택하고 약관 동의 및 다운로드를 선택합니다.

에이전트 다운로드 위치 스크린샷.

  1. 포털을 종료하고 프로비전 에이전트 설치 프로그램을 실행한 후 서비스 약관에 동의하고 설치를 선택합니다.
  2. Microsoft Entra 프로비전 에이전트 구성 마법사가 나타날 때까지 기다린 후 다음을 선택합니다.
  3. 확장 선택 단계에서 온-프레미스 애플리케이션 프로비전을 선택한 후 다음을 선택합니다.
  4. 프로비전 에이전트는 운영 체제의 웹 브라우저를 사용하여 Microsoft Entra ID 및 잠재적으로 조직의 ID 공급자를 인증할 수 있는 팝업 창을 표시합니다. Windows Server에서 Internet Explorer를 브라우저로 사용하는 경우 JavaScript가 올바르게 실행되도록 하려면 브라우저의 신뢰할 수 있는 사이트 목록에 Microsoft 웹 사이트를 추가해야 할 수 있습니다.
  5. 권한 부여하라는 메시지가 표시되면 Microsoft Entra 관리자의 자격 증명을 제공합니다. 사용자에게는 최소한 하이브리드 ID 관리자 역할이 있어야 합니다.
  6. 확인을 선택하여 설정을 확인합니다. 설치가 완료되면 종료를 선택하고 프로비전 에이전트 패키지 설치 프로그램을 닫을 수도 있습니다.

4. 온-프레미스 ECMA 앱 구성

  1. 포털로 돌아가서 온-프레미스 연결 섹션에서 배포한 에이전트를 선택하고 에이전트 할당을 선택합니다.

    에이전트를 선택하고 할당하는 방법을 보여 주는 스크린샷

  2. 구성 마법사를 사용하여 구성의 다음 단계를 수행하는 경우 이 브라우저 창을 열어 둡니다.

5. Microsoft Entra ECMA 커넥터 호스트 인증서 구성

  1. 프로비전 에이전트가 설치된 Windows Server의 시작 메뉴에서 Microsoft ECMA2Host 구성 마법사를 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행합니다. 마법사가 필요한 Windows 이벤트 로그를 만들려면 Windows 관리자로 실행해야 합니다.

  2. ECMA 커넥터 호스트 구성이 시작된 후 마법사를 처음 실행하는 경우 인증서를 만들라는 메시지가 표시됩니다. 기본 포트 8585를 그대로 두고 인증서 생성을 선택하여 인증서를 생성합니다. 자동 생성된 인증서는 신뢰할 수 있는 루트의 일부로 자체 서명됩니다. 인증서 SAN은 호스트 이름과 일치합니다.

    설정 구성을 보여 주는 스크린샷.

  3. 저장을 선택합니다.

참고 항목

새 인증서를 생성하도록 선택한 경우 인증서 만료 날짜를 기록하여 구성 마법사로 돌아가 만료되기 전에 인증서를 다시 생성하도록 예약하세요.

6. 일반 SQL 커넥터 만들기

이 섹션에서는 데이터베이스에 대한 커넥터 구성을 만듭니다.

6.1 SQL 연결 구성

일반 SQL 커넥터를 만들려면 다음 단계를 수행합니다.

  1. Microsoft Entra ID를 커넥터에 인증하는 데 사용할 비밀 토큰을 생성합니다. 최소 12자여야 하며 각 애플리케이션에 대해 고유해야 합니다.

  2. 아직 수행하지 않은 경우 Windows 시작 메뉴에서 Microsoft ECMA2Host 구성 마법사를 시작합니다.

  3. 새 커넥터를 선택합니다.

    새 커넥터 선택을 보여 주는 스크린샷

  4. 속성 페이지에서 상자를 이미지 뒤에 나오는 표에 지정된 값으로 채우고, 다음을 선택합니다.

    속성 입력을 보여 주는 스크린샷.

    속성
    속성 환경의 모든 커넥터에서 고유해야 하는 커넥터에 대해 선택한 이름입니다. 예를 들어, SQL 데이터베이스가 하나만 있는 경우 SQL입니다.
    자동 동기화 타이머(분) 120
    비밀 토큰 이 커넥터에 대해 생성한 비밀 토큰을 입력합니다. 키는 12자 이상이어야 합니다.
    확장 DLL 일반 SQL 커넥터의 경우 Microsoft.IAM.Connector.GenericSql.dll을 선택합니다.
  5. 연결 페이지에서 상자를 이미지 뒤에 나오는 표에 지정된 값으로 채우고, 다음을 선택합니다.

    연결 페이지를 보여 주는 스크린샷

    속성 설명
    DSN 파일 SQL 인스턴스에 연결하는 데 사용되는 이전 단계에서 만든 데이터 원본 이름 파일입니다.
    사용자 이름 SQL 인스턴스의 테이블을 업데이트할 수 있는 권한이 있는 계정의 사용자 이름입니다. 대상 데이터베이스가 SQL Server이고 Windows 인증을 사용하는 경우 사용자 이름은 독립 실행형 서버의 경우 hostname\sqladminaccount 형식이어야 하고 도메인 멤버 서버의 경우 domain\sqladminaccount 형식이어야 합니다. 다른 데이터베이스의 경우 사용자 이름은 데이터베이스의 로컬 계정이 됩니다.
    암호 제공한 사용자 이름의 암호입니다.
    DN이 앵커입니다. 환경에 필요한 설정이 아닌 경우 DN이 앵커입니다.내보내기 형식:개체 바꾸기 확인란을 선택하지 않습니다.

6.2 데이터베이스에서 스키마 검색

자격 증명을 제공하면 ECMA 커넥터 호스트가 데이터베이스의 스키마를 검색할 준비가 됩니다. SQL 연결 구성을 계속 진행합니다.

  1. 스키마 1 페이지에서 개체 형식 목록을 지정합니다. 이 샘플에는 단일 개체 형식인 User가 있습니다. 이미지 다음에 나오는 표에 지정된 값으로 상자를 채우고 다음을 선택합니다.

    스키마 1 페이지를 보여 주는 스크린샷

    속성
    개체 형식 검색 방법 고정 값
    고정 값 목록/테이블/보기/SP 사용자
  2. 다음을 선택하면 User 개체 형식 구성을 위한 다음 페이지가 자동으로 나타납니다. 스키마 2 페이지에서 데이터베이스에서 사용자가 표시되는 방식을 지정합니다. 이 샘플에서는 이름이 Employees인 단일 SQL 테이블입니다. 이미지 다음에 나오는 표에 지정된 값으로 상자를 채우고 다음을 선택합니다.

    스키마 2 페이지를 보여 주는 스크린샷

    속성
    사용자:특성 검색 테이블
    사용자:테이블/뷰/SP 데이터베이스의 테이블 이름(예: Employees)

    참고 항목

    오류가 발생하는 경우 데이터베이스 구성을 확인하여 연결 페이지에서 지정한 사용자가 데이터베이스의 스키마에 대한 읽기 권한이 있는지 확인합니다.

  3. 다음을 선택하면 사용자의 AnchorDN로 사용될 이 샘플의 Employees 테이블과 같이 이전에 지정한 테이블의 열을 선택할 수 있는 다음 페이지가 자동으로 나타납니다. 이러한 열에는 데이터베이스의 고유 식별자가 포함되어 있습니다. 동일하거나 다른 열을 사용할 수 있지만 이 데이터베이스에 이미 있는 모든 행에는 해당 열에 고유한 값이 있는지 확인합니다. 스키마 3 페이지에서 상자를 이미지 뒤에 나오는 표에 지정된 값으로 채우고, 다음을 선택합니다.

    스키마 3 페이지 스크린샷.

    속성 설명
    사용자에 대한 앵커 선택 앵커에 사용할 데이터베이스 테이블의 열(예: User:ContosoLogin)
    사용자에 대한 DN 특성 선택 DN 특성에 사용할 데이터베이스 열(예: AzureID)
  4. 다음을 선택하면 Employee 테이블의 각 열에 대한 데이터 형식과 커넥터가 열을 가져오거나 내보낼지 여부를 확인할 수 있는 다음 페이지가 자동으로 나타납니다. 스키마 4 페이지에서 기본값을 그대로 두고, 다음을 선택합니다.

    스키마 4 페이지를 보여 주는 스크린샷

  5. 전체 페이지에서 상자를 채우고, 다음을 선택합니다. 개별 상자에 대한 지침은 이미지 뒤에 나오는 표를 사용합니다.

    전체 페이지를 보여 주는 스크린샷

    속성 설명
    델타 전략 IBM DB2의 경우 None 선택
    워터마크 쿼리 IBM DB2의 경우 SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1; 입력
    데이터 원본 날짜 시간 형식 SQL Server의 경우 yyyy-MM-dd HH:mm:ss, IBM DB2의 경우 YYYY-MM-DD
  6. 파티션 페이지에서 다음을 선택합니다.

    파티션 페이지를 보여 주는 스크린샷

6.3 실행 프로필 구성

다음으로 내보내기전체 가져오기 실행 프로필을 구성합니다. 내보내기 실행 프로필은 ECMA 커넥터 호스트가 레코드를 삽입, 업데이트 및 삭제하기 위해 Microsoft Entra ID에서 데이터베이스로 변경 내용을 보내야 할 때 사용됩니다. 전체 가져오기 실행 프로필은 ECMA 커넥터 호스트 서비스가 시작될 때 데이터베이스의 현재 콘텐츠를 읽는 데 사용됩니다. 이 샘플에서는 두 실행 프로필 모두에서 Table 메서드를 사용하여 ECMA 커넥터 호스트가 필요한 SQL 문을 생성하도록 합니다.

SQL 연결 구성을 계속 진행합니다.

  1. 실행 프로필 페이지에서 내보내기 확인란을 선택한 상태로 유지합니다. 전체 가져오기 확인란을 선택하고, 다음을 선택합니다.

    실행 프로필 페이지를 보여 주는 스크린샷

    속성 설명
    내보내기 데이터를 SQL로 내보내는 실행 프로필입니다. 이 실행 프로필은 필수입니다.
    전체 가져오기 이전에 지정한 SQL 원본에서 모든 데이터를 가져오는 실행 프로필입니다.
    델타 가져오기 마지막 전체 또는 델타 가져오기 이후의 변경 내용만 SQL에서 가져오는 실행 프로필입니다.
  2. 다음을 선택하면 내보내기 실행 프로필에 대한 방법을 구성할 수 있는 다음 페이지가 자동으로 나타납니다. 내보내기 페이지에서 상자를 채우고, 다음을 선택합니다. 개별 상자에 대한 지침은 이미지 뒤에 나오는 표를 사용합니다.

    내보내기 페이지를 보여 주는 스크린샷

    속성 설명
    작업 방법 테이블
    테이블/보기/SP 스키마 2 탭에 구성된 것과 동일한 테이블(예: Employees)
  3. 전체 가져오기 페이지에서 상자를 채우고, 다음을 선택합니다. 개별 상자에 대한 지침은 이미지 뒤에 나오는 표를 사용합니다.

    전체 가져오기 페이지를 보여 주는 스크린샷

    속성 설명
    작업 방법 테이블
    테이블/보기/SP 스키마 2 탭에 구성된 것과 동일한 테이블(예: Employees)

6.4 Microsoft Entra ID에서 특성이 표시되는 방식 구성

SQL 연결 설정의 마지막 단계에서 Microsoft Entra ID에 특성이 표시되는 방식을 구성합니다.

  1. 개체 형식 페이지에서 상자를 채우고, 다음을 선택합니다. 개별 상자에 대한 지침은 이미지 뒤에 나오는 표를 사용합니다.

    • 앵커: 이 특성의 값은 대상 데이터베이스의 각 개체에 대해 고유해야 합니다. Microsoft Entra 프로비전 서비스는 초기 주기 후에 이 특성을 사용하여 ECMA 커넥터 호스트를 쿼리합니다. 이 앵커 값은 이전에 스키마 3 페이지에서 구성한 앵커 열과 동일해야 합니다.
    • 쿼리 특성: 이 특성은 Anchor와 동일해야 합니다.
    • DN: 대부분의 경우 자동 생성됨 옵션을 선택해야 합니다. 선택하지 않은 경우 DN 특성이 CN = anchorValue, Object = objectType 형식으로 DN을 저장하는 Microsoft Entra ID의 특성에 매핑되는지 확인합니다. 앵커 및 DN에 대한 자세한 내용은 앵커 특성 및 고유 이름 정보를 참조하세요.
    속성 설명
    대상 개체 사용자
    기준 위치 스키마 3 탭에 구성된 열(예: ContosoLogin)
    쿼리 특성 앵커와 동일한 열(예: ContosoLogin)
    DN 스키마 3 탭에 구성된 것과 동일한 열(예: ContosoLogin)
    자동 생성 선택됨
  2. ECMA 커넥터 호스트는 대상 데이터베이스에서 지원하는 특성을 검색합니다. Microsoft Entra ID에 노출하려는 특성을 선택할 수 있습니다. 그런 다음, 프로비저닝을 위해 Azure Portal에서 특성을 구성할 수 있습니다. 특성 선택 페이지의 드롭다운 목록에서 모든 특성을 한 번에 하나씩 추가합니다.

특성 드롭다운 목록에는 대상 시스템에서 검색되었지만 이전 특성 선택 페이지에서 선택하지 않은 모든 특성이 표시됩니다. 관련 특성을 모두 추가했으면 다음을 선택합니다.

특성 드롭다운 목록의 스크린샷.

  1. 프로비전 해제 페이지의 흐름 사용 안 함 아래에서 삭제를 선택합니다. 이전 페이지에서 선택한 특성은 [프로비전 해제] 페이지에서 선택할 수 없습니다. 완료를 선택합니다.

참고 항목

특성 값 설정을 사용하는 경우 부울 값만 허용된다는 점에 유의합니다.

프로비저닝 해제 페이지를 보여 주는 스크린샷

7. ECMA2Host 서비스가 실행되고 있는지 확인

  1. Microsoft Entra ECMA 커넥터 호스트를 실행하는 서버에서 시작을 선택합니다.

  2. 상자에서 run, services.msc를 차례로 입력합니다.

  3. 서비스 목록에서 Microsoft ECMA2Host가 있고 실행 중인지 확인합니다. 그렇지 않은 경우 시작을 선택합니다.

    서비스가 실행 중임을 보여 주는 스크린샷

새 데이터베이스 또는 비어 있고 사용자가 없는 데이터베이스에 연결하는 경우 다음 섹션을 계속합니다. 그렇지 않으면 다음 단계에 따라 커넥터가 데이터베이스에서 기존 사용자를 식별했는지 확인합니다.

  1. 최근에 서비스를 시작했고 데이터베이스에 많은 사용자 개체가 있는 경우 커넥터가 데이터베이스와의 연결을 설정할 때까지 몇 분 정도 기다리세요.

8. Azure Portal에서 애플리케이션 연결 구성

  1. 애플리케이션 프로비저닝을 구성하고 있던 웹 브라우저 창으로 돌아갑니다.

    참고 항목

    창의 시간이 초과되었으면 에이전트를 다시 선택해야 합니다.

    1. Azure Portal에 로그인합니다.
    2. 엔터프라이즈 애플리케이션온-프레미스 ECMA 앱 애플리케이션으로 이동합니다.
    3. 프로비저닝을 선택합니다.
    4. 시작이 표시되면 모드를 자동으로 변경하고, 온-프레미스 연결 섹션에서 방금 배포한 에이전트를 선택하고, 에이전트 할당을 선택합니다. 그렇지 않으면 프로비전 편집으로 이동합니다.
  2. 관리자 자격 증명 섹션에서 다음 URL을 입력합니다. {connectorName} 부분을 SQL과 같은 ECMA 커넥터 호스트의 커넥터 이름으로 바꿉니다. 커넥터 이름은 대/소문자를 구분하며 마법사에서 구성한 것과 동일해야 합니다. localhost를 머신 호스트 이름으로 바꿀 수도 있습니다.

    속성
    테넌트 URL https://localhost:8585/ecma2host_{connectorName}/scim
  3. 커넥터를 만들 때 정의한 비밀 토큰 값을 입력합니다.

    참고 항목

    애플리케이션에 에이전트를 할당한 경우 등록이 완료될 때까지 10분 정도 기다려주세요. 연결 테스트는 등록이 완료될 때까지 작동하지 않습니다. 서버에서 프로비전 에이전트를 다시 시작하여 에이전트 등록을 강제로 완료하도록 하면 등록 프로세스의 속도가 빨라질 수 있습니다. 서버로 이동하고, Windows 검색 창에서 서비스를 검색하고, Microsoft Entra Connect 프로비전 에이전트 서비스를 식별하고, 마우스 오른쪽 단추로 해당 서비스를 클릭하고, 다시 시작합니다.

  4. 연결 테스트를 선택하고, 1분 동안 기다립니다.

    에이전트 할당을 보여 주는 스크린샷

  5. 연결 테스트가 성공하고 제공된 자격 증명이 프로비전을 사용하도록 설정할 수 있는 권한이 있다고 표시되면 저장을 선택합니다.

    에이전트 테스트를 보여 주는 스크린샷

9. 특성 매핑 구성

이제 Microsoft Entra ID의 사용자 표현과 온-프레미스 애플리케이션의 SQL 데이터베이스에 있는 사용자 표현 간의 특성을 매핑해야 합니다.

Azure Portal을 사용하여 Microsoft Entra 사용자의 특성과 이전에 ECMA 호스트 구성 마법사에서 선택한 특성 간의 매핑을 구성합니다.

  1. Microsoft Entra 스키마에 데이터베이스에 필요한 특성이 포함되어 있는지 확인합니다. 데이터베이스에서 사용자에게 uidNumber와 같은 특성이 필요하고 해당 특성이 사용자에 대한 Microsoft Entra 스키마의 일부가 아닌 경우 해당 특성을 확장자로 추가하려면 디렉터리 확장 기능을 사용해야 합니다.

  2. Microsoft Entra 관리 센터의 엔터프라이즈 애플리케이션에서 온-프레미스 ECMA 앱 애플리케이션을 선택한 다음 프로비전 페이지를 선택합니다.

  3. 프로비전 편집을 선택하고 10초 동안 기다립니다.

  4. 매핑을 확장하고 Microsoft Entra 사용자 프로비전 매핑을 선택합니다. 이 애플리케이션에 대한 특성 매핑을 처음 구성한 경우 이것이 자리 표시자에 대한 유일한 매핑이 됩니다.

    사용자 프로비저닝을 보여 주는 스크린샷.

  5. Microsoft Entra ID에서 데이터베이스의 스키마를 사용할 수 있는지 확인하려면 고급 옵션 표시 확인란을 선택하고 ScimOnPremises의 특성 목록 편집을 선택합니다. 구성 마법사에서 선택한 모든 특성이 나열되는지 확인합니다. 그렇지 않은 경우 스키마가 새로 고쳐질 때까지 몇 분 정도 기다린 다음 페이지를 다시 로드합니다. 나열된 특성이 표시되면 페이지를 닫고 매핑 목록으로 돌아갑니다.

  6. 이제 userPrincipalName PLACEHOLDER 매핑을 클릭합니다. 이 매핑은 온-프레미스 프로비전을 처음 구성할 때 기본적으로 추가됩니다.

자리 표시자 스크린샷. 다음과 일치하도록 특성 값을 변경합니다.

매핑 유형 원본 특성 대상 특성
Direct userPrincipalName urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:ContosoLogin

값 변경의 스크린샷.

  1. 이제 새 매핑 추가를 선택하고 각 매핑에 대해 다음 단계를 반복합니다.

    새 매핑 추가를 보여 주는 스크린샷

  2. 다음 표의 각 매핑에 대한 원본 및 대상 특성을 지정합니다.

    매핑 저장을 보여 주는 스크린샷

    매핑 유형 원본 특성 대상 특성
    Direct userPrincipalName urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:ContosoLogin
    Direct objectId urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:AzureID
    Direct mail urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:Email
    Direct givenName urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:FirstName
    Direct surname urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:LastName
    Direct mailNickname urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:textID
  3. 모든 매핑이 추가되면 저장을 선택합니다.

10. 애플리케이션에 사용자 할당

이제 Microsoft Entra ID와 통신하는 Microsoft Entra ECMA 커넥터 호스트가 있고 특성 매핑이 구성되었으므로 프로비전 범위에 속하는 사용자를 구성하는 단계로 이동할 수 있습니다.

Important

하이브리드 ID 관리자 역할을 사용하여 로그인한 경우 로그아웃하고 이 섹션에 대해 최소한 애플리케이션 관리자 역할이 있는 계정으로 로그인해야 합니다. 하이브리드 ID 관리자 역할에는 애플리케이션에 사용자를 할당할 수 있는 권한이 없습니다.

SQL 데이터베이스에 기존 사용자가 있는 경우 기존 사용자에 대한 애플리케이션 역할 할당을 만들어야 합니다. 애플리케이션 역할 할당을 대량으로 만드는 방법에 대한 자세한 내용은 Microsoft Entra ID에서 애플리케이션의 기존 사용자 관리를 참조하세요.

그렇지 않으면 애플리케이션의 현재 사용자가 없는 경우 애플리케이션에 프로비전될 Microsoft Entra의 테스트 사용자를 선택합니다.

  1. 사용자가 데이터베이스 스키마의 필수 특성에 매핑될 모든 속성을 가지고 있는지 확인합니다.

  2. Azure Portal에서 엔터프라이즈 애플리케이션을 선택합니다.

  3. 온-프레미스 ECMA 앱 애플리케이션을 선택합니다.

  4. 왼쪽의 관리 아래에서 사용자 및 그룹을 선택합니다.

  5. 사용자/그룹 추가를 선택합니다.

    사용자 추가를 보여 주는 스크린샷.

  6. 사용자 아래에서 선택된 항목 없음을 선택합니다.

    선택된 항목 없음을 보여 주는 스크린샷

  7. 오른쪽에서 사용자를 선택하고, 선택 단추를 선택합니다.

    사용자 선택을 보여 주는 스크린샷.

  8. 이제 할당을 선택합니다.

    사용자 할당을 보여 주는 스크린샷.

11. 프로비저닝 테스트

이제 특성이 매핑되고 사용자가 할당되었으므로 사용자 중 한 명을 사용하여 주문형 프로비전을 테스트할 수 있습니다.

  1. Azure Portal에서 엔터프라이즈 애플리케이션을 선택합니다.

  2. 온-프레미스 ECMA 앱 애플리케이션을 선택합니다.

  3. 왼쪽에서 프로비전을 선택합니다.

  4. 주문형 프로비전을 선택합니다.

  5. 테스트 사용자 중 한 명을 검색하고, 프로비전을 선택합니다.

    프로비저닝테스트를 보여 주는 스크린샷.

  6. 몇 초 후 사용자 특성 목록과 함께 대상 시스템에서 사용자를 만듦 메시지가 표시됩니다.

12. 사용자 프로비저닝 시작

  1. 주문형 프로비전이 성공하면 프로비전 구성 페이지로 다시 변경합니다. 범위가 할당된 사용자 및 그룹으로만 설정되어 있는지 확인하고, 프로비전을 켜기로 설정하고, 저장을 선택합니다.

    프로비전 시작을 보여주는 스크린샷

  2. 프로비전이 시작될 때까지 몇 분 정도 기다립니다. 최대 40분이 걸릴 수 있습니다. 다음 섹션에서 설명한 대로 프로비저닝 작업이 완료된 후 테스트가 완료되면 프로비저닝 상태를 끄기로 변경하고 저장을 선택할 수 있습니다. 이 작업은 나중에 프로비전 서비스의 실행을 중지합니다.

프로비전 오류 문제 해결

오류가 표시되면 프로비전 로그 보기를 선택합니다. 로그에서 상태가 실패인 행을 찾고 해당 행을 선택합니다.

사용자를 만들지 못함이라는 오류 메시지인 경우 데이터베이스 스키마의 요구 사항에 대해 표시되는 특성을 확인합니다.

자세한 내용을 보려면 문제 해결 및 권장 사항 탭으로 변경합니다. ODBC 드라이버가 메시지를 반환한 경우 여기에 표시될 수 있습니다. 예를 들어 ERROR [23000] [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value NULL into column 'FirstName', table 'CONTOSO.dbo.Employees'; column does not allow nulls.라는 메시지는 ODBC 드라이버의 오류입니다. 이 경우 column does not allow nulls는 데이터베이스의 FirstName 열이 필수이지만 프로비저닝되는 사용자에게 givenName 특성이 없으므로 사용자를 프로비저닝할 수 없음을 나타낼 수 있습니다.

사용자가 성공적으로 프로비전되었는지 확인

기다린 후에 SQL 데이터베이스를 확인하여 사용자가 프로비전되었는지 확인합니다.

사용자가 프로비전되었는지 확인하는 스크린샷

부록 A

SQL Server를 사용하는 경우 다음 SQL 스크립트를 사용하여 샘플 데이터베이스를 만들 수 있습니다.

---Creating the Database---------
Create Database CONTOSO
Go
-------Using the Database-----------
Use [CONTOSO]
Go
-------------------------------------

/****** Object:  Table [dbo].[Employees]    Script Date: 1/6/2020 7:18:19 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Employees](
	[ContosoLogin] [nvarchar](128) NULL,
	[FirstName] [nvarchar](50) NOT NULL,
	[LastName] [nvarchar](50) NOT NULL,
	[Email] [nvarchar](128) NULL,
	[InternalGUID] [uniqueidentifier] NULL,
	[AzureID] [uniqueidentifier] NULL,
	[textID] [nvarchar](128) NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Employees] ADD  CONSTRAINT [DF_Employees_InternalGUID]  DEFAULT (newid()) FOR [InternalGUID]
GO

다음 단계