다음을 통해 공유


cURL을 사용한 빠른 시작 API 기반 인바운드 프로비전

소개

cURL은 API 개발자가 사용하는 널리 사용되는 무료 오픈 소스 명령줄 도구이며 Windows 10/11에서 기본적으로 사용 가능합니다. 이 자습서에서는 cURL을 사용하여 API 기반 인바운드 프로비전을 빠르게 테스트하는 방법을 설명합니다.

필수 구성 요소

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

  1. 인바운드 프로비전 API에 액세스할 수 있는 서비스 주체의 client_idclient_secret을 검색합니다.
  2. 액세스 토큰을 가져오려면 OAuth client_credentials 부여 흐름을 사용합니다. 변수 [yourClientId], [yourClientSecret][yourTenantId]를 설정에 적용 가능한 값으로 바꾸고 다음 cURL 명령을 실행합니다. 생성된 액세스 토큰 값을 복사
    curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=[yourClientId]&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&client_secret=[yourClientSecret]&grant_type=client_credentials" "https://login.microsoftonline.com/[yourTenantId]/oauth2/v2.0/token"
    
  3. SCIM 기업 사용자 스키마를 사용한 대량 요청을 복사하고 scim-bulk-upload-users.json이라는 파일에 콘텐츠를 저장합니다.
  4. [InboundProvisioningAPIEndpoint] 변수를 프로비전 앱과 연결된 프로비전 API 엔드포인트로 바꿉니다. 이전 단계의 [AccessToken] 값을 사용하고 다음 curl 명령을 실행하여 대량 요청을 프로비전 API 엔드포인트에 업로드합니다.
    curl -v "[InboundProvisioningAPIEndpoint]" -d @scim-bulk-upload-users.json -H "Authorization: Bearer [AccessToken]" -H "Content-Type: application/scim+json"
    
  5. 성공적으로 업로드되면 HTTP 202 수락 응답 코드를 받게 됩니다.
  6. 프로비전 서비스는 즉시 대량 요청 페이로드 처리를 시작하며 인바운드 프로비전 앱의 프로비전 로그에 액세스하여 프로비전 세부 정보를 볼 수 있습니다.

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

  1. 최소한 애플리케이션 관리자Microsoft Entra 관리 센터에 로그인합니다.

  2. Microsoft Entra ID -> 애플리케이션 -> 엔터프라이즈 애플리케이션으로 이동합니다.

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

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

  5. 프로비전 로그 블레이드를 열려면 프로비전 로그 보기를 클릭합니다. 또는 메뉴 옵션 모니터링 -> 프로비전 로그를 클릭할 수 있습니다.

    Screenshot of provisioning logs in menu.

  6. 자세한 처리 세부 정보를 보려면 프로비전 로그의 기록을 클릭합니다.

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

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

부록

SCIM Enterprise 사용자 스키마를 사용한 대량 요청에 대한 자세한 내용은 이 섹션을 참조하세요.

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

아래 표시된 대량 요청은 SCIM 표준 코어 사용자 및 엔터프라이즈 사용자 스키마를 사용합니다.

요청 본문

{
    "schemas": ["urn:ietf:params:scim:api:messages:2.0:BulkRequest"],
    "Operations": [
    {
        "method": "POST",
        "bulkId": "897401c2-2de4-4b87-a97f-c02de3bcfc61",
        "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": "897401c2-2de4-4b87-a97f-c02de3bcfc61",
        "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
}

다음 단계