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のDashboardから Global Administrator
のRoleを持つAzureのアカウントで認証を行い、その過程で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は不要になります。
Azureのアカウントの観点
ドキュメント上では Global Administrator
のRoleを用いる旨が記載されていますが、筆者が検証した限りではEnterprise Applicationの作成権限を持っている Cloud Application Administrator
と Application Administrator
のRoleでも認証が通って設定ができました。
ただ、無用なトラブルを避けるためにドキュメントに従った方が好ましいと思われます。
- 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への直接リンクも併記しておきます。
Global Administrator Role: https://docs.microsoft.com/en-us/azure/active-directory/roles/permissions-reference#global-administrator
Cloud Application Administrator Role: https://docs.microsoft.com/en-us/azure/active-directory/roles/permissions-reference#cloud-application-administrator
Application Administrator Role: https://docs.microsoft.com/en-us/azure/active-directory/roles/permissions-reference#application-administrator
検証時の環境情報
Azureは
Azure AD Premium P2
のライセンスで確認を行っております。Duo Securityは
D249
のRelease時期に検証を行っております。
設定手順
Azure AD側で取り込み対象のGroupの用意
Azure Portalから
Azure Active Directory
のManage
セクションからGroups
を開いて、取り込み対象のGroupを用意しておいてください。
Azure AD側で認証用アカウントに対するRoleの設定
Azure Portalから
Azure Active Directory
のManage
セクションからUsers
を開いて、Users
画面のAll users
からDirectory Syncの認証に用いるアカウントの設定画面に入ります。対象アカウントの
Manage
セクションからAssigned roles
を開いて、Add assignments
ボタンを押下します。
Membership
タブのSelect role
でGlobal Administrator
を指定します。
備考: 筆者の検証時は、Cloud Application Administrator
とApplication Administrator
のRoleでも認証が通って設定ができましたが、ドキュメント通りに設定するのであればGlobal Administrator
となります。Setting
タブでAssignment type
にActive
を指定します。有効期限の設定は適宜調整してください。Enter justification
にはRoleを割り当てる意図の正当な理由 (Justification)を記載します。Roleが割り当たると
Active assignments
タブに表示されます。
Duo Security側でのDirectory Syncの設定
メニュー:
Users > Directory Sync
へ移動して、Azure Active Directory
タブでAdd New Azure Active Directory Sync
ボタンを押下します。Add new connection
を選択してContinue
ボタンを押下します。Micrososftのログイン画面にリダイレクトされます。
Global Administrator
のRoleを持つAzureのアカウントで認証を行います。- Azureのアカウントに適切なRoleがある場合は、Enterprise Application:
Duo Azure AD Sync
に対する権限の要求を許可するか問われます。内容に問題なければAccept
ボタンを押下します。
- Azureのアカウントに適切なRoleがない場合は、
Need admin approval
のメッセージが表示されます。
- Azureのアカウントに適切なRoleがある場合は、Enterprise Application:
Azureのアカウントの認証が完了したらDirectory Syncの設定画面に戻されます。
Normalize usernames
の設定を適宜変更します。
Normalize usernames
にチェックを入れると Username 形式で取り込まれます。筆者はメール アドレスの形式で取り込みを行いたかったためチェックを外しています。Selected Groups
で取り込み対象のGroupを指定します。Save
ボタンを押下して設定を保存するのを忘れないようにしてください。Directory情報の同期処理を即時的に行うために
Sync directory
セクションにあるSync Now
ボタンを押下します。成功すると画面上部にDirectory updated successfully.
のメッセージが表示されます。メニュー:
Groups
にて取り込まれたGroup情報が確認できます。Description
列にAzureのテナントから取り込まれている旨の情報が表示されます。メニュー:
Users
にてGroupに紐付いて取り込まれたUser情報が確認できます。
設定時の実務面の考慮
Directory Syncを行うにはDuo SecurityとAzure ADの両方で作業が必要になるため、実務面では設定作業の調整が必要になります。
特にAzureのアカウントの Global Administrator
のRoleは大きな権限を有しているため、セキュリティ的に簡単に権限を渡せるものではないと思われます。
そのため、Directory Syncの設定にあたり、Roleの有効期間を持たせる方法や、Roleの一時割り当てから削除までを極力短くするために作業タイミングを合わせる方法が想定されます。
Roleに有効期間を持たせるケース
Roleの割り当て時に有効期間が指定可能です。