スキップしてメイン コンテンツに移動

Workspace ONE UEMでmacOSデバイスのアプリ実行制御


組織のデバイス管理において、iOSやAndroidなどのモバイルOSでは、使用させたくないアプリはインストールを禁止することが一般的な対応ですが、PCにおいても同様に特定のアプリケーションは使用させたくないということもユースケースとしては多いのではないかと思います。

iOSでは制限プロファイルを使用すれば特定のアプリを非表示にして禁止することができますが、実はmacOSにおいてもプロファイルでアプリの実行を禁止することが可能です。

今回は、Workspace ONE UEM管理下のmacOSデバイスにおいて、アプリ固有の識別子である「Bundle ID」を指定してSafariとカレンダーアプリの実行を禁止する、ということをやってみます。
公開されている情報としては以下あたりがとても参考になります。


大まかな流れは以下の通りです。
    1.アプリのBundle IDを取得
    2.カスタムプロファイルの配信設定
    3.動作確認


1.アプリのBundle IDを取得

アプリ実行制御のプロファイルでは「どのアプリケーションの実行を禁止するか」というのをカスタムプロファイルで定義します。
アプリの指定は以下のいずれかまたは複数を指定することができるようで、複数指定した場合、いずれかの一つでもルールにマッチした場合にそのアプリの実行がブロックされます。

キー

値

備考

bundleid

アプリのバンドルID

com.apple.safari

などの形式

cdhash

アプリのコードディレクトリハッシュ

CDHash

name

アプリの名前

Safari などの形式

path

アプリのフルパス

 

sha256

アプリのSHA256ハッシュ値

 


今回は上記の中で、アプリごとに一意の値でなおかつ取得が容易なBundle IDを指定するため、対象となるアプリのバンドルIDの取得手順を記載します。

Bundle IDを取得したいアプリを起動しておきます。
今回は「Safari」と「カレンダー」です。


その状態で「Terminal」アプリを起動して、以下のコマンドを実行します。
lsappinfo


すると以下のようにアプリの詳細情報が出力されるので、対象アプリの「bundleID」の値を確認します。
Safari:com.apple.Safari
カレンダー:com.apple.iCal


これでアプリのBundle IDの取得は完了です。


2.カスタムプロファイルの配信設定

先ほど取得したアプリのBundleIDを使用して、アプリ実行制御用のプロファイルを作成します。
WS1 UEMの管理コンソールで、「リソース」>「プロファイル&ベースライン」>「プロファイル」をクリック後、「追加」>「プロファイルを追加」をクリックします。


「Apple macOS」をクリックします。


コンテキストは「デバイスプロファイル」をクリックします。


ペイロードのリストから「カスタム設定」を追加し、カスタム設定欄に以下の値を入れ、割り当て設定をして保存します。
【備考】
赤太字部分が対象のアプリのバンドルIDを指定する部分なので、ここを変更すれば他のアプリの実行を制御することが可能です。
青太字部分は対象のアプリが起動された時にデバイスに表示するメッセージで、この部分は任意の値を指定することができます。今回はシンプルなメッセージにしています。
---------------------------------
<dict>
   <key>Restrictions</key>
   <array>
      <dict>
         <key>Attributes</key>
         <dict>
            <key>bundleId</key>
            <array>
                <string>com.apple.Safari</string>
                <string>com.apple.iCal</string>
            </array>
         </dict>
         <key>Actions</key>
         <array>
            <integer>1</integer>
         </array>
         <key>Message</key>
         <string>このアプリの実行は禁止されています。</string>
      </dict>
   </array>
   <key>PayloadDisplayName</key>
   <string>Restricted Software Policy</string>
   <key>PayloadIdentifier</key>
   <string>HubSettings.6e06634b-57bf-4227-b067-72e9091a0cbf</string>
   <key>PayloadOrganization</key>
   <string>VMware</string>
   <key>PayloadType</key>
   <string>com.vmware.hub.mac.restrictions</string>
   <key>PayloadUUID</key>
   <string>6e06634b-57bf-4227-b067-72e9091a0cbf</string>
   <key>PayloadVersion</key>
   <integer>1</integer>
</dict>
---------------------------------



3.動作確認

設定したプロファイルの配信が完了したら、デバイスで動作を見てみます。
プロファイル適用後、Safariかカレンダーを実行すると…


それぞれ実行するとブロックされ、プロファイル内で指定したメッセージが表示されます。


WS1 UEM管理コンソールのトラブルシューティングログにも制限されたアプリの実行ログが出力されています。



アプリの実行を制限するにはインストール自体を許可しないというのも一つの手ではありますが、仮に何らかの方法でインストールができてしまったとしても、アプリ固有の識別子でそのアプリの実行を禁止することができるので、セキュリティレベルの向上にも繋がると思います。





コメント

このブログの人気の投稿

Workspace ONE UEMでWindowsデバイスのログ収集

WS1 UEM管理下のWindowsデバイスのトラブルシューティング時などに有用なログ収集の方法を紹介します。 また、実際のトラブルシュート時の小技なども紹介したいと思います。 大まかな流れは以下の通りです。      1.WS1 UEM管理コンソールからリモートでログ取得     2 .取得したログの確認     3 .小技 1.WS1 UEM管理コンソールからリモートでログ取得 ログ収集を行う際、管理者目線で言うと、可能であればユーザー側の操作なしにリモートでかつサイレントで収集できることが望ましいと思います。 WS1 UEMではリモートでログ収集を行う機能が備わっているため、その機能を利用します。 WebブラウザでWorkspace ONE UEMの管理コンソールにログインし、ログ取得対象のデバイス詳細画面で[その他のアクション]>[デバイスログを要求]をクリックします。 [デバイスログを要求]画面で、[HUB]を選択した状態で[保存]をクリックします。 同じ手順を繰り返し、次は[システム]を選択した状態で[保存]をクリックします。 【補足】 [HUB]の方は文字通りIntelligent Hubのログの収集で、[システム]の方はOSレベルのログを一部収集することができます。 2.取得したログの確認 次に実際に取得されたログを確認してみます。 先ほどログ取得を実行したデバイスの詳細画面で[その他]>[添付ファイル]をクリックします。 [ファイル]タブをクリックすると収集されたログの一覧が表示されます。 ファイル名の接頭辞部分(Hub_とかSystem_の部分)は、ログ取得実行時に選択した種別に対応したものになります。 [spanned]という文字列が含まれているファイルはサイズの関係で複数のファイルに分割された状態になっているログです。 ファイル名のリンクをクリックするとダウンロードができます。 【補足】 ファイル分割はされないような機能改善がどこかのバージョンで実施されたため今後は不要かもしれません。分割されていても次の手順で対応が可能です。 [spanned]が名前に含まれるファイルはそのままだと中身を見ることができないため一手間必要になります。 まずは、末尾にzXXを含むファ...

Workspace ONE Accessに証明書認証でログイン

Workspace ONE AccessではSaaSなどのサービスへのアクセス管理ができますが、クライアント証明書認証の機能も備わっています。 ここでは、Workspace ONE UEMから配信した証明書を使用して、Workspace ONE Accessに証明書認証でログインする、ということをやってみます。 まずは、Workspace ONE UEMコンソールでの作業です。 すべての設定>システム>エンタープライズ統合>Workspace ONE Access>構成 へ移動し、「 エクスポート 」をクリックしてAirWatch認証局のルート証明書をエクスポートします。 次に、Windows向けにWorkspace ONE Access認証用証明書プロファイルを作成してデバイスに対して配信します。 SCEPペイロードを選択し、「 資格情報ソース 」は「 AirWatch認証局 」を選択します。証明書テンプレートは「 証明書(クラウド展開) 」です。 【補足】 上記のプロファイルで配信した証明書は 秘密キーのエクスポートができない ようになっているため、使い回しを防ぐことができます。つまり、私用のデバイスにインポートし直してログインしてしまおう...ということはできない仕組みになっているワケですね。 次はWorkspace ONE Accessの管理コンソールでの作業です。 IDとアクセス管理>管理>認証方法をクリックし、「 証明書(クラウドデプロイ) 」の設定を変更します。(UEMのプロファイルで選択した証明書テンプレートと同じ名前ですね。若干の誤差はありますが...) 始めに、「 証明書アダプタを有効にする 」にチェックを入れ、「 ルートおよび中間CA証明書 」のところには先ほどWorkspace ONE UEMからエクスポートした証明書をアップロードし、「 証明書の失効を有効にする 」にもチェックを入れておきます。 【補足】 公的認証局であっても、ここでルート証明書をアップロードしない限り証明書認証はできないので、今回の例では Workspace ONE UEM内部の認証局から発行されている証明書以外では認証できない 構成にすることができます。 少し下にスクロールして「 OCSPの失効を有効にする 」にチェックを入れ、「 OCSPレスポンダの署名証明書 」には...

エクストリームHoloDeckデプロイ

  この投稿は、 vExperts Advent Calendar 2025 の12日目です。 引き続きVCFをなんとか自宅で動かせないかとアレコレ考えています。 ということで、 前回のポスト まででHoloDeckをデプロイする事前準備までが終わったので、いざHoloDeckのデプロイを実施してみます。 ちなみに、タイトルのエクストリーム○○とは、過激な状況や極限状況などで特定のスポーツやアクティビティなどをすることでして、代表的なもの(?)としてエクストリーム出社があります。 ここでは、「エクストリームHoloDeckデプロイ」を" 極限まで少ないリソースのホストにHoloDeckをデプロイする "と定義して、その限界に挑戦した(リソースの都合上せざるを得なかった)記録となります。 大まかな流れは以下の通りです。     0 .今回使用するホストのリソース詳細      1.HoloDeckデプロイスクリプトの実行      2.Scriptsの作成と配信設定     3 .動作確認(デバイス側操作でScriptsを実行) 0.今回使用するホストのリソース詳細 私自身HoloDeckを使ってみるにあたり、インターネット上の情報を色々探してみました。 ミニPCなどにデプロイしたと思われるブログポストなども見かけ、これはうちにあるヤツでもなんとかすれば行けるのでは...?と思い至りやってみた次第でして。 ネット上に数多存在する情報の1つとして、手元のミニPCのリソース情報を残しておきたいと思います。 項目 値 備考 筐体 Shuttle SH570R8 https://shuttle-japan.jp/sh570r8/ CPU Intel Core i9-11900 8コア 16スレッド メモリ RAM :64GB NVMe:256GB RAM 64GB+Memory Tiering機能でNVMeのSSD 256GB(RAMの4倍) ストレージ 1TBのNVMe SSD Memory Tiering機能でメモリとして使用 1TBのNVMe SSD HoloDeckコンポーネントのデプロイ専用 1TBのSATA SSD HoloConsoleとHoloRoute...