概要
Meraki Dashboard APIの有効化方法を交えながら、セキュリティ設計の観点で情報を整理します。
本記事の内容は2022年03月頃の情報をベースにしているため、適宜最新の情報を確認してください。
まず前提情報として、Meraki Dashboard APIを使用するには2つのステップを踏む必要があります。
ここで重要な点は、API KeyはAccountに紐付く点です。
さらにAccountには複数のOrganizationが紐付く場合があるため、単一のAPI Keyで複数のOrganizationにアクセスが可能になります。
よって、Organization毎に専用のAPI Keyが発行されない点に注意してください。
そしてAccountでAPI Keyを生成していても、OrganizationによってはAPIの使用を無効化している場合もあるため、 API KeyでアクセスができるOrganizationと、アクセスできないOrganizationに分かれます。
実際の設定画面
実際の設定画面でAPIの有効化方法を確認してみましょう。
Organizationに対するAPIの使用可否を設定
メニュー: Organization > Settings
より Dashboard API access
セクションにある API Access
にて、Organizationに対するAPIの使用可否を決定できます。
AccountでAPI Keyを生成
メニュー: Account名 > My profile
より API access
セクションにある Generate new API key
でAPI Keyを生成可能です。
古いAPI Keyと新しいAPI Keyの交換期間を設けれるように、API Keyは最大2つまで生成できます。API Keyが2スロット分あるイメージです。
API Keyとセキュリティの観点
API KeyはAccountの権限の範囲でOrganizationの情報にアクセスが可能であるため、
第三者にAPI Keyが漏洩すると不正アクセスされる可能性があります。
API Keyはプログラムからの使用を前提とされている都合で、多要素認証による不正使用のブロックもできないので慎重に取り扱う必要があります。
そしてここで重要になるのは、Accountに複数のOrganizationが紐付いていれば、横断的なOrganizationのアクセスが可能になってしまう点になります。
AccountとAPIの権限の限定
MerakiのAccountは、OrganizationレベルとNetworkレベルで権限を分けれます。
そのため、APIを使用するAccountにはアクセス対象のNetworkの限定や、必要最小限の権限の割り当てをして、API Key漏洩時の影響範囲を限定を検討してください。
更に必要に応じて、Organizationを跨ぐAccountを避ける方法も検討してください。
ただし、Accountが不必要に増えていくと管理が煩雑になり、管理漏れが起きるリスクも付きまとう点に留意が必要です。
また、API Keyの生成はAccountの使用者に委ねられており、管理者が制御できない点に留意してください。
AccountにAPI Keyが紐付いている都合で、Organizationを跨いだアクセスが可能である仕様になっているため、
特定のOrganizationにすぎない管理者が、AccountのAPI Keyに対する制御が行えないのが背景にあると推察されます。
そして、本記事の執筆時点 (2022年03月頃)で、Organization側でAPIを使用するAccountを個別に制限する機能はありません。 そのため、上述の権限の最小化で制御せざるを得ないのが実情です。
Organizationレベルの制限
メニュー: Organization > Administrators
では、OrganizationとNetworkの管理者の両方の設定が可能です。
Organizationの管理者として扱う場合は、
Organization access
の設定でFull
(設定変更可)もしくはRead-only
(読み取り専用)を適宜指定します。Networkの管理者として扱う場合は、
Organization access
の設定はNone
として、Target
に対象Networkを指定した上でAccess
に権限を指定します。Organizationでは
Read-only
で読み取り専用として、一部のNetworkにはFull
で設定変更の権限を与えるような組み合わせの設定も可能です。
Networkレベルの制限
メニュー: Network-wide > Administration
より Network admins
にて、Networkに割り当てられている管理者の設定が可能です。
Networkの管理者は前述のメニュー: Organization > Administrators
でも設定可能のため適宜使い分けてください。
Meraki Dashboard APIの送信元IPアドレスの制限
メニュー: Organization > Settings
より Login IP ranges
セクションにある Limit Dashboard API access to these IP ranges
にて、
"API使用者のみ"に対する送信元IPアドレスの制限を行えます。
Limit Dashboard and Dashboard API access to these IP ranges
の設定項目だと、DashboardとAPIの両方に適用されてしまうので設定を間違えないように注意してください。
Dashboardも含めて送信元IPアドレスを絞る場合は、 経由先のInternet RouterやForward Proxyなどの障害時にも迂回経路のIPアドレスでアクセスが可能になっている点を適宜確認してください。