다음을 통해 공유


빠른 시작: 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 Enterprise 사용자 스키마 대량 요청을 복사하고 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. 프로비저닝 로그 보기를 클릭하여 프로비저닝 로그 블레이드를 엽니다. 또한 모니터 -> 프로비전 로그메뉴 옵션을 클릭할 수 있습니다.

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

  6. 프로비저닝 로그에서 레코드를 클릭하여 더 많은 처리 세부 정보를 봅니다.

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

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

부록

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

SCIM Enterprise 사용자 스키마를 사용하여 대량 요청

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

요청 본문

{
    "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
}

다음 단계