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

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 AccessでOpenID Connect連携

Workspace ONE Accessはその名の通りSaaSなどへのアクセス管理をすることができる製品ですが、Identity Providerの役割を果たすことも可能で、以下のフェデレーションプロトコルに対応しています。  -WS-Federation  -SAML  -OpenID Connect WS-FederationはOffice365と連携する際などに利用したりするヤツですね。 個人的な感覚では、クラウドサービスはSAML認証に対応しているものが多いのでWorkspace ONE Accessと認証連携する場合、SAMLを利用するケースが一番多い気がします。 また、設定ガイド( SAML ベース SSO 統合のドキュメント センター )なんかも公開されており、連携のハードルは比較的低いと思います。 一方で、OpenID Connectの利用に関してはかなり情報が少ない気がしてます... ただ、OpenID Connectも認証連携の仕組みとしては代表的なものの一つではありますので、今回はOpenID Connectを使用してWorkspace ONE Accessと認証連携をしてみたいと思います。(連携先のサービスにはRedmineを使用します。) まずはWorkspace ONE Accessの管理コンソールでの作業です。 カタログ>Webアプリケーション とクリックして、Workspace ONE Accessのアプリカタログに載せるWebアプリの一覧を開き、「 新規 」をクリックします。 「 名前 」に入力した値はそのままユーザーのアプリカタログに表示されるので、わかりやすい名称にします。入力したら次に進みます。 【補足】 いくつかのサービスは連携用のテンプレートがあり、「 またはカタログから参照 」をクリックすることで利用が可能です。今回使用するRedmineについても、SAML連携であればテンプレートがあるので比較的カンタンに設定できると思います。 まずは、「認証タイプ」で「 OpenID 接続 」を選びます。(おそらくOpenID Connectが訳されているのでしょうが、何か違うような...) すると、OpenID Connect連携用の設定項目が現れるので、各設定を入れていきます。 「 クライアントID 」と「 クライアント シークレ...

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]をテキストエデ...