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

Workspace ONE AccessのAPIをいじり倒す


Workspace ONE関連のコンポーネントではAPIでいろいろとできることがありますが、Workspace ONE AccessでもAPIで出来ることがいくつかあります。
サポートされているAPIは以下で公開されています。


上記以外にもAPIで実施できることはあるようでして、以下のページでは上記に記載の無いAPI実行の手段が記載されています。


ただ、上記ページにも記載されている通りサポートされているのは「https://developer.vmware.com/apis/57」に記載されているものですので、ここに記載の無いものについては、使うことはできるものの利用は自己責任ということになると思います。


APIを使うことができれば何らかの運用操作を機械的に実施できる可能性が広がると思いますので、あくまで自己責任の範囲で利用することでよりWS1 Accessを使いこなせるのではないか、ということで今回はWS1 AccessのAPIを使い倒して設定を行ってみます。


大まかな流れは以下の通りです。
    1.WS1 AccessをGUI操作してAPIの情報を取得
    2.Postmanの設定
    3.動作確認
        3.1.ディレクトリ設定を取得
        3.2.ディレクトリ設定の更新を実行



1.WS1 AccessをGUI操作してAPIの情報を取得

まずはWebブラウザを使用して管理コンソールをGUI操作することによって裏で動いているAPIなどの情報をかき集めます。今回の目的はディレクトリ設定をAPIで行うことなので、GUIでディレクトリ設定周りを見ていきます。


WebブラウザでWorkspace ONE Accessの管理コンソールにログインして[統合]>[ディレクトリ] をクリック後、対象のディレクトリ名のリンクをクリックします。


[同期設定]をクリックします。


ここで、裏で動いているAPI情報を取得するためにデベロッパーツールを開きます。Chromeの場合は[右上のオプション]>[その他のツール]>[デベロッパーツール]をクリックします。


[Application]タブを開き、左の[Cookies]を展開し、URLをクリックすると使用されているCookieを確認することができます。
Name列が「HZN」のものをクリックし「Cookie Value」の値を控えておきます。


デベロッパーツールの[Network]タブを開いておきます。


WS1 Accessの管理コンソールに戻って「ユーザー」タブをクリックするとデベロッパーツールにいくつか表示されるので、Name列が「syncprofile」のものをクリックします。
すると、開発者ツール右側の[Header]タブに何やらずらずらと表示されるので、以下の値をコピーしておきます。

Content-type:

application/vnd.vmware.horizon.manager.connector.management.directory.sync.profile.users+json

Accept:

application/vnd.vmware.horizon.manager.connector.management.directory.sync.profile.users+json

Request URL:

https://[WS1 Access FQDN]/SAAS/jeasey/manager/api/connectormanagement/directoryconfigs/[Directory ID]/syncprofile





これで事前の情報収集は完了なので、次にAPI実行ツールの設定を行います。


2.Postmanの設定

APIを実行することのできるツールであるPostmanを使用します。
Postmanを起動し、URL欄に以下の値を入力します。
URL:前の手順で取得した「Request URL」の値


次に認証情報を設定します。Postmanの「Authorization」タブで以下のように設定します。
Type:Bearer Token
Token:Cookieから取得した「HZN」の値(画像内で言うと「eyJ0…」という文字列)


次に「Headers」タブをクリック後、以下を設定します。
Content-type:前の手順で取得した「Content-type」の値
Accept:前の手順で取得した「Accept」の値



3.動作確認

3.1.ディレクトリ設定を取得
URL欄の左横のMethodの選択で「GET」を指定し「Send」をクリックします。


するとResponse欄に以下のような値が表示されます。
これはGUIの管理コンソール画面でいうと、ディレクトリ設定内の「ユーザー」タブの情報を取得して表示しています。

GUIで言うとここに相当します。



3.2.ディレクトリ設定の更新
続いて、先ほど取得した設定値を基に更新も実施してみます。
更新時は「Body」タブへの入力が必要になるので「Body」タブをクリック後、「raw」にチェックを入れます。


Bodyには以下のような形式で値を入力します。
以下画像の例では、青枠内は元々設定されていた「lab-user01」と「administrator」で、それに加えてオレンジ枠内の「user02」というアカウントを追加しようとしている様子です。


URL欄の左横のMethodの選択で「PUT」を指定して「Send」をクリックします。


するとResponse欄に以下のような値が表示されます。


GUIの方でもディレクトリ設定を開きなおしてみると、Postmanで追加した「user02」が追加されていることが確認できます。



今回はPostmanというツールを使用して手動で実行をしましたが、WS1 Accessを運用する中で何らかの操作を自動化したい場合、APIを活用することで対応できる可能性は広がるのではないかと思います。



コメント

このブログの人気の投稿

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...