다음을 통해 공유


Graph Explorer를 사용하여 API 기반 인바운드 프로비저닝

이 자습서에서는 Microsoft Graph Explorer 를 사용하여 API 기반 인바운드 프로비저닝을 빠르게 테스트하는 방법을 설명합니다.

Prerequisite

Note

이 프로비전 API는 주로 애플리케이션 또는 서비스 내에서 사용하기 위한 것입니다. 테넌트 관리자는 서비스 주체 또는 관리 ID를 구성하여 업로드를 수행할 수 있는 권한을 부여할 수 있습니다. 이 API에 대한 별도의 사용자 할당 가능 Microsoft Entra 기본 제공 디렉터리 역할은 없습니다. 관리자 동의를 통해 권한을 획득한 SynchronizationData-User.Upload 애플리케이션의 경우 외에는, 사용자 관리자 역할이 있는 관리자 사용자가 API를 호출할 수 있습니다. 이 자습서에서는 테스트 설정에서 사용자 관리자 역할로 API를 테스트하는 방법을 보여 줍니다.

인바운드 프로비전 API에 사용자 데이터 업로드

  1. 새 브라우저 탭 또는 브라우저 창을 엽니다.

  2. URL https://aka.ms/ge을(를) 시작하여 Microsoft Graph Explorer에 액세스합니다.

  3. 로그인할 사용자 프로필 아이콘을 선택합니다.

    사용자 프로필 아이콘을 보여 주는 이미지입니다.

  4. 사용자 관리자 역할 액세스 권한이 있는 사용자 계정으로 로그인 프로세스를 완료합니다.

  5. 로그인에 성공하면 테넌트 정보에 테넌트 이름이 표시됩니다.

    테넌트 이름의 스크린샷.

    이제 API를 호출할 준비가 되었습니다.

  6. API 요청 패널에서 HTTP 요청 유형을 POST로 설정합니다.

  7. 프로비전 앱 개요 페이지에서 검색된 프로비전 API 엔드포인트를 복사하여 붙여 넣습니다.

  8. 요청 헤더 패널에서 Content-Type = application/scim+json의 새 키 값 쌍을 추가합니다. 요청 헤더 패널의 스크린샷

  9. 요청 본문 패널에서 SCIM Enterprise 사용자 스키마를 사용하여 대량 요청을 복사하여 붙여넣습니다.

  10. 쿼리 실행 단추를 선택하여 프로비전 API 엔드포인트에 요청을 보냅니다.

  11. 요청이 성공적으로 전송되면 API 엔드포인트에서 Accepted 202 응답을 받게 됩니다.

  12. 응답 헤더 패널을 열고 위치 특성의 URL 값을 복사합니다. 이는 대량 요청에 있는 사용자의 프로비전 상태를 검사하도록 쿼리할 수 있는 프로비전 로그 API 엔드포인트를 가리킵니다.

대량 요청 페이로드 처리 확인

Microsoft Entra 관리 센터에서 또는 Graph Explorer를 사용하여 처리를 확인할 수 있습니다.

Microsoft Entra 관리 센터에서 처리 확인

  1. 애플리케이션 관리자 로그인 자격 증명을 사용하여 Microsoft Entra 관리 센터에 로그인합니다.

  2. Entra ID>엔터프라이즈 애플리케이션으로 이동하십시오.

  3. 모든 애플리케이션에서 검색 필터 텍스트 상자를 사용하여 API 기반 프로비전 애플리케이션을 찾아 엽니다.

  4. 프로비전 블레이드를 엽니다. 방문 페이지에는 마지막 실행 상태가 표시됩니다.

  5. 프로비저닝 로그 보기를 선택하여 프로비저닝 로그 블레이드를 엽니다. 또는 메뉴 옵션 모니터>프로비저닝 로그를 선택할 수 있습니다.

    메뉴의 프로비저닝 로그 스크린샷

  6. 프로비전 로그에서 레코드를 선택하여 추가 처리 세부 정보를 봅니다.

  7. 프로비전 로그 세부 정보 화면에는 특정 사용자에 대해 실행된 모든 단계가 표시됩니다.

    • API에서 가져오기 단계에서 대량 요청에서 추출된 사용자 데이터의 세부 정보를 참조하세요.
    • 일치 사용자 단계는 일치하는 식별자를 기반으로 하는 모든 사용자 일치의 세부 정보를 표시합니다. 사용자 일치가 발생하면 프로비전 서비스가 업데이트 작업을 수행합니다. 사용자 일치 항목이 없으면 프로비전 서비스에서 만들기 작업을 수행합니다.
    • 범위 내 사용자 확인 단계에서는 범위 지정 필터 평가에 대한 세부 정보를 표시합니다. 기본적으로 모든 사용자가 처리됩니다. 범위 지정 필터(예: Sales 부서에 속한 사용자만 처리)를 설정하는 경우 범위 지정 필터의 평가 세부 정보가 이 단계에서 표시됩니다.
    • 사용자 프로비전 단계에서는 최종 처리 단계와 사용자 계정에 적용된 변경 내용을 호출합니다.
    • 수정된 속성 탭을 사용하여 특성 업데이트를 볼 수 있습니다.

