My Home NW Lab

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

Duo SecurityでAzure ADのDirectory情報を取り込む

Duo SecurityからAzure Active Directory (Azure AD)のDirectory情報を取り込む際の技術要素や設定方法を整理しました。

概要

最初にDuo SecurityとAzure ADの技術要素を整理します。

端的に設定の流れを表現すれば、Duo SecurityのDashboardからAzure ADに対してAzureの管理者アカウントで認証を行って、取り込み対象となるDirectory情報のGroupを指定すれば完了します。
しかしながら、セキュリティの最小権限の原則に基づいて設定するには、関係する技術要素を掘り下げてみる必要が出てきます。

Duo SecurityとAzure ADの関係性を下記のイメージ図に表現しました。特に意識が必要なのは、AzureにおけるアカウントのRoleとEnterprise Applicationになります。

Duo SecurityからAzure Active DirectoryへのDirectory Sync

Duo SecurityのDashboardから Global Administrator のRoleを持つAzureのアカウントで認証を行い、その過程でEnterprise Applicationの Duo Azure AD Sync が作成されます。

Enterprise Application: Duo Azure AD Sync の作成

AzureのEnterprise Applicationの観点

Enterprise Application: Duo Azure AD Syncの登録後は、Azureのアカウントの Global Administrator のRoleは不要になります。 Directory Syncの動作にMicrosoft Grpahの技術が用いられており、AzureのアカウントではなくEnterprise Application: Duo Azure AD Sync の権限でDirectory情報にアクセスできるようになるためRoleは不要になります。

Enterprise Application: Duo Azure AD Sync の権限の確認

Azureのアカウントの観点

ドキュメント上では Global Administrator のRoleを用いる旨が記載されていますが、筆者が検証した限りではEnterprise Applicationの作成権限を持っている Cloud Application AdministratorApplication Administrator のRoleでも認証が通って設定ができました。 ただ、無用なトラブルを避けるためにドキュメントに従った方が好ましいと思われます。

duo.com

  • A designated Azure admin service account to use for authorizing the sync. This account needs the Azure Global Administrator role during Duo setup, but you can reduce the service account's role privileges later. This service account may or may not require Azure MFA for admins at login (learn more about the baseline MFA policy for Azure admins).

Roleの権限の情報は下記のドキュメントに記載があります。Roleへの直接リンクも併記しておきます。

docs.microsoft.com

検証時の環境情報

  • Azureは Azure AD Premium P2 のライセンスで確認を行っております。

    検証時のAzure ADのライセンス

  • Duo Securityは D249 のRelease時期に検証を行っております。

    Duo SecurityのVersioning情報

設定手順

Azure AD側で取り込み対象のGroupの用意

  • Azure Portalから Azure Active DirectoryManage セクションから Groups を開いて、取り込み対象のGroupを用意しておいてください。

    Azure ADのGroupの設定

Azure AD側で認証用アカウントに対するRoleの設定

  • Azure Portalから Azure Active DirectoryManage セクションから Users を開いて、Users 画面の All users からDirectory Syncの認証に用いるアカウントの設定画面に入ります。

    Directory Syncの認証に用いるアカウントの選択

  • 対象アカウントの Manage セクションから Assigned roles を開いて、Add assignments ボタンを押下します。

Roleの割り当て画面への移動

  • Membership タブの Select roleGlobal Administrator を指定します。
    備考: 筆者の検証時は、Cloud Application AdministratorApplication Administrator のRoleでも認証が通って設定ができましたが、ドキュメント通りに設定するのであれば Global Administrator となります。

    Roleの指定

  • Setting タブで Assignment typeActive を指定します。有効期限の設定は適宜調整してください。Enter justification にはRoleを割り当てる意図の正当な理由 (Justification)を記載します。

    Roleの各種設定

  • Roleが割り当たると Active assignments タブに表示されます。

    Roleの割り当ての確認

Duo Security側でのDirectory Syncの設定

  • メニュー: Users > Directory Sync へ移動して、Azure Active Directory タブで Add New Azure Active Directory Sync ボタンを押下します。

    Directory Sync

  • Add new connection を選択して Continue ボタンを押下します。

    New Azure AD Sync

  • Micrososftのログイン画面にリダイレクトされます。Global Administrator のRoleを持つAzureのアカウントで認証を行います。

    Azureのアカウントによる認証

    • Azureのアカウントに適切なRoleがある場合は、Enterprise Application: Duo Azure AD Sync に対する権限の要求を許可するか問われます。内容に問題なければ Accept ボタンを押下します。

    認証の成功時: Azureのアカウントに適切なRoleがある場合

    • Azureのアカウントに適切なRoleがない場合は、Need admin approval のメッセージが表示されます。

    認証の失敗時: Azureのアカウントに適切なRoleがない場合

  • Azureのアカウントの認証が完了したらDirectory Syncの設定画面に戻されます。

    認証完了時のDirectory Syncの設定画面

  • Normalize usernames の設定を適宜変更します。
    Normalize usernames にチェックを入れると Username 形式で取り込まれます。筆者はメール アドレスの形式で取り込みを行いたかったためチェックを外しています。

    Normalize usernames の設定

    Normalize usernamesの影響

  • Selected Groups で取り込み対象のGroupを指定します。Save ボタンを押下して設定を保存するのを忘れないようにしてください。

    取り込み対象のGroupの指定

  • Directory情報の同期処理を即時的に行うために Sync directory セクションにある Sync Now ボタンを押下します。成功すると画面上部に Directory updated successfully. のメッセージが表示されます。

    Directory情報の同期処理

  • メニュー: Groups にて取り込まれたGroup情報が確認できます。Description 列にAzureのテナントから取り込まれている旨の情報が表示されます。

    Group情報の確認

  • メニュー: Users にてGroupに紐付いて取り込まれたUser情報が確認できます。

    User情報の確認

設定時の実務面の考慮

Directory Syncを行うにはDuo SecurityとAzure ADの両方で作業が必要になるため、実務面では設定作業の調整が必要になります。 特にAzureのアカウントの Global Administrator のRoleは大きな権限を有しているため、セキュリティ的に簡単に権限を渡せるものではないと思われます。 そのため、Directory Syncの設定にあたり、Roleの有効期間を持たせる方法や、Roleの一時割り当てから削除までを極力短くするために作業タイミングを合わせる方法が想定されます。

Roleに有効期間を持たせるケース

Roleに有効期間を持たせるケース

Roleの割り当て時に有効期間が指定可能です。

Roleの有効期間の指定

作業タイミングの調整ケース

作業タイミングの調整ケース