2016年6月5日日曜日

NSXのセキュリティタグをAPIで活用してみよう(その3)

実際に、セキュリティタグを仮想マシンに付与するためには、セキュリティタグIDと仮想マシンIDが必要になります。

今回は、「ANTI_VIRUS.VirusFound.threat=low」のタグを仮想マシンに付与したいと思います。
先ほど、Postmanで取得したXMLをみて、<objectId>の部分を確認し、事前に控えておきましょう。
タグの名称は<name> で確認できます。


今回の場合は、「securitytag-2」が、「ANTI_VIRUS.VirusFound.threat=low」のIDとなります。

続いて仮想マシンのIDですが、こちらはNSXのAPIから取得することはできません。

こちらは、PowerCLIで取得します。
今回は、「CL-WIN81-2」という仮想マシンにタグをつけたいと思います。

PowerCLIのインストールは、 こちらに簡単ですが紹介しております
(参考)
http://infratraining.blogspot.jp/2015/06/blog-post.html

PowertCLIをインストールし、起動後、まずはvCenterにまずは、接続します。
Connect-VIServer -Server 「vCSのIP」 -User 「vCSのアカウント」 -Password vCSのパスワード

次に、仮想マシンの情報を取得します。
get-vmguest 仮想マシン名(今回はCL-WIN81-2) | select *


出てきた仮想マシンの詳細情報で「VmId」という項目があります。
ここの「VirtualMachine-vm-61」の「vm-61」がIDとなりますのでこれを控えておきます。

これで準備はできました。

まずは、控えた情報を整理しておきましょう。


付与するセキュリティタグ名称ANTI_VIRUS.VirusFound.threat=low
付与するセキュリティタグIDsecuritytag-2
付与される仮想マシン名CL-WIN81-1
付与される仮想マシンIDvm-61

NSX APIガイドの112ページを確認してみましょう。


「Apply Tag to Virtual Machine」の項が、仮想マシンにセキュリティタグを付与する為のAPIコール用のURLが記載されています。


APIは、
https://NSXManagerのIP/api/2.0/services/securitytags/tag/TagのID/vm/VMのID
のURLでコールします。

今回は上記で控えた情報を元に
https://NSXManagerのIP/api/2.0/services/securitytags/tag/securitytag-2/vm/vm-61
というURLが、APIをコールするためのURLになります。

では、早速Postmanに入れてみましょう。

メソッドが前回は「GET」でしたが、タグを付与する場合は「PUT」になりますので、注意してください。
必要なパラメーターを入力後、Sendをクリックしてみましょう。


今度は、セキュリティグ情報を取得したときのようにXMLの情報は帰ってきませんが、STATUSが200になっていれば、メソッドは成功しています。
XMLのデーターが出てきている場合は、ステータスコードが200以外で何らかのエラー内容がXMLで出力されていると思います。

では、これでvSphere Web Clientの画面から、仮想マシンにタグが付与されたかを見てみたいと思います。

きちんと、「ANTI_VIRUS.VirusFound.threat=low」のところに、仮想マシンが「1」と表示されています。

仮想マシン数の「1」 をクリックすると今回、タグを付与した「CL-WIN81-1」が存在していることが確認できます。



わずかこれだけで、仮想マシンのセキュリティタグ付与ができました。

今回は、Chromeのアプリケーションを利用しましたが、REST APIは、URLベースで簡単にやり取りをすることができるため非常に簡単です。
既存の資産管理アプリケーションやウイルス対策ソフトウェアと連携することで、簡単に既存のソフトウェアがNSXのセキュリティタグ連携ができるようになるのは、大変魅力的だと思います。

NSXのセキュリティは、高価なソリューションとの連携も魅力的ですが、お手製ツールでも簡単に高度なセキュリティを得ることができます。




0 件のコメント:

コメントを投稿