Duo SecurityでDuo Centralの認証ソースとしてAzure Active Directory (Azure AD)を使用する場合の設定手順を紹介します。 認証連携が行われる都合で関連要素が多いため、重要な要素は個別に解説を入れております。
- 設定対象の範囲 (本記事のスコープ)
- 事前設定
- Usernameの正規化
- Duo CentralとUsersの登録
- 設定作業時の注意点
- 事前準備
- Duo Centralの設定
- Duo Centralの有効化とログイン確認
- 運用面の考慮
- 関連ドキュメント
設定対象の範囲 (本記事のスコープ)
Duo Centralの認証ソースとしてAzure ADを使用する設定を行ったうえで、Duo Centralを有効化してログイン確認までを行います。
Duo Centralから先のApplicationにアクセスする設定は、Application固有の設定が多くなってしまうため本記事では対象外にしております。
事前設定
本記事の環境は、Directory SyncでAzure ADのDirectory情報を予め取り込んでいます。
Duo Centralへの認証が通るとUsersに自動的に登録される挙動はありますが、Azure ADのアカウントの所属Groupの情報までは登録できないためDirectory Syncも併用しています。詳細は後述します。
Usernameの正規化
Duo Securityの Users
にAzure ADのアカウントを取り込む際に、Usernameを正規化する設定がDirectory SyncとDuo Centralの両方に存在します。
Directory Syncでの設定が Normalize usernames
であり、Duo Central (メニュー: Single Sign-On
)での設定が Username normalization
となります。
設定値によっては、メール アドレス形式のアカウント情報が正規化されてUsername部分のみがDuo Securityの Users
に登録されます。
Directory SyncとDuo Centralで取り込み箇所が分かれてしまっているため、相反する設定を行うと1つのアカウント情報から2つのUserとして登録されてしまうケースが存在します。
そのため、設計にて Users
への取り込み方針を予め決めておいてください。
Duo CentralとUsersの登録
Duo Centralにログインしたアカウントは、Duo Securityの Users
に登録されます。注意点としてGroupには紐付かない点が重要になります。
具体的には、Meraki DashboardへのSingle Sign-Onの設定を例にすると、Applicationの設定でRoleとGroupをマッピングする必要が出てきます。 そのため、Azure ADによってDuo CentralへのSingle Sign-Onが許可されていて実際にDuo Centralにログインできるものの、その先のApplicationにはGroupにマッピングされていないためSinge Sign-Onが出来ないケースが発生します。
本記事では上述のケースを避けるために、事前にDirectory SyncでAzure ADからDirectory情報を取り込んでいます。
設定作業時の注意点
Duo SecurityのAdmin Panel
とAzure ADのAzure Portal
を行き来する場面があるため、どちらの管理コンソールから設定作業を行っているのかを意識するようにしてください。事前設定も行っていると、Enterprise Applicationが
Directory Sync (Azure AD)
とDuo Central
の2つの用途で存在するようになるため設定対象を間違えないように注意してください。
Directory Sync (Azure AD)
の方はDuo Azure AD Sync
の名称ですが、本記事で扱うDuo Central
は任意の名称で作成します。 本記事ではDuo Central
向けのEnterprise Applicationはドキュメントの例に則ってDuo SSO
の名称にしております。
事前準備
Duo SecurityのSingle Sign-On画面 (Duo Central)にログイン可能にするGroupを予め作成しておきます。
本記事では
Dou_SSO_Group
として作成しておきます。設定項目 設定値 備考 Group type Security Group name Duo_SSO_Group 任意の名称を設定します。 Group description Duo Signle Sign-On Group 任意の説明を設定します。 Members 任意のUserを指定 任意のUserを指定しておきます。
Duo Centralの設定
Duo Central向けのEnterprise Applicationの作成
Duo SecurityのAdmin Panelからメニュー:
Single Sign-On
を開きます。Privacy Statement と Duo’s Privacy Data Sheet を読んだ上で同意するのであれば、チェック ボックスにチェックを入れてActivate and Start Setup
を押下します。Customize your SSO subdomain
を設定します。Trial中の場合は設定できないためComplete later
を押下します。Azure ADを認証ソース (Authentication Source)とするため
Add SAML Identity Provider
ボタンを押下します。SAML Identity Provider Configuration
の設定画面が表示されます。Azure Portalの
Azure Active Directory
からManage
セクションのEnterprise applications
を開きます。Enterprise applications
の設定画面でNew application
ボタンを押下して、Duo SecurityのSingle Sign-On向けのEnterprise Applicationを作成していきます。Create your own application
ボタンを押下します。What's the name of your app?
にDuo SecurityのSingle Sign-Onの設定である旨を判別できる任意の名称を入力します。本記事では公式ドキュメントの設定名の例と合わせてDuo SSO
としています。What are you looking to do with your application?
にはIntegrate any other application you don't find in the gallery (Non-gallery)
を選択します。
先に作成したEnterprise Application (本記事では
Duo SSO
)のManage
セクションのUsers and groups
を開きます。Add user/group
ボタンを押下して、Duo SecurityのSingle Sign-On画面 (Duo Central)にログイン可能にするUserやGroupを追加します。
本記事では事前に作成していたDou_SSO_Group
のGroupを追加しています。
Enterprise ApplicationのSingle sign-onの設定
Enterprise Applicationの
Manage
セクションのSingle sign-on
を開きます。Select a single sign-on method
にSAML
を選択します。
Basic SAML Configuration の設定
Basic SAML Configuration
のEdit
ボタンを押下します。Duo Security側の情報を参照しながらAzure AD側に設定を行います。Duo Security側に表示されている
Entity ID
を、Azure AD側のIdentifier (Entity ID)
に貼り付けます。Duo Security側に表示されている
Assertion Consumer Service URL
を Azure AD側のReply URL (Assertion Consumer Service URL)
に張り付けます。表に表すと対応関係は下記のようになります。
Duo Security側の表示項目 Azure AD側の設定項目 Entity ID Identifier (Entity ID) Assertion Consumer Service URL Reply URL (Assertion Consumer Service URL) 設定が完了したら
Save
ボタンを押下して設定の保存を忘れないようにしてください。
Attributes & Claims の設定
Attributes & Claims
のEdit
ボタンを押下します。Additional claims
の設定を行います。Add new claim
ボタンを押下します。Manage claim
の設定画面にて下記の設定を順にAdditional claims
に追加していきます。下記以外のデフォルトで存在するAdditional claims
は削除しておきます。Name Source Source attribute Email Attribute user.mail Username Attribute user.userprincipalname FirstName Attribute user.givenname LastName Attribute user.surname DisplayName Attribute user.displayname Manage claim
の設定画面での設定箇所は下記の画面キャプチャの箇所を参考にしてください。設定が全て完了した状態では下記の画面キャプチャのようになります。
証明書 (SAML Certificates)とメタ データ (Set up Duo SSO)の設定
Enterprise Applicationの
Manage
セクションのSingle sign-on
を開き直します。SAML Certificates
のCertificate (Base64)
からDownload
を押下して証明書を保存します。
備考: 必要に応じてSAML Certificates
のEdit
ボタンから証明書の有効期限を調整しておきます。証明書ファイルは後の手順でDuo Security側にアップロードします。
Azure AD側の
Set up Duo SSO
(Duo SSOの部分はEnterprise Application名)に表示されているメタ データの情報をDuo Security側に貼り付けます。Azure AD側に表示されている
Login URL
を、Duo Security側のSingle Sign-On URL
に貼り付けます。Azure AD側に表示されている
Azure AD Identifier
を、Duo Security側のEntity ID
に貼り付けます。補足: Duo Security側の
Single Logout URL
とLogout Redirect UR
は空のままにしておきます。表に表すと対応関係は下記のようになります。
Azure AD側の表示項目 Duo Security側の設定項目 Login URL Single Sign-On URL Azure AD Identifier Entity ID
Azure AD側からダウンロードしておいた証明書 (
Certificate (Base64)
)を、Duo Security側のCertificate
にアップロードします。Display Name
を任意の名称に変更します。本記事ではAzure AD
に変更しています。環境に応じて
Username normalization
の設定の変更が必要になります。
Directory情報をUsername形式 (例: alice) で取り込んでいる場合はSimple
(デフォルト値)のままにしておきます。しかし、メール アドレス形式 (例: alice@mycorp.test)で取り込んでいる場合はNone
を指定します。設定が完了したら
Save
ボタンを押下して設定の保存を忘れないようにしてください。
Duo Centralの有効化とログイン確認
メニュー:
Single Sign-On > Duo Central
を開いてGet Started
ボタンを押下します。Activate the Universal Prompt for Duo Central
のポップアップはActivate Now
ボタンを押下します。Stats: Offline
の横にあるスライド バーを押下してOnline
に変更します。Are you sure you want to put Duo Central online?
のポップアップはYes. put it online
ボタンを押下します。
備考: このタイミングでInternet上からDuo Centralへアクセスが可能になります。検証環境などで脆弱なパスワードが放置されているような環境では、気軽に有効化しないように注意してください。メニュー:
Single Sign-On > Duo Central
よりConfiguration & Policy
タブを開くと、Duo CentralのURL が表示されます。Duo Centralへログインが可能であるかを確認してください。
運用面の考慮
設定したら終わりではない点があるため、筆者が気になった運用面の考慮を書き留めておきます。
Enterprise Applicationで証明書 (SAML Certificates)を発行しているため、証明書の期限と更新の管理を怠らないように注意してください。
Enterprise Applicationには、Duo CentralからのSingle Sign-Onを許可するUserやGroupを設定しておく必要があるため、人事異動などでUserやGroupに変更が起きる場合の考慮を忘れないようにしてください。
関連ドキュメント
主に SAML のセクションを参照してください。