Graph Explorer에서 프로비전 로그 API를 사용하여 처리 확인

프로비전 API 호출에서 위치 응답 헤더의 일부로 반환된 프로비전 로그 API URL을 사용하여 처리를 검사할 수 있습니다.

  1. Graph 탐색기에서 요청 URL 텍스트 상자는 프로비전 API 엔드포인트에서 반환된 위치 URL을 복사하여 붙여넣거나 프로비전 앱 개요 페이지에서 검색 https://graph.microsoft.com/beta/auditLogs/provisioning/?$filter=jobid eq '<jobId>' 할 수 있는 형식 jobId 을 사용하여 구성할 수 있습니다.
  2. GET 메서드를 사용하고 쿼리 실행을 선택하여 프로비저닝 로그를 검색합니다. 기본적으로 반환된 응답에는 모든 로그 레코드가 포함됩니다.
  3. 특정 시간 프레임 이후에 또는 특정 상태 값으로만 데이터를 검색하도록 더 많은 필터를 설정할 수 있습니다. https://graph.microsoft.com/beta/auditLogs/provisioning/?$filter=jobid eq '<jobId> and statusInfo/status eq 'failure' and activityDateTime ge 2022-10-10T09:47:34Z 원본 앵커/조인 속성으로 사용되는 원본 시스템에서 사용되는 externalId 값으로 사용자의 상태를 검사할 수도 있습니다. https://graph.microsoft.com/beta/auditLogs/provisioning/?$filter=jobid eq '<jobId>' and sourceIdentity/id eq '701984'

Appendix

SCIM 엔터프라이즈 사용자 스키마를 사용한 대량 요청

다음 대량 요청은 SCIM 표준 Core 사용자 및 엔터프라이즈 사용자 스키마를 사용합니다.

Request body

{
    "schemas": ["urn:ietf:params:scim:api:messages:2.0:BulkRequest"],
    "Operations": [
    {
        "method": "POST",
        "bulkId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
        "path": "/Users",
        "data": {
            "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
            "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],
            "externalId": "701984",
            "userName": "bjensen@example.com",
            "name": {
                "formatted": "Ms. Barbara J Jensen, III",
                "familyName": "Jensen",
                "givenName": "Barbara",
                "middleName": "Jane",
                "honorificPrefix": "Ms.",
                "honorificSuffix": "III"
            },
            "displayName": "Babs Jensen",
            "nickName": "Babs",
            "emails": [
            {
              "value": "bjensen@example.com",
              "type": "work",
              "primary": true
            }
            ],
            "addresses": [
            {
              "type": "work",
              "streetAddress": "100 Universal City Plaza",
              "locality": "Hollywood",
              "region": "CA",
              "postalCode": "91608",
              "country": "USA",
              "formatted": "100 Universal City Plaza\nHollywood, CA 91608 USA",
              "primary": true
            }
            ],
            "phoneNumbers": [
            {
              "value": "555-555-5555",
              "type": "work"
            }
            ],
            "userType": "Employee",
            "title": "Tour Guide",
            "preferredLanguage": "en-US",
            "locale": "en-US",
            "timezone": "America/Los_Angeles",
            "active":true,
            "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
                 "employeeNumber": "701984",
                 "costCenter": "4130",
                 "organization": "Universal Studios",
                 "division": "Theme Park",
                 "department": "Tour Operations",
                 "manager": {
                     "value": "89607",
                     "displayName": "John Smith"
                 }
            }
        }
    },
    {
        "method": "POST",
        "bulkId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
        "path": "/Users",
        "data": {
            "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
            "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],
            "externalId": "701985",
            "userName": "Kjensen@example.com",
            "name": {
                "formatted": "Ms. Kathy J Jensen, III",
                "familyName": "Jensen",
                "givenName": "Kathy",
                "middleName": "Jane",
                "honorificPrefix": "Ms.",
                "honorificSuffix": "III"
            },
            "displayName": "Kathy Jensen",
            "nickName": "Kathy",
            "emails": [
            {
              "value": "kjensen@example.com",
              "type": "work",
              "primary": true
            }
            ],
            "addresses": [
            {
              "type": "work",
              "streetAddress": "100 Oracle City Plaza",
              "locality": "Hollywood",
              "region": "CA",
              "postalCode": "91618",
              "country": "USA",
              "formatted": "100 Oracle City Plaza\nHollywood, CA 91618 USA",
              "primary": true
            }
            ],
            "phoneNumbers": [
            {
              "value": "555-555-5545",
              "type": "work"
            }
            ],
            "userType": "Employee",
            "title": "Tour Lead",
            "preferredLanguage": "en-US",
            "locale": "en-US",
            "timezone": "America/Los_Angeles",
            "active":true,
            "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
                 "employeeNumber": "701985",
                 "costCenter": "4130",
                 "organization": "Universal Studios",
                 "division": "Theme Park",
                 "department": "Tour Operations",
                 "manager": {
                     "value": "701984",
                     "displayName": "Barbara Jensen"
                 }
            }
        }
    }
],
    "failOnErrors": null
}

Next steps