Duo CentralからMeraki DashboardへのSingle Sign-Onを行うための設定手順を整理しました。
本記事ではIdP (Identity Provider)としてDuo Securityを取り扱います。 なお、Meraki Dashboard側でのRole設計やSingle Sign-Onに必要な設定要素は限定されているため、他のIdPであってもMeraki Dashboard側の設計は根本的には大きくは変わらないと想定されます。
設定対象の範囲 (本記事のスコープ)
本記事ではMeraki DashboardへのSingle Sign-Onを対象にしており、Meraki Vision PortalへのSingle Sign-Onに関しては扱いません。 また、Meraki Vision PortalはMeraki MVを持っていないと活用できないため、Meraki Vision PortalへのSingle Sign-Onの設定は全ての環境で必須級となるものではありません。
設定作業の順番 (作業の依存関係)
設定作業はDuo Security側から先に開始する必要があります。
Meraki Dashboard側での Consumer URL
(Meraki Dashboard向け) と Consumer URL (Vision)
(Meraki Vision Portal向け)を表示するのに、Duo Security側が提示する情報が必要になるためです。
事前設定
Duo SecurityのMeraki Dashboard向けのApplicationを設定するには、先にDuo Centralへの有効化が必要になります。
本記事では、Directory SyncをAzure Active Directory (Azure AD)に行いUserやGroup情報を取り込んだ上で、Duo Centralの認証ソースとしてもAzure ADを使用した状態で検証を行っております。 詳しくは下記の2つの記事を参照してください。
SSO向けRoleの設計
Meraki DashboardへのSingle Sign-Onはアクセス先のNetworkを絞ったり、対象Networkの権限を制御できます。
本記事ではOrganizationレベルでの制御粒度にした上で、設定変更が可能な管理者の権限 (Full
)と、読み取り専用の権限 (Read-only
)に対応したRoleをそれぞれ用意します。
Neworkレベルでの設計は制御粒度が細かすぎるため運用が複雑になるリスクがあります。 例えば、47都道府県の店舗のオーナーに対して自店舗のNetworkのみに読み取り専用でアクセスさせようとすると、47のRoleとSSO向けの管理用Groupが必要になるかもしれません。
Meraki DashboardへのSingle Sign-Onの設定
Single Sign-On用Groupの用意
RoleとマッピングするためのGroupを予め用意しておいてください。
Azure AD側のGroupの設定
Azure AD側にてMeraki DasboardのSingle Sign-Onに用いるGroupを用意します。
本記事では下記のGroupを用意しています。Group 備考 Meraki_Admin_Group Full
権限を持たせるための管理者Groupを用意しています。Meraki_ReadOnly_Group Read-only
権限を持たせるGroupを用意しています。
Duo Security側のGroupの設定
Duo Security側ではAzure ADに対するDirectory Syncで用意したGroupを
Selected Groups
に指定してSave
ボタンを押下します。そして忘れずにSync Now
ボタンを押下してDirectory情報を取り込みます。
SAMLの設定
Duo Security側のSAMLの設定
Duo SecurityのAdmin Panelからメニュー:
Applications > Protect an Application
を開きます。Application:Meraki
のProtect
ボタンを押下します。
本記事の執筆時点 (2022年09月頃)でMeraki
とMeraki RADIUS VPN
があるため混同しないように留意してください。Meraki Dashboard側へ連携が必要な
X.509 cert SHA1 fingerprint
とSLO logout URL
の情報を控えてください。
Meraki Dashboard側のSAMLの設定
Duo SecurityのAdmin Panelに戻って
Service Provider
セクションのConsumer URL
にMeraki Dashboard側で発行されたConsumer URL
を貼り付けます。
補足:Cunsumer URL (Vision)
の方はMeraki Vision Portal用のURLになるため、Meraki Dashboard用のURLと混同しないように留意してください。
Roleの設定
Meraki Dashboard側のRoleの設定
Meraki Dashboard側でメニュー:
Organization > Administrators
を開きます。Add SAML role
ボタンを押下します。本記事では下記の表のように設定して保存しています。Role Organization access Admin Full ReadOnly Read-only Role名称はDuo Security側の設定と一致させる必要があります。
Duo Security側のRoleの設定
Duo SecurityのAdmin Panelに戻って、
Role attributes
セクションの設定を行います。
Meraki Role
にMeraki Dashboard側で指定したRole名称を入力して、その権限に対応するGroupをDuo Groups
とマッピングします。 本記事では下記の表のように設定しています。Meraki Role Duo groups 備考 Admin Meraki_Admin_Group Full
権限を持たせるGroupを指定します。ReadOnly Meraki_ReadOnly_Group Read-only
権限を持たせるGroupを指定します。設定が完了したら
Save
ボタンを押下して設定の保存を忘れないようにしてください。
Duo CentralへのTileの表示
Duo SecurityのAdmin Panelのメニュー:
Single Sign-On > Duo Central
よりTiles
タブを開きます。Add tile
ボタンを押下します。What do you want to add to Duo Cntral?
のポップアップではAdd application tile
ボタンを押下します。先に設定したApplication: Meraki (デフォルト名称: Meraki - Single Sign-On)のチェック ボックスにチェックを入れて
Add tile
ボタンを押下します。
Duo CentralからのMeraki DashboardへのSingle Sign-Onの確認
Duo CentralにアクセスしてTileが表示されるのを確認します。
Application: Meraki (デフォルト名称: Meraki - Single Sign-On)のTileを押下して、Meraki DashboardにSingle Sign-Onできるのを確認します。