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

SensorsでmacOSからもデバイス情報をキャッチ


このブログは、vExperts Advent Calendar 2022の20日目の投稿です。

以前、Workspace ONE UEMのSensorsという機能でWindowsデバイスから様々な情報を取得できるという投稿(コチラ)をしましたが、Sensorsという機能はmacOSでも利用できます。


改めてSensorsという機能について記載しておくと、WS1 UEMでは管理下のデバイスから様々な情報を収集することでIT管理者がデバイスの情報を把握しておくことができます。
特別な設定をせずともデバイスをUEMの管理下に置くだけで収集できる情報はたくさんあるのですが、用途や要件によってはデフォルトで収集できる情報では十分ではないケースもなくはないです。そういった場合にこのSensorsという機能を利用することで対応ができる可能性があるのです。


基本的な考え方はWindows10と同じで、デバイスに対してコマンドを送信してその結果を応答として返してもらうというものなので、macOSのターミナルアプリで実行できるコマンドでスクリプトを作成すれば標準では取得できない設定値なども取得できることになります。


ここでは、macOSでリモートログインが有効になっているか否かをSensors機能で取得してみたいと思います。デバイス上でGUIで見ると以下の箇所ですね。


デバイス上で見れば上記画像のようにGUIでサクッと確認が出来ますが、WS1 UEMで標準的に取得される情報にはこの設定値の状態は含まれていないので、Sensorsで引っこ抜いてみるというワケです。


大まかな流れは以下の通りです。
    1.macOSデバイス上のターミナルアプリで設定値取得可否の確認
    2.Sensorの作成・割り当て
    3.動作確認

1.macOSデバイス上のターミナルアプリで設定値取得可否の確認

まずは、macOSデバイス上でターミナルアプリを開いてリモートログインの設定状態を取得できるコマンドを探してみます。どうやらこのコマンドで取得ができるようです。
>sudo sysytemsetup -getremotelogin


2.Sensorの作成・割り当て

コマンドがわかれば後はSensorsの設定をして割り当てるだけです。
WS1 UEMの管理コンソールで、「リソース」>「センサー」をクリック後、「追加」>「macOS」をクリックします。


「1 全般」画面で、任意の名前を設定して「次へ」をクリックします。
名前に使える文字は小文字、数字、アンダースコアのみのようです。


「2 詳細」画面では、「コード」にmacOSのターミナルアプリで実行してリモートログインの設定状態が取得できたコマンドを入力します。デバイス上で実行するときはsudoを使いましたが、Sensorsに入力するコマンドの内容としてはsudoは不要でした。逆に、sudoを使うとエラーとなってしまいましたので、今回入力する内容は「sysytemsetup -getremotelogin」だけです。
入力したら、「次へ」をクリックします。


「3 変数」では、今回は特に設定することはないので、「保存して割り当て」をクリックします。


割り当て設定画面は他の設定とあまり違いはありません。割り当てるスマートグループを選択して「次へ」をクリックします。


「2 展開」は、センサーで設定したコマンドの実行タイミングを定義します。ここでは「定期的」にチェックを入れ、「保存」をクリックします。


3.動作確認

保存後、しばらく待つと定期的な同期タイミングでセンサーが実行され、その結果が収集されます。管理コンソール上で確認する場合、デバイスの詳細画面から「センサー」タブをクリックすると割り当てられたセンサーとその結果の一覧が表示できます。
今回は「Remote Login: Off」とリモートログインの設定状態が取得できました。


センサーの結果はデバイスの情報の1つとしてUEM管理コンソール上で確認することもできますが、Intelligenceのオートメーションのフィルターとしても利用ができますので、特定の設定が有効(または無効)になっているデバイスに対して何らかのアクションを自動化したい場合などにもセンサーを活用することができます。


また、今回はたった1行(1行どころか2単語ですね)のめちゃくちゃシンプルなコマンドで取得できる値を収集しましたが、スクリプトを作り込めばどんな情報でも取得できるといっても過言ではないかもしれません。
あまり複雑なことをやろうとするとWS1というよりはmacOSそのものに詳しくないといけないかもしれませんが。。。



コメント

このブログの人気の投稿

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から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]をテキストエディタで開いておきます。 証明書の一覧画面で、[New]をクリックします。 Nameに[SAML 2.0]と入力して下にスクロールします。 PEM Certificateに先ほどテキストエディタで開い

Workspace ONE Sensorsでデバイスの情報をキャッチ

Workspace ONE UEMにデバイスを加入すると、実に様々なデバイスの情報を取得することができますが、「 センサー 」という機能を使うことでより幅広い情報を取得することができるようになります。 「 センサー 」は簡単に言うと、デバイスに対してクエリコマンドとなるPowerShellスクリプトを投げつけ、そのコマンドの結果をデバイスの属性として収集する機能です。 今回は、「センサー」という機能を利用して、Windows 10のOSエディション(ProとかEnterpriseというアレです)を取得して、その情報を基にデバイスをグルーピングする、ということをやってみます。冒頭で様々な情報が取得できると書きましたが、実はデフォルトの状態だとOSのエディションまでは取得しないので、センサーで代用しようというワケです。 まずは、後程WS1 UEMのコンソールにアップロードするためのスクリプトを準備します。 今回は「OSのエディション情報を取得する」という内容のスクリプトを作成する必要があるので、以下のコマンドを「.ps1」という拡張子のファイルにして保存します。 --------------------------- $reg=Get-ItemProperty “HKLM:/SOFTWARE\Microsoft\Windows NT\CurrentVersion\” write-output $reg.Productname --------------------------- 【補足】 今回は自作しましたが、Githubで様々な用途のスクリプトが公開されていますので、ここから拝借するのもアリだと思います。(利用はあくまで自己責任ですが...) https://github.com/vmware-samples/euc-samples/tree/master/Windows-Samples/Sensors 次に、WS1 UEMの管理コンソールでセンサーを作成します。デバイス>プロビジョニング>カスタム属性>センサー に移動し、「 追加 」のプルダウンから「 Windows 」をクリックします。 以下の通り設定して「 次へ 」をクリックします。      名前  :適当な名前でよいのですが、以下気を付けてください。            -大文字は使えません