Azure AD の CBA では、認証バインドの設定として「単一要素認証」と「多要素認証」を選択することができます。
CBA を使用した多要素認証については、次のドキュメントでも触れられています。
CBA の多要素認証の設定が何を表しているのかが理解できていなかったので、本投稿でメモを残しておきたいと思います。
Azure AD CBA の多要素認証の設定
Azure AD CBA の多要素認証の設定ですが、CBA とその他の認証を組み合わせた「複数認証方式を組み合わせた認証についての設定ではない」ということがポイントになるかと思います。
上述の画像の認証バインドの設定ですが、「CBA による認証を実施した場合にどの認証要件で認証されたとするか」を制御する設定となるようです。
「保護レベル」に設定した設定が CBA で認証を実施した場合の「認証の要件」の動作のデフォルトとなります。デフォルトは「単一要素認証」となっています。
保護レベルを「多要素認証」を設定した場合は、CBA を使用して認証をした場合は、証明書を使用した単一要素の認証を多要素認証を実施したものとして取り扱うことができるようになります。
動作を確認した範囲では「条件付きアクセスポリシー」と組み合わせて活用する機会が多い設定になるのではと感じました。
条件付きアクセスポリシーで「多要素認証を要求する」のポリシーが適用されている場合は、多要素認証による認証を行う必要が出てきます。
これを CBA で実現する場合は、次のいずれかの設定が必要となるようでした。
- 「保護レベル」を単一要素認証にし、「規則の追加」で多要素認証となるルールを追加する
- CBA のデフォルトの動作は単一要素認証となるが、規則の追加で指定した条件の証明書の場合は多要素認証となる
- 「保護レベル」を多要素認証にする
- CBA のデフォルトの動作が多要素認証となるため、規則の追加をしなくても CBA によるすべての認証が多要素認証となる
「保護レベル」の設定は CBA で認証された際に、どのような認証の要件で認証されたものとして取り扱うかを制御し、「規則の追加」を使用することで、保護レベルで指定した認証の要件以外を認識させるための条件を指定することができるのがポイントとなるかと思います。
条件付きアクセスポリシーで多要素認証を強制しているユーザーで CBA による認証が単一要素認証として認識される設定となっている場合は、次のようなエラーとなります。
検証を実施する場合は、次の設定が行われているユーザーを作成しておくとよいかと思います。
- 条件付きアクセスポリシーで Azure ポータルへのアクセスを多要素認証が必須としたユーザーを設定
- CBA を有効にしたユーザーを設定
- CBA の認証バインドを単一要素認証に設定
これで上記の画像のエラーを発生させることができますので、それをどのようにして緩和させることができるかを検証していくとよいのではないでしょうか。
ポリシー OID を使用した保護レベルの制御を行うための証明書の作成
CBA の規則の追加では、証明書の発行者とポリシー OID (証明書のポリシー) を使用することができます。
証明のポリシーを証明書に追加するための設定については、次の情報が参考となります。
設定は次のようになります。
- エンタープライズ CA を使用する場合
- 拡張機能の発行ポリシーを編集
- 追加 -> 新規から名前 / オブジェクトの識別子 (OID) を指定
- CBA のポリシー OID で指定する識別子を指定
- スタンドアロン CA を使用する場合
- 次のような設定を証明書要求の INF ファイルで設定
[PolicyStatementExtension]
Policies=CBAPolicy
[CBAPolicy]
OID=1.2.3.4.5
このような設定を使用することで、CBA の規則で使用する OID を証明書に含めることができます。
これらの情報を把握しておけば CBA の多要素認証の検証を進めることができるかと思います。
CBA の多要素認証の設定は「CBA による認証を多要素認証が使用されたと認識させるための設定」となっていることを把握して置くのがポイントとなりそうですね。