> ## 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.

# Iru Endpoint를 사용한 macOS의 System Extension

> macOS System Extension과 Iru Endpoint로 이를 관리하는 방법에 대해 알아봅니다. 네트워크 확장, 엔드포인트 보안 및 드라이버 확장을 이해합니다.

<Callout icon="apple" color="#B84A7A" iconType="regular">이 Library Item은 Mac 컴퓨터에서 사용할 수 있습니다</Callout>

### System Extension이란 무엇입니까?

System Extension은 macOS에서 커널 확장(kext)을 대체하는 최신 방식입니다. System Extension을 통해 Apple은 이전에 kext에서만 가능했던 작업을 개발자가 수행할 수 있도록 새로운 프레임워크를 제공합니다. System Extension의 주요 이점은 커널 공간이 아닌 사용자 공간에서 실행되므로 macOS의 기본 보안이나 안정성을 손상시킬 수 없다는 점입니다. kext는 여전히 작동하지만 Apple은 특정 유형을 사용 중단했으며, 개발자는 동등한 프레임워크가 제공되는 대로 kext를 System Extension으로 마이그레이션해야 합니다.

현재 kext를 대체할 수 있는 세 가지 새로운 System Extension 프레임워크가 있습니다:

* **DriverKit**: USB, Serial, NIC 및 HID 기기용 드라이버를 만듭니다. [DriverKit에 대해 자세히 알아보기.](https://developer.apple.com/documentation/driverkit)
* **Network Extensions**: 콘텐츠 필터, DNS 프록시, VPN 클라이언트와 같은 네트워크 확장 앱을 System Extension으로 배포합니다. [NetworkExtension에 대해 자세히 알아보기.](https://developer.apple.com/documentation/networkextension)
* **Endpoint Security**: EndpointSecurity API를 사용하여 시스템 이벤트를 모니터링하고 차단함으로써 보안 정책을 준수하고 악의적인 활동으로부터 보호합니다. [Endpoint Security에 대해 자세히 알아보기](https://developer.apple.com/documentation/endpointsecurity)

이러한 새 프레임워크 범위 밖에서 작동하는 kext(예: 가상화 소프트웨어)는 Apple이 동등한 System Extension 프레임워크를 제공할 때까지 계속 kext를 사용해야 합니다.

System Extension은 별도의 구성 프로필을 사용하여 허용할 수도 있습니다.

아직 커널 확장을 사용하는 애플리케이션을 사용 중인 경우 소프트웨어 공급업체에 연락하여 System Extension으로 마이그레이션하도록 권장할 것을 권합니다.

#### 추가 정보

[Kernel Extensions 개요](https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/Extend/Extend.html#//apple_ref/doc/uid/TP30000905-CH220) - Apple Developer Documentation Archive

[System Extensions](https://developer.apple.com/system-extensions/) - Apple Developer

### Kernel Extension이란 무엇입니까?

kext라고도 하는 커널 확장을 사용하면 개발자가 macOS 커널에 코드를 동적으로 로드할 수 있습니다. 커널 확장은 복잡한 앱이 올바르게 작동할 수 있도록 내부 커널 인터페이스에 대한 액세스를 제공합니다. 예로는 Parallels나 VMware Fusion과 같은 가상화 애플리케이션 및 하이퍼바이저가 있습니다.

### Kernel Extension과 System Extension의 차이점

소프트웨어가 System Extension을 사용하는지 kext를 사용하는지 확실하지 않은 경우 다음과 같은 몇 가지 방법으로 확인할 수 있습니다:

* 소프트웨어 제조업체에 문의합니다
* 소프트웨어를 설치한 후 아래 명령을 실행하여 모든 활성 System Extension을 나열합니다. System Extension이 나열되지 않으면 해당 소프트웨어는 레거시 kext를 사용할 가능성이 높습니다

```bash systemextensionsctl-list.sh theme={null}
systemextensionsctl list
```

다음은 System Extension이 설치되어 있지 않을 때 표시될 수 있는 출력의 예입니다:

```bash terminal-output.txt lines theme={null}
Iru Endpoint Support@TestMac1 ~ % systemextensionsctl list
0 extension(s)
```

다음은 System Extension이 설치되어 있을 때 표시될 수 있는 출력의 예입니다:

```bash systemextensionsctl-with-extensions.txt lines theme={null}
Iru Endpoint Support@TestMac1 ~ % systemextensionsctl list
1 extension(s)

--- com.apple.system_extension.endpoint_security

enabled active teamID bundleID (version) name [state]

* * 9PTGMPNXZ2 com.symantec.mes.systemextension 

(10.0.0/10.0.0) Symantec  

[activated enabled]
```

### System Extension 프로필 생성

다음 단계에 따라 애플리케이션의 System Extension을 사전 승인하는 System Extension 프로필을 Iru Endpoint에서 생성합니다.

이 Library Item을 Iru Endpoint Library에 추가하려면 [Library 개요](/ko/endpoint/library/library-items-profiles/library-overview) 문서에 설명된 단계를 따르십시오.

<Steps>
  <Step title="프로필 이름 지정">
    새 프로필에 *System Extension Allowance*와 같은 설명적인 이름을 지정합니다.
  </Step>

  <Step title="Blueprint 선택">
    지정된 [Blueprints](/ko/endpoint/blueprints/assignment-maps)를 선택합니다.
  </Step>

  <Step title="사용자 승인 구성">
    선택 사항: **Allow users to approve system extensions**를 선택 해제하면 로컬 관리자를 포함한 Mac의 모든 사용자가 프로필을 통해 승인되지 않은 추가 System Extension을 승인할 수 없습니다. 이 옵션을 선택하면 사용자가 이전에 승인한 모든 System Extension도 승인 취소됩니다.
  </Step>

  <Step title="Team ID 입력">
    **Team ID**를 입력합니다. 이는 위에서 설명한 *systemextensionsctl list* 명령으로 생성된 터미널 출력의 세 번째 열에 있는 식별자입니다.
  </Step>

  <Step title="이름 제공">
    선택적으로 Team ID와 연결할 **이름**을 제공합니다.
  </Step>

  <Step title="System Extension 구성">
    **System Extensions** 부분에서 선택적으로 **Approve all system extensions**의 기본값을 변경할 수 있습니다. 이 옵션을 기본 설정으로 두면 지정된 Team ID의 모든 System Extension이 사전 승인됩니다. 선택적으로 이 옵션을 다음 중 하나로 설정할 수 있습니다:

    * **Allow specific system extensions**: 승인하려는 특정 System Extension의 정확한 번들 ID를 지정할 수 있습니다. 위에서 설명한 *systemextensionsctl list* 명령으로 생성된 번들 ID를 사용하십시오. 또한 선택적으로 이러한 특정 확장 중 하나 이상을 Iru Endpoint나 공급업체 제공 패키지와 같은 관리 도구로 자동 제거할 수 있도록 구성할 수 있습니다.
    * **Allow specific system extension types**: 사전 승인하려는 개발자의 System Extension 유형(예: 엔드포인트 보안 확장, 드라이버 확장 또는 네트워크 확장)을 지정할 수 있습니다. Symantec 예의 경우 위에서 설명한 *systemextensionsctl list* 명령으로 생성된 확장 유형과 일치하므로 **Endpoint security extensions** 유형을 승인합니다.
  </Step>

  <Step title="추가 Team ID 추가">
    선택적으로 **Add Team ID** 버튼을 선택하여 단일 프로필에서 추가 System Extension을 허용할 수 있습니다.
  </Step>

  <Step title="구성 저장">
    **저장**을 선택합니다.
  </Step>
</Steps>
