Graph Explorer를 사용한 빠른 시작 API 기반 인바운드 프로비전
이 자습서에서는 Microsoft Graph Explorer를 사용하여 API 기반 인바운드 프로비전을 빠르게 테스트하는 방법을 설명합니다.
필수 구성 요소
- API 기반 인바운드 프로비전 앱을 구성했습니다.
참고 항목
이 프로비전 API는 주로 애플리케이션 또는 서비스 내에서 사용하기 위한 것입니다. 테넌트 관리자는 서비스 주체 또는 관리 ID를 구성하여 업로드를 수행할 수 있는 권한을 부여할 수 있습니다. 이 API에 대한 별도의 사용자 할당 가능 Microsoft Entra 기본 제공 디렉터리 역할은 없습니다. 관리자 동의를 통해 SynchronizationData-User.Upload
권한을 획득한 애플리케이션 외부에서는 전역 관리자 역할이 있는 관리자 사용자만 API를 호출할 수 있습니다. 이 자습서에서는 테스트 설정에서 전역 관리자 역할로 API를 테스트하는 방법을 보여 줍니다.
인바운드 프로비전 API에 사용자 데이터 업로드
새 브라우저 탭 또는 브라우저 창을 엽니다.
URL https://aka.ms/ge을(를) 시작하여 Microsoft Graph Explorer에 액세스합니다.
사용자 프로필 아이콘을 클릭하여 로그인합니다.
전역 관리자 역할이 있는 사용자 계정으로 로그인 프로세스를 완료합니다.
로그인에 성공하면 테넌트 정보에 테넌트 이름이 표시됩니다.
이제 API를 호출할 준비가 되었습니다.
API 요청 패널에서 HTTP 요청 유형을 POST로 설정합니다.
프로비전 앱 개요 페이지에서 검색된 프로비전 API 엔드포인트를 복사하여 붙여 넣습니다.
요청 헤더 패널에서 Content-Type = application/scim+json의 새 키 값 쌍을 추가합니다.
요청 본문 패널에서 SCIM Enterprise 사용자 스키마를 사용하여 대량 요청을 복사하여 붙여 넣습니다.
쿼리 실행 단추를 클릭하여 프로비전 API 엔드포인트에 요청을 보냅니다.
요청이 성공적으로 전송되면 API 엔드포인트에서
Accepted 202
응답을 받게 됩니다.응답 헤더 패널을 열고 위치 특성의 URL 값을 복사합니다. 이는 대량 요청에 있는 사용자의 프로비전 상태를 검사하도록 쿼리할 수 있는 프로비전 로그 API 엔드포인트를 가리킵니다.
대량 요청 페이로드 처리 확인
요청 본문
{
"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
}
Microsoft Entra 관리 센터에서 또는 Graph Explorer를 사용하여 처리를 확인할 수 있습니다.
Microsoft Entra 관리 센터에서 처리 확인
최소한 애플리케이션 관리자 로그인 자격 증명으로 Microsoft Entra 관리 센터에 로그인합니다.
Microsoft Entra ID -> 애플리케이션 -> 엔터프라이즈 애플리케이션으로 이동합니다.
모든 애플리케이션에서 검색 필터 텍스트 상자를 사용하여 API 기반 프로비전 애플리케이션을 찾아 엽니다.
프로비전 블레이드를 엽니다. 방문 페이지에는 마지막 실행 상태가 표시됩니다.
프로비전 로그 블레이드를 열려면 프로비전 로그 보기를 클릭합니다. 또는 메뉴 옵션 모니터링 -> 프로비전 로그를 클릭할 수 있습니다.
추가 처리 세부 정보를 보려면 프로비전 로그의 기록을 클릭합니다.
프로비전 로그 세부 정보 화면에는 특정 사용자에 대해 실행된 모든 단계가 표시됩니다.
- API에서 가져오기 단계에서 일괄 요청에서 추출된 사용자 데이터의 세부 정보를 확인합니다.
- 사용자 일치 단계에서는 일치하는 식별자를 기반으로 일치하는 사용자의 세부 정보를 표시합니다. 사용자 일치가 발생하면 프로비전 서비스가 업데이트 작업을 수행합니다. 일치하는 사용자가 없으면 프로비전 서비스가 만들기 작업을 수행합니다.
- 사용자가 범위 내에 있는지 확인 단계에서는 범위 지정 필터 평가에 대한 세부 정보를 보여 줍니다. 기본적으로 모든 사용자가 처리됩니다. 범위 지정 필터(예: 영업 부서에 속한 사용자만 처리)를 설정한 경우 범위 지정 필터의 평가 세부 정보가 이 단계에 표시됩니다.
- 사용자 프로비전 단계에서는 최종 처리 단계와 사용자 계정에 적용되는 변경 내용을 호출합니다.
- 특성 업데이트를 보려면 수정된 속성 탭을 사용합니다.
Graph Explorer에서 프로비전 로그 API를 사용하여 처리 확인
프로비전 API 호출에서 위치 응답 헤더의 일부로 반환된 프로비전 로그 API URL을 사용하여 처리를 검사할 수 있습니다.
- Graph Explorer에서 요청 URL 텍스트 상자에 프로비전 API 엔드포인트에서 반환된 위치 URL을 복사하여 붙여 넣거나 프로비전 앱 개요 페이지에서
https://graph.microsoft.com/beta/auditLogs/provisioning/?$filter=jobid eq '<jobId>'
을(를) 검색할 수 있는 형식jobId
을(를) 사용하여 구성할 수 있습니다. - GET 메서드를 사용하고 쿼리 실행을 클릭하여 프로비전 로그를 검색합니다. 기본적으로 반환된 응답에는 모든 로그 레코드가 포함됩니다.
- 특정 시간 프레임 이후에 또는 특정 상태 값으로만 데이터를 검색하도록 더 많은 필터를 설정할 수 있습니다.
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'
부록
SCIM 엔터프라이즈 사용자 스키마를 사용한 대량 요청
아래 표시된 대량 요청은 SCIM 표준 코어 사용자 및 엔터프라이즈 사용자 스키마를 사용합니다.
요청 본문
{
"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
}