catch-img

Meraki API で自動化しよう!  ~Meraki クラウド認証ユーザ作成編~

こんにちは、Cisco Enterprise Network 担当の吉村です。


皆様 Meraki 使ってますか? 

Meraki は、ネットワークからフィジカルセキュリティなど豊富なラインナップを持ちつつ、シンプルをコンセプトにした 100% クラウドで管理できる IT ソリューションです。

すべてクラウドで一元管理できるため、運用コストを削減しつつ、IT 管理者に今までにない優れた可視性と管理性、拡張性を提供することができます。

ダッシュボードも日本語で提供されており、初心者でも扱いやすい設計になっています。


ただ、まだ Meraki でも時間がかかってしまう作業があります。

今回はその中の、Meraki 認証ユーザ追加手順を API を使って自動化したいと思います。


目次[非表示]

  1. 1.Meraki クラウド認証について
  2. 2.プログラム作成
    1. 2.1.プログラムの事前準備
    2. 2.2.プログラム作成
  3. 3.実行結果
  4. 4.まとめ
  5. 5.関連ブログ



Meraki クラウド認証について

Meraki には、追加コスト無しで利用可能な Radius サーバ機能があります。

Meraki クラウド認証についてのドキュメントはこちら


ユーザを登録することで、SSID 接続時や Splash Page の 802.1x 認証に利用することができ、ゲストユーザの作成等を簡単に実施可能です。


この Meraki クラウド認証、事前にユーザを登録する必要がありますが、ダッシュボードから登録する場合、1 ユーザずつ手順を行う必要があります。

数ユーザであれば、時間をかけず登録できますが、数十、数百ユーザとなると時間がかかってしまいます。

そこで、API を利用することで複数のユーザを一括で登録し、工数を削減できるプログラムを作成しました。




プログラム作成

下記の API を使ってユーザを登録することが可能です。


  createNetworkMerakiAuthUser - Cisco DevNet Authorize a user configured with Meraki Authentication for a network (currently supports 802.1X, splash guest, and client VPN users, and currently, organizations have a 50,000 user cap) - Dashboard API v1 - A RESTful API to programmatically manage and monitor Cisco Meraki networks at scale. Dashboard API v1 - Cisco Meraki Developer Hub


プログラムの事前準備

  • 登録したいユーザ情報を記載したファイル
  • ユーザの 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 で取得することが可能です。


  getOrganizations - Cisco DevNet List the organizations that the user has privileges on - Dashboard API v1 - A RESTful API to programmatically manage and monitor Cisco Meraki networks at scale. Dashboard API v1 - Cisco Meraki Developer Hub


  getNetwork - Cisco DevNet Return a network - Dashboard API v1 - A RESTful API to programmatically manage and monitor Cisco Meraki networks at scale. Dashboard API v1 - Cisco Meraki Developer Hub



  • クラウド認証を使用する 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シリーズ紹介動画ができました! | ネットワンパートナーズ株式会社ブログサイト ネットワンパートナーズ株式会社ブログサイト



Meraki × Webex の連携ソリューションの紹介はこちら

  Meraki のアラートをチャットで簡単に確認!Meraki × Webex のご紹介 | ネットワンパートナーズ株式会社ブログサイト Cisco Webex の Bot と Meraki Webhook の機能を使って追加コスト無しでコードを書かずに Meraki のアラートをチャットで簡単に確認できる連携ソリューションをご紹介します。 ネットワンパートナーズ株式会社ブログサイト


ネットワンパートナーズの DevNet 活動の軌跡はこちら

  NOP DevNet取り組みのご紹介 Ver.2022 NOPのDevNetの取り組みについての最新情報をお伝えいたします! ネットワンパートナーズ株式会社ブログサイト



吉村 友喜(よしむら ともき)

吉村 友喜(よしむら ともき)

ネットワンパートナーズ セールスエンジニアリング 第一チーム エンタープライズ製品担当 3度の飯よりうどんが好き
ご不明な点はお気軽に
お問い合わせください
ソリューション・カタログは
こちら