Meraki API で自動化しよう! ~Meraki クラウド認証ユーザ作成編~
こんにちは、Cisco Enterprise Network 担当の吉村です。
皆様 Meraki 使ってますか?
Meraki は、ネットワークからフィジカルセキュリティなど豊富なラインナップを持ちつつ、シンプルをコンセプトにした 100% クラウドで管理できる IT ソリューションです。
すべてクラウドで一元管理できるため、運用コストを削減しつつ、IT 管理者に今までにない優れた可視性と管理性、拡張性を提供することができます。
ダッシュボードも日本語で提供されており、初心者でも扱いやすい設計になっています。
ただ、まだ Meraki でも時間がかかってしまう作業があります。
今回はその中の、Meraki 認証ユーザ追加手順を API を使って自動化したいと思います。
目次[非表示]
- 1.Meraki クラウド認証について
- 2.プログラム作成
- 2.1.プログラムの事前準備
- 2.2.プログラム作成
- 3.実行結果
- 4.まとめ
- 5.関連ブログ
Meraki クラウド認証について
Meraki には、追加コスト無しで利用可能な Radius サーバ機能があります。
Meraki クラウド認証についてのドキュメントはこちら
ユーザを登録することで、SSID 接続時や Splash Page の 802.1x 認証に利用することができ、ゲストユーザの作成等を簡単に実施可能です。
この Meraki クラウド認証、事前にユーザを登録する必要がありますが、ダッシュボードから登録する場合、1 ユーザずつ手順を行う必要があります。
数ユーザであれば、時間をかけず登録できますが、数十、数百ユーザとなると時間がかかってしまいます。
そこで、API を利用することで複数のユーザを一括で登録し、工数を削減できるプログラムを作成しました。
プログラム作成
下記の API を使ってユーザを登録することが可能です。
プログラムの事前準備
- 登録したいユーザ情報を記載したファイル
- ユーザの API キー
- 追加したい Organization と Network の ID
- クラウド認証を使用する SSID の情報
- 登録したいユーザ情報を記載したファイル
プログラム側で読み込めるファイルを利用すればよく、今回は、ユーザ名、ユーザのメールアドレス、ユーザのパスワードを記載した CSV ファイルを使用しました。
図1 . ユーザ情報が記載された CSV ファイル
- ユーザの API キー
API 実行時のユーザ認証に必要な API キーを生成します。
「オーガナイゼーション」 > 「API & Webhooks」から API キーを生成可能です。
- 追加したい Organization と Network の ID
Meraki の Organizaiton と Network にはすべて固有の ID が振られています。
プログラムを実行する際、対象の Organization や Network を指定する場合は、これらの ID で指定します。
本プログラムでは、Network ID が必須になります。
本ブログでは割愛させていただきますが、それぞれ以下の API で取得することが可能です。
- クラウド認証を使用する SSID の情報
事前に Meraki クラウド認証を使う SSID を設定する必要があります。
図2 . SSID に Meraki クラウド認証を設定する画面
プログラム作成
ファイルから情報を取得する部分と、API を利用する関数部分だけ抜き出しています。
ユーザの情報をファイルから一行ずつ取得し、ユーザ名、ユーザのメールアドレス、ユーザのパスワードを create_user 関数に渡しています。
create_user 関数では、必要情報をもとに POST し、ユーザを作成する内容となっています。
payload 変数で指定しているパラメータの詳細については、API のドキュメントをご参照ください。
図3 . CSV ファイルからユーザ情報を抽出するコード
図4 . Meraki クラウド認証のユーザを登録するための API を使用するコード
実行結果
プログラムを実行したところ、CSV ファイルに記載された情報通りにユーザを作成することができました。
今回のプログラムでは 5 人のユーザを登録しましたが、必要人数分 CSV ファイルに記載することですべてのユーザを作成することができます。
図5 . プログラム実行後ユーザポータル画面
まとめ
本記事では、Meraki のユーザを一括で追加できる API と実際に使用したプログラムを紹介しました。
ユーザ追加以外に、 Developer Hub にはいろいろな API が記載されています。
実は、Meraki のダッシュボード上で見える情報や、設定できる内容はほぼすべて API 経由で取得/設定することができます。
サンプルコードなども載っておりますので、ぜひ試してみては如何でしょうか!
関連ブログ
Meraki の紹介動画はこちら
Meraki × Webex の連携ソリューションの紹介はこちら
ネットワンパートナーズの DevNet 活動の軌跡はこちら