> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ServiceNow 통합: 개요

> OAuth 2.0을 통해 Iru Endpoint의 Apple 기기 인벤토리를 ServiceNow에 실시간으로 동기화하고, SAM Pro 테넌트의 경우 선택적으로 야간 앱 데이터 동기화를 수행합니다.

### ServiceNow 통합 정보

ServiceNow 통합은 Iru Endpoint의 Apple 기기 인벤토리를 ServiceNow로 실시간 푸시하여 ServiceNow 레코드를 최신 상태로 유지합니다.

ServiceNow 테넌트에 Software Asset Management Professional(SAM Pro) 라이선스가 있는 경우, 애플리케이션 설치 및 사용 데이터를 매일 밤 전송할 수도 있습니다.

### 작동 방식

이 통합은 전용 서비스 계정을 사용하여 OAuth 2.0을 통해 Iru Endpoint를 ServiceNow 인스턴스에 연결합니다.

**인증**: ServiceNow의 서비스 계정을 사용하는 OAuth 2.0.

**데이터 동기화**: Iru Endpoint는 관리되는 Apple 기기를 검색하고 일련 번호, 모델, OS 버전, 할당된 사용자 등의 필드를 ServiceNow에 동기화합니다. SAM Pro를 사용하면 애플리케이션 인벤토리 및 사용 데이터를 매일 밤 전송할 수도 있습니다.

### 설정 개요

다음 단계를 한눈에 확인하세요.

<Steps>
  <Step title="ServiceNow 앱 설치">
    ServiceNow integration hub에서 [Kandji ServiceNow 앱](https://store.servicenow.com/sn_appstore_store.do#!/store/application/e330778897bfe150f89bf7021153af52/1.0.0?referer=%2Fstore%2Fsearch%3Flistingtype%3Dallintegrations%25253Bancillary_app%25253Bcertified_apps%25253Bcontent%25253Bindustry_solution%25253Boem%25253Butility%25253Btemplate%25253Bgenerative_ai%25253Bsnow_solution%26q%3Dkandji\&sl=sh)을 설치합니다.
  </Step>

  <Step title="OAuth 클라이언트 구성">
    Iru Endpoint가 ServiceNow Import Set API를 호출할 수 있도록 OAuth 클라이언트 앱을 구성합니다.
  </Step>

  <Step title="ServiceNow 사용자 생성">
    ServiceNow API에 접근할 수 있는 ServiceNow 사용자 계정을 생성합니다.
  </Step>

  <Step title="Iru Endpoint에서 통합 설정">
    Iru Endpoint에서 생성한 OAuth 앱과 서비스 계정을 사용하여 ServiceNow 통합을 완료합니다.
  </Step>
</Steps>

설정이 완료되면 Iru Endpoint가 기기 자산 데이터를 ServiceNow로 푸시하기 시작합니다.

<Warning>
  Iru Endpoint의 할당된 사용자가 컴퓨터 레코드에 표시되려면 해당 사용자가 ServiceNow에 이미 존재해야 합니다.
</Warning>

### 상위 수준 데이터 흐름

기기가 Iru Endpoint에 등록되거나 해당 레코드가 변경되면 통합은 다음을 수행합니다.

<Steps>
  <Step title="변경 사항 감지">
    Iru Endpoint가 기기 인벤토리의 변경 사항을 감지합니다. Iru Endpoint에서 SAM Pro 앱 동기화를 켠 경우, 앱 인벤토리 및 사용 데이터가 매일 밤 준비됩니다.
  </Step>

  <Step title="스테이징 테이블로 푸시">
    Iru Endpoint가 ServiceNow Import Set API를 통해 이러한 변경 사항을 ServiceNow 스테이징 테이블로 푸시합니다.
  </Step>

  <Step title="데이터 변환">
    기기 데이터의 경우 ServiceNow는 [transform map](https://www.servicenow.com/docs/r/zurich/integrate-applications/system-import-sets/c_CreatingNewTransformMaps.html)을 실행하여 스테이징 열을 대상 테이블에 매핑합니다. 애플리케이션 데이터는 [Robust Transform Engine](https://www.servicenow.com/docs/r/zurich/integrate-applications/system-import-sets/define-rte-operations.html)과 함께 [ETL 정의](https://www.servicenow.com/docs/r/zurich/integrate-applications/system-import-sets/etl-definition-overview.html)를 사용합니다.
  </Step>

  <Step title="레코드 업데이트">
    그런 다음 ServiceNow가 기기 및 MDM 레코드를 생성하거나 업데이트하며, SAM Pro 데이터 동기화가 활성화된 경우 소프트웨어 설치 및 사용 레코드도 업데이트할 수 있습니다.
  </Step>
</Steps>

```mermaid actions={false} theme={null}
%%{init: {'theme': 'base', 'themeVariables': { 'lineColor': '#8b93a6', 'primaryTextColor': '#1f2937', 'fontSize': '13px'}}}%%
flowchart TD
    A["Iru Endpoint (외부)<br/>API / 내보내기 / 통합"] --> B["ServiceNow - 스테이징<br/>Import set: MDM"]
    A --> C["ServiceNow - 스테이징<br/>Import set: Computer"]
    A --> D["ServiceNow - 스테이징<br/>Import set: Apps"]

    B --> E["MDM 레인<br/>Transform: Iru Endpoint MDM Transformer"]
    E --> F["x_kandj_kandji_mdm"]

    C --> G["Computer 레인<br/>Transform: Iru Endpoint CI Transformer"]
    G --> H["CMDB IRE<br/>discovery_source = Kandji"]
    H --> I["cmdb_ci_computer"]

    D --> J["Apps 레인: RTE 후 ETL<br/>Iru Endpoint Apps RTE"]
    J --> K["Iru Endpoint Apps ETL"]
    K --> L["ETL: Import"]
    L --> M["ETL: Temp"]
    M --> N["cmdb_sam_sw_install"]

    N --> O["SAM 사용량<br/>예약됨: Software Usage Publisher"]
    O --> P["samp_sw_usage"]

    I -. "설치에 대한 CI 확인" .-> J

    classDef source fill:#eef6ff,stroke:#3b82f6,stroke-width:1.5px,color:#1f2937;
    classDef mdm fill:#f5f3ff,stroke:#8b5cf6,stroke-width:1.5px,color:#1f2937;
    classDef computer fill:#ecfdf5,stroke:#10b981,stroke-width:1.5px,color:#1f2937;
    classDef apps fill:#fff7ed,stroke:#f97316,stroke-width:1.5px,color:#1f2937;
    classDef usage fill:#fef9c3,stroke:#ca8a04,stroke-width:1.5px,color:#1f2937;

    class A source;
    class B,E,F mdm;
    class C,G,H,I computer;
    class D,J,K,L,M,N apps;
    class O,P usage;
```

### ServiceNow 테이블

Iru Endpoint와 ServiceNow의 통합에는 다음 테이블이 사용됩니다.

| <Icon icon="list-check" size={14} /> **테이블** | <Icon icon="circle-info" size={14} /> **설명** |
| - | - |
| `cmdb_ci_computer` | Mac, iPhone, iPad, tvOS 기기의 하드웨어 세부 정보가 포함된 ServiceNow 기본 제공 테이블입니다. |
| `cmdb_sam_sw_install` | Iru Endpoint에서 앱 인벤토리 및 사용량 동기화가 활성화된 경우 소프트웨어 설치를 기록하는 데 사용되는 ServiceNow SAM Pro 테이블입니다. |
| `samp_sw_usage` | ServiceNow의 야간 usage-publisher 작업으로 채워지는 ServiceNow SAM Pro 사용량 테이블입니다. |
| `x_kandj_kandji_mdm` | 기기 자산에 대한 추가 MDM 관련 데이터를 저장하기 위해 Iru Endpoint가 생성한 사용자 지정 테이블입니다. |
| `x_kandj_kandji_kandji_import_set_computer` | 기기 자산 정보가 `cmdb_ci_computer` 테이블로 푸시되기 전에 스테이징하는 데 사용되는 import set 스테이징 테이블입니다. |
| `x_kandj_kandji_kandji_import_set_mdm` | MDM 관련 기기 자산 정보가 `x_kandj_kandji_mdm` 테이블로 푸시되기 전에 스테이징하는 데 사용되는 import set 스테이징 테이블입니다. |
| `x_kandj_kandji_kandji_import_set_apps` | RTE/ETL 처리 전에 애플리케이션 인벤토리 및 사용 정보를 스테이징하는 데 사용되는 import set 스테이징 테이블입니다. |

### Iru Endpoint 기기 속성

Iru Endpoint는 아래의 기기 자산 필드를 전송합니다. 향후 필드가 추가될 수 있습니다.

#### 테이블: `cmdb_ci_computer`

| <Icon icon="tag" size={14} /> **Iru Endpoint** | <Icon icon="list-check" size={14} /> **ServiceNow** | <Icon icon="circle-info" size={14} /> **설명** |
| - | - | - |
| `assigned_user` | `assigned_to` | 기기 자산에 할당된 사용자 |
| `device_capacity` | `disk_space` | 총 저장 용량 |
| `device_name` | `name` | 기기 이름 |
| `Discovery source` (Iru에 표시되지 않음) | `discovery_source` | "Kandji"로 설정된 상수 값 |
| `model_name` | `model` | 기기 모델 이름 |
| `os_type` | `os` | 운영 체제 이름(예: macOS, iOS, iPadOS 또는 tvOS) |
| `os_version` | `os_version` | 운영 체제 버전 |
| `serial_number` | `serial_number` | 기기 일련 번호. ServiceNow의 컴퓨터 테이블 레코드와 병합(coalesce)하는 데에도 사용됩니다 |
| `manufacturer` | `manufacturer` | "Apple"로 설정된 상수 값 |

#### 테이블: `x_kandj_kandji_mdm`

| <Icon icon="tag" size={14} /> **Iru Endpoint** | <Icon icon="list-check" size={14} /> **ServiceNow** | <Icon icon="circle-info" size={14} /> **설명** |
| - | - | - |
| `device_id` | `kandji_device_id` | Iru Endpoint 기기 ID |
| `blueprint_id` | `kandji_blueprint_id` | Iru Endpoint Blueprint ID. ServiceNow의 MDM 테이블 레코드와 병합(coalesce)하는 데에도 사용됩니다. |
| `serial_number` | `computer` | ServiceNow의 CI 컴퓨터 레코드를 참조합니다. |
| `Discovery source` (Iru에 표시되지 않음) | `discovery_source` | "Kandji"로 설정된 상수 값 |

#### 테이블: `cmdb_sam_sw_install`

| <Icon icon="tag" size={14} /> **Iru Endpoint (Prism)** | <Icon icon="list-check" size={14} /> **ServiceNow** | <Icon icon="circle-info" size={14} /> **설명** |
| - | - | - |
| `App ID` (Iru에 표시되지 않음) | `instance_key` | 특정 기기의 소프트웨어를 식별하는 데 사용되는 고유 키 |
| `name` | `name` | 앱 이름 |
| `developer_name` | `publisher` | 소프트웨어 개발자 |
| `version` | `version` | 소프트웨어 버전 |
| `path` | `install_location` | 기기의 설치 경로 |
| `serial_number` | `installed_on` | 컴퓨터 CI 레코드에 대한 참조 |
| `last_opened` | `last_used` | 소프트웨어를 마지막으로 사용한 날짜 |
| `is_removed` (제거된 앱은 Iru에 표시되지 않음) | `active` | `cmdb_sam_sw_install`의 **활성 설치**: 앱이 기기에 있는 동안은 `true`, Iru가 제거를 보고하면 `false`입니다. 제거된 앱도 `active` = `false`로 동기화되므로 ServiceNow는 기록을 위해 설치 행을 유지합니다([애플리케이션 인벤토리](#application-inventory) 참조). |
| `Discovery source` (Iru에 표시되지 않음) | `discovery_source` | "Kandji"로 설정된 상수 값 |

#### 테이블: `samp_sw_usage`

| <Icon icon="list-check" size={14} /> **ServiceNow** | <Icon icon="circle-info" size={14} /> **설명** |
| - | - |
| `configuration_item` | 컴퓨터 CI 레코드에 대한 참조 |
| `norm_product` | ServiceNow의 정규화된 앱 레코드 |
| `reclamation_type` | `'last_used'`. Iru가 `last_used` 항목을 채웁니다. |
| `last_used_time` | 소프트웨어를 마지막으로 사용한 날짜 및 시간. ServiceNow에 추가 사용자 지정 테이블이 생기지 않도록 Iru는 여기에 날짜만 전송합니다. |

### 애플리케이션 인벤토리

<Note>
  애플리케이션 인벤토리가 활성화되면 Iru Endpoint는 제거된 앱도 `active`를 `false`로 설정하여 ServiceNow로 전송합니다. ServiceNow는 앱이 기기에서 제거될 때 해당 설치 행을 삭제하지 않고 기록용으로 유지합니다.
</Note>

## 고려 사항

<CardGroup cols={2}>
  <Card title="ServiceNow의 할당된 사용자" icon="user">
    ServiceNow의 컴퓨터 레코드에 Iru Endpoint에서 할당된 사용자가 표시되려면 해당 사용자가 ServiceNow에 이미 존재해야 합니다.
  </Card>

  <Card title="기기 인벤토리 동기화" icon="arrows-rotate">
    기기 인벤토리는 실시간으로 동기화됩니다. 앱 인벤토리 및 사용 데이터는 해당 옵션이 활성화된 경우 매일 밤 동기화됩니다.
  </Card>

  <Card title="애플리케이션 인벤토리" icon="layer-group">
    ServiceNow에 SAM Pro 라이선스가 있어야 하며, Iru Endpoint 통합 설정에서 해당 옵션을 활성화해야 합니다. 제거된 앱도 `active` = `false`로 동기화되므로 ServiceNow는 설치 기록 행을 삭제하지 않고 유지합니다.
  </Card>

  <Card title="자격 증명 만료 및 재인증" icon="bell">
    ServiceNow OAuth 자격 증명이 만료에 가까워지면 Iru Endpoint는 테넌트에 배너를 표시하고, 만료 30일 전부터 Admin 또는 Account Owner 권한이 있는 Team Member에게 이메일 알림을 보냅니다. Iru Endpoint의 [ServiceNow 통합 세부 정보 페이지](/ko/endpoint/integrations/servicenow/servicenow-integration-iru-endpoint-configuration#reauthentication)에서 재인증하세요.
  </Card>

  <Card title="ServiceNow의 테이블" icon="table">
    통합은 CMDB 및 MDM 보기가 완전하게 유지되도록 ServiceNow 기본 제공 테이블과 사용자 지정 Kandji 테이블에 데이터를 기록합니다.
  </Card>

  <Card title="Import Set API" icon="plug">
    데이터는 ServiceNow의 Import Set API 및 변환 흐름을 통해 이동합니다.
  </Card>
</CardGroup>

### 관련 문서

<CardGroup cols={2}>
  <Card title="ServiceNow 통합: ServiceNow 구성" icon="wrench" href="/ko/endpoint/integrations/servicenow/servicenow-integration-servicenow-configuration">
    Kandji ServiceNow 앱을 설치하고, OAuth 클라이언트 및 서비스 계정을 생성하고, ServiceNow에서 discovery source를 확인합니다.
  </Card>

  <Card title="ServiceNow 통합: Iru Endpoint 구성" icon="plug" href="/ko/endpoint/integrations/servicenow/servicenow-integration-iru-endpoint-configuration">
    Iru Endpoint를 테넌트에 연결하고, OAuth 및 서비스 계정 자격 증명을 입력하고, 선택적으로 SAM Pro용 야간 앱 인벤토리 및 사용량을 활성화합니다.
  </Card>
</CardGroup>
