DesktpoDirectのユーザ管理を容易にするRESTful API

働き方改革の推進が本格化し、新型コロナウイルス感染防止のためのリモートワークが必須となった2020年、ArrayAG/vxAGのDesktopDirectの採用が増加している。
リモートユーザの大幅な増加によりユーザ管理がArrayAG/vxAGのWEBUIだけでは追いつかない状況になっている。
管理すべきユーザ数が100,200…1000と増えるに従い、ブラウザの表示領域では登録ユーザのリストに簡単に行あふれが起こり、長々とスクロールアップ、ダウンをしなければならなくなった。
また、一人が数台のPCを利用する場合や、一台を複数の人が利用するケースが複雑に絡まり、N人対N台のマトリックス管理が要求されるケースが発生している。
また。人の動き、組織変更が活発なるにつれ、追加、削除、変更作業が増大する。
このような事態を解決するために、人事管理システムや、PC資産管理システムがあるが、それにリモートワークのためのユーザ管理を連携させることが焦眉の急となっている。
そこで、提案したいのが、ArrayAG/vxAGのRESTful APIを使ったユーザ・PCの管理である。

ARTとRESTful API

DesktopDirectの管理には ArrayAG/vxAG に含まれている“ART”と称するデータベースを使う。
ARTとはArray Registration Technologyの略で、ユーザは自ら直感的にデスクトップを登録することができ、IT部門のタスクを簡略化できる機能です。
登録されたデスクトップには、ユーザが選択した名前を割り当てることが可能で、ログイン時も簡単に識別できるようになります。
ARTデータベースは3つのテーブルから構成されている。

❶ユーザ登録テーブル
❷DesktopDirectアクセス先PC登録テーブル
❸ユーザとDesktopDirect用アクセス先PCを紐づけるためのテーブル

これら3つのデータを登録、削除するための コマンドをRESTful APIをつかって、ArrayAG/vxAGに設定することができる。

RESTful API サンプル

以下、RESTful APIの例を示す。利用スクリプト言語: PYTHON
検証環境: Windows10 /  Python3.6、 Centos8 / Python3.8
サンプルプログラム
・登録内容を表示する「リスト」プログラム
・登録する「登録」プログラム
・削除する「削除」プログラム
RESRful API利用のための共通定数:
– URL:”https://AG,vxAGのIPアドレス:9997/rest/ag/global/cli_extend”
– HTTP/HTTPS headers = {“Accept”: “application/json” , “Authorization”: “Basic cmVzdDpyZXN0”}
    “Authorization”: “Basic cmVzdDpyZXN0″の最後の文字列は RESTful API利用ユーザのユーザID,PASSWORDをBASE64で暗号化したもの
利用する PYTON ライブラリ: requests
利用SCHEME: https
CALL シーケンス
    s = requests.Session()
    r =  s.post(url, data=ag_cmd, headers=headers, verify=False)
インスタンスの作成と POSTの実行。 rにコマンド実行結果が入る。
❶ARTユーザ※の登録
AG/vxAGコマンド>art user “<インスタンス名>” “<ユーザ名>”
data = ‘{“cmd”:”config term”, “cmd” : “art user ‘ + art_instance_name + ‘  ‘ + username + ‘”}’
❷DesktopDirect用アクセス先PCの登録
AG/vxAGコマンド>art desktop define “<IPまたはホスト名>”   
data = ‘{“cmd”:”config term”, “cmd” : “art desktop define \\\”‘ + desti_pc + ‘\\\” ‘ + desti_pc_description + ‘”}’
❸ARTユーザとDesktopDirect用アクセス先PCを紐づける設定
AG/vxAGコマンド>art desktop assign user “<ARTインスタンス名>” “ARTユーザ名” “<追加したいPC>”   
‘{“cmd”:”config term”, “cmd” : “art desktop assign user ‘ + art_instance_name + ‘ ‘ + username + ‘  \\\”‘ + desti_pc + ‘\\\””}’
削除するコマンドは 上記のそれぞれのコマンド部分のartの前に“no”を追加する
設定をリストしたい場合は、それぞれ以下のデータをPOSTする。
data = ‘{“cmd” : “show art desktop all”}’
data = ‘{“cmd” : “show art users ‘ + art_instance_name + ‘”}’
data = ‘{“cmd”:”show art desktop user ‘ + art_instance_name + ‘ ‘ + username + ‘”}’

弊社で実施したテスト・サンプル・プログラムをご覧になりたい方は 以下にご連絡ください。
また、vxAGを試用ご希望の方も併せてご要望ください。 評価vxAGをご用意いたします。

以上です。
興味あるユーザはハードウエア・仮想ライセンスをご用意しますので、是非お試しください。
The network functions platform company「Array NETWORKS」MAIL TO: marketing-j@arraynetworks.net
担当: 対馬浩明
TEL: 044-589-8316