この Library Item は Mac コンピュータで利用できます
System Extension とは
System Extension は、macOS における Kernel Extension(kext)の最新の代替手段です。System Extension により、Apple はこれまで kext に限られていたタスクを開発者が実行するための新しいフレームワークを提供しています。System Extension の主な利点は、カーネル空間ではなくユーザー空間で実行されるため、macOS に組み込まれたセキュリティや安定性を損なうことがない点です。kext は引き続き動作しますが、Apple は特定の種類を非推奨にしており、開発者は同等のフレームワークが利用可能になった時点で kext を System Extension に移行する必要があります。 現在、kext を置き換えるために 3 つの新しい System Extension フレームワークが利用可能です。- DriverKit: USB、シリアル、NIC、HID デバイス用のドライバーを作成します。DriverKit の詳細はこちら。
- Network Extensions: コンテンツフィルタ、DNS プロキシ、VPN クライアントなどのネットワーク拡張機能アプリを System Extension として配布します。NetworkExtension の詳細はこちら。
- Endpoint Security: EndpointSecurity API を使用してシステムイベントを監視およびブロックし、セキュリティポリシーに準拠して悪意のあるアクティビティから保護します。Endpoint Security の詳細はこちら
追加情報
Kernel Extensions Overview - Apple Developer Documentation Archive System Extensions - Apple DeveloperKernel Extension とは
Kernel Extension(kext と呼ばれることもあります)を使用すると、開発者は macOS カーネルにコードを動的に読み込むことができます。複雑なアプリが正しく機能するための内部カーネルインターフェイスへのアクセスを提供します。例としては、Parallels や VMware Fusion などの仮想化アプリケーションやハイパーバイザーがあります。Kernel Extension と System Extension の違い
ソフトウェアが System Extension と kext のどちらを使用しているかわからない場合は、いくつかの方法で確認できます。- ソフトウェアの製造元に問い合わせる
- ソフトウェアのインストール後、以下のコマンドを実行してアクティブなすべての System Extension を一覧表示する。System Extension が一覧に表示されない場合、そのソフトウェアはレガシーの kext を使用している可能性が高いです
systemextensionsctl-list.sh
terminal-output.txt
systemextensionsctl-with-extensions.txt
System Extension プロファイルを作成する
次の手順に従って、アプリケーションの System Extension を事前承認する System Extension プロファイルを Iru Endpoint で作成します。 この Library Item を Iru Endpoint の Library に追加するには、Library の概要の記事に記載されている手順に従ってください。1
プロファイルに名前を付ける
新しいプロファイルに、System Extension Allowance などのわかりやすい名前を付けます。
2
Blueprint を選択する
対象の Blueprints を選択します。
3
ユーザーの承認を設定する
オプション: Allow users to approve system extensions の選択を解除すると、ローカル管理者を含む Mac 上のすべてのユーザーが、プロファイルで承認されていない追加の System Extension を承認できなくなります。このオプションを選択すると、ユーザーが以前に承認した System Extension も承認が取り消されます。
4
Team ID を入力する
Team ID を入力します。これは、上記の systemextensionsctl list コマンドで生成されるターミナル出力の 3 列目にある識別子です。
5
名前を指定する
必要に応じて、Team ID に関連付ける 名前 を指定します。
6
System Extension を設定する
System Extensions の部分で、必要に応じて Approve all system extensions のデフォルト値を変更できます。このオプションをデフォルト設定のままにすると、指定した Team ID のすべての System Extension が事前承認されます。必要に応じて、このオプションを次のいずれかに設定できます。
- Allow specific system extensions: 承認する特定の System Extension の正確なバンドル ID を指定できます。上記の systemextensionsctl list コマンドで生成されたバンドル ID を使用します。また、必要に応じて、これらの特定の拡張機能の 1 つ以上を、Iru Endpoint やベンダー提供のパッケージなどの管理ツールによって自動的に削除できるように設定することもできます。
- Allow specific system extension types: Endpoint Security 拡張機能、ドライバー拡張機能、ネットワーク拡張機能など、事前承認する開発者の System Extension の種類を指定できます。Symantec の例では、上記の systemextensionsctl list コマンドで生成された拡張機能の種類と一致するため、Endpoint security extensions の種類を承認します。
7
追加の Team ID を追加する
必要に応じて、Add Team ID ボタンを選択して、1 つのプロファイルで追加の System Extension を許可できます。
8
設定を保存する
保存 を選択します。