Infoblox(インフォブロックス)使ってみようAPI その2

はじめに

使ってみようAPIその2ということで、その1ではcURLを利用した方法をご紹介しましたが、今回はPythonを利用した方法です。

Web APIとは?

Pythonはシンプルで習得しやすく、さまざまなプログラミング言語ランキングでも上位に食い込む人気言語です。今回は、そんな人気言語を使って簡単なスクリプトを組んでみたいと思います。

Pythonでのスクリプト例

その1ではcURLを使って実施したネットワーク情報を取得するスクリプトをPythonで組んでみようと思います。

上記実行するとこんな感じで結果が返ってきます。

[
    {
        "_ref": "network/ZG5zLm5ldHdvcmskMTkyLjE2OC4xLjAvMjQvMA:192.168.1.0/24/default",
        "network": "192.168.1.0/24",
        "network_view": "default"
    },
    {
        "_ref": "network/ZG5zLm5ldHdvcmskMTkyLjE2OC4yLjAvMjQvMA:192.168.2.0/24/default",
        "network": "192.168.2.0/24",
        "network_view": "default"
    }
]

その1でcURLを使って実行したときと同じ結果が返ってきました。次に新しいネットワークを登録してみます。

網掛け部分がネットワーク情報を取得するコードと異なる部分です。追加するネットワーク情報をJSON形式で記述し、リクエストを送るコード部分を先ほどはGETでしたが、POSTに変更し、ネットワーク情報のデータを追加しています。

まとめ

簡単な例のみの紹介となりましたが、Pythonでの記述イメージがつかめたのではと思います。GUIでできることは基本的にはAPIでも実施可能なので、応用すれば普段手動で行っている作業をAPIで自動化といったことが可能となります。例えば、クライアントPCの入れ替えがあったときにDHCPのMACフィルターを更新している場合、クライアント管理システムから情報取得してAPIで自動登録したり、FW等で不正通信を行っているクライアントを検知し、そのIPがわかっている場合、InfobloxでMACアドレスやスイッチの接続ポート、ADと連携してログインユーザまで調べることが可能ですが、これを自動化して端末特定までのスピードを上げたり、自動通知を行ったりということができるのではと思います。InfobloxはGUIが優れているのでそれだけでもかなりの効率化が出来ますが、さらにもう1ステップ日ごろの小さな効率化からぜひ初めてみていただければと思います!

お問い合わせ・資料請求

株式会社マクニカ Infoblox 担当

月~金 8:45~17:30