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

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 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レスポンダの署名証明書 」には...

自分のデバイスは自分で管理

Workspace ONE UENにはセルフサービスポータル(SSP)という機能があります。 名前の通りセルフサービスで自身に紐付いているデバイスに対して色々できるポータルで、デバイスのステータスを確認したり、位置情報を確認してみたり、コマンドを実行したりと様々なことができます。 色々できるとなると、逆に誤操作などでデバイスワイプを実行してしまい意図せず初期化してしまったりするのではないか...という懸念が出てきますが、WS1 UEMのセルフサービスポータルではユーザーが実施可能な操作をカスタマイズできます。 例えば、あくまで情報参照用とするためにデバイス情報の表示の権限だけ与えておいたり、紛失したときの対策のために加入解除操作はできるようにしておく、など運用要件によりカスタマイズして利用できるというワケです。 ここでは、加入解除のみを実行できるようにカスタマイズしたSSPにログインし、ユーザー目線で実際に自分のデバイスを加入解除する、ということをやってみます。 実際にありそうなシーンと言えば、あまり考えたくありませんが、夜中に会社支給のデバイスの紛失に気付いてしまったときとかですかね... まずは、Workspace ONE UEMのSSPにログインします。 WebブラウザでWorkspace ONE UEMコンソールのURLの末尾にmydeviceを付けてEnterキーを押します。「https://cnXXX.awmdm.com/mydevice」みたいな感じです。 アクセス後は、ログイン方法などを選択後次ヘ進み、ユーザー名パスワードを入力してログインします。 今回は事前に権限を極限まで絞っているため「 企業情報ワイプ 」のみ表示されていますので、これをクリックします。 【補足】 画像に映っている通り、自分に紐付くデバイスが複数存在する場合もすべてSSPから管理できます。 すると、対象のデバイスで加入解除が実行され、企業データが削除されます。 ちなみに、上記の動作確認ではSSPの権限をかなり限定して企業情報ワイプしかできないようにしてますが、特に権限を限定しなければ「 企業情報ワイプ 」以外にも「 デバイスの位置情報を確認 」など様々なオプションが実行できますし、「 詳細に進む 」をクリックすると... デバイスの順守状態や適切にプロファイルが適用されているか、...

Workspace ONE AccessからServiceNowにシングルサインオン(SAML)

以前、Workspace ONEと他システム間で、 OpenID Connect で連携する内容をポストしましたが、今回は SAML を利用したシングルサインオンの構成を検証してみました。 ServiceNow と SAML連携 して、WS1のポータルからシングルサインオンする構成を試してみます。 大枠の流れとしては以下の通りです。      1.ServiceNow(SP)のSAML認証設定          1.1. WS1 AccessからSAML連携に必要な情報を取得           1.2.SAML認証設定      2.WS1 Access(IDP)でSAML認証設定      3.動作確認 1.ServiceNow側(SP)でSAML認証設定 まずは、今回の構成ではSP(Service Provider)となるServiceNow側でSAMLによるシングルサインオンを可能とするように構成します。 1.1.WS1 Accessから S AML連携に必要な情報を取得 まずは、WS1 AccessのIDPメタデータのURLを取得します。 [カタログ]>[Webアプリケーション]をクリック後、[設定]をクリックします。 左ペインから[SAMLメタデータ]をクリック後、IDPメタデータの[URLをコピー]をクリックします。 クリップボードにコピーされるので、テキストエディタにでも貼り付けておきます。 次に、WS1 AccessのIDP署名証明書を取得します。 左ペインから、[SAMLメタデータ]をクリック後、署名証明書の[ダウンロード]をクリックします。 こんなファイルがダウンロードされます。 1.2.SAML認証設定 続いて、ServiceNow側のSAML認証設定を行います。 ServiceNowの管理コンソールにログインし、検索バーに[saml]と入力後、[SAML2 Single Sign-On]配下の[Certificate]をクリックします。 後で、使用するため先ほどダウンロードした、[signingCertificate.cer]をテキストエデ...