My Home NW Lab

逸般の誤家庭のネットワーク

Duo CentralからMeraki DashboardへSingle Sign-Onを行う

Duo CentralからMeraki DashboardへのSingle Sign-Onを行うための設定手順を整理しました。

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 PortalMeraki 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つの記事を参照してください。

myhomenwlab.hatenablog.com

myhomenwlab.hatenablog.com

SSO向けRoleの設計

Meraki DashboardへのSingle Sign-Onはアクセス先のNetworkを絞ったり、対象Networkの権限を制御できます。

本記事ではOrganizationレベルでの制御粒度にした上で、設定変更が可能な管理者の権限 (Full)と、読み取り専用の権限 (Read-only)に対応したRoleをそれぞれ用意します。

Meraki DashboardのSSO向けRoleの設定例

Neworkレベルでの設計は制御粒度が細かすぎるため運用が複雑になるリスクがあります。 例えば、47都道府県の店舗のオーナーに対して自店舗のNetworkのみに読み取り専用でアクセスさせようとすると、47のRoleとSSO向けの管理用Groupが必要になるかもしれません。

Role設計がNetworkレベルの一例

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を用意しています。

    Azure AD側でのSingle Sign-On用Groupの用意

Duo Security側のGroupの設定

  • Duo Security側ではAzure ADに対するDirectory Syncで用意したGroupを Selected Groups に指定して Save ボタンを押下します。そして忘れずに Sync Now ボタンを押下してDirectory情報を取り込みます。

    Directory SyncによるSingle Sign-On用Groupの取り込み (1/3)

    Directory SyncによるSingle Sign-On用Groupの取り込み (2/3)

    Directory SyncによるSingle Sign-On用Groupの取り込み (3/3)

SAMLの設定

Duo Security側のSAMLの設定

  • Duo SecurityのAdmin Panelからメニュー: Applications > Protect an Application を開きます。Application: MerakiProtect ボタンを押下します。
    本記事の執筆時点 (2022年09月頃)で MerakiMeraki RADIUS VPN があるため混同しないように留意してください。

    Application: Meraki

  • Meraki Dashboard側へ連携が必要な X.509 cert SHA1 fingerprintSLO logout URL の情報を控えてください。

    Duo Security側で X.509 cert SHA1 fingerprint と SLO logout URL の情報の確認

Meraki Dashboard側のSAMLの設定

  • Meraki Dashboardからメニュー: Organization > Settings を開きます。

    • Authentication セクションより SAML SSOSAML SSO enabled にします。

      SAML SSO enabled

    • Add a SAML IdP を押下して、IdPであるDuo Securityから提示される情報を入力していきます。

      Add a SAML IdP

      下記のイメージ図のように入力していきます。また、項目の並び順がDuo SecurityとMeraki Dashboardで異なるので注意してください。

      Duo Security側からMeraki Dashboard側への設定情報の連携

      • Meraki Dashboard側の X.509 cert SHA1 fingerprint に Duo Security側の X.509 cert SHA1 fingerprint の情報を貼り付けます。

        Meraki Dashboard側の X.509 cert SHA1 fingerprint

      • Meraki Dashboard側の SLO logout URL (optional) に Duo Security側の SLO logout URL の情報を貼り付けます。

        Meraki Dashboard側の SLO logout URL (optional)

      • Save ボタンを押下して設定を保存すると Consumer URLConsumer URL (Vision) が発行されて表示されます。

        Consumer URLと Consumer URL (Vision) の発行

  • Duo SecurityのAdmin Panelに戻って Service Provider セクションの Consumer URLMeraki Dashboard側で発行された Consumer URL を貼り付けます。
    補足: Cunsumer URL (Vision) の方はMeraki Vision Portal用のURLになるため、Meraki Dashboard用のURLと混同しないように留意してください。

    Meraki Dashboard側からDuo Security側への設定情報の連携

    Duo Security側の Consumer URL

Roleの設定

Meraki Dashboard側のRoleの設定

  • Meraki Dashboard側でメニュー: Organization > Administrators を開きます。

    • Add SAML role ボタンを押下します。本記事では下記の表のように設定して保存しています。

      Role Organization access
      Admin Full
      ReadOnly Read-only

      Role名称はDuo Security側の設定と一致させる必要があります。

      SAML roleの設定例 (1/3)

      SAML roleの設定例 (2/3)

      SAML roleの設定例 (3/3)

Duo Security側のRoleの設定

  • Duo SecurityのAdmin Panelに戻って、Role attributes セクションの設定を行います。
    Meraki RoleMeraki Dashboard側で指定したRole名称を入力して、その権限に対応するGroupを Duo Groupsマッピングします。 本記事では下記の表のように設定しています。

    Meraki Role Duo groups 備考
    Admin Meraki_Admin_Group Full 権限を持たせるGroupを指定します。
    ReadOnly Meraki_ReadOnly_Group Read-only 権限を持たせるGroupを指定します。

    Role attributesの設定例

  • 設定が完了したら Save ボタンを押下して設定の保存を忘れないようにしてください。

    Save ボタン

Duo CentralへのTileの表示

  • Duo SecurityのAdmin Panelのメニュー: Single Sign-On > Duo Central より Tiles タブを開きます。Add tile ボタンを押下します。

    Duo CentralへのTileの追加

  • What do you want to add to Duo Cntral? のポップアップでは Add application tile ボタンを押下します。

    Application Tileの選択

  • 先に設定したApplication: Meraki (デフォルト名称: Meraki - Single Sign-On)のチェック ボックスにチェックを入れて Add tile ボタンを押下します。

    Application Tileの追加設定の反映

Duo CentralからのMeraki DashboardへのSingle Sign-Onの確認

  • Duo CentralにアクセスしてTileが表示されるのを確認します。

    Duo Central上でのTileの表示

  • Application: Meraki (デフォルト名称: Meraki - Single Sign-On)のTileを押下して、Meraki DashboardにSingle Sign-Onできるのを確認します。

    Meraki DashboardへのSingle Sign-On

関連ドキュメント

documentation.meraki.com