はじめに
このドキュメントでは、EAP-TLSまたはTEAPを使用したAzure ADグループメンバーシップに基づいてISEで認証ポリシーを設定し、トラブルシューティングする方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Identity Services Engine(ISE)
- Microsoft Azure AD、サブスクリプション、およびアプリ
- EAP-TLS 認証
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- Cisco ISE 3.2
- Microsoft Azure AD
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
ISE 3.0では、ISEとAzure Active Directory (AAD)の統合を活用して、リソース所有者のパスワード資格情報(ROPC)通信を通じて、Azure ADグループと属性に基づいてユーザーを認証することができます。ISE 3.2では、証明書ベースの認証を設定でき、Azure ADグループメンバーシップやその他の属性に基づいてユーザを認証できます。ISEは、Graph APIを使用してAzureにクエリし、認証されたユーザのグループと属性を取得します。ISEは、Azure側のユーザプリンシパル名(UPN)に対して証明書のサブジェクトの共通名(CN)を使用します。
注:証明書ベースの認証は、内部方式としてEAP-TLSまたはEAP-TLSを使用したTEAPのいずれかを使用できます。次に、Azure Active Directoryから属性を選択し、Cisco ISEディクショナリに追加できます。これらの属性は許可に使用できます。ユーザ認証のみがサポートされます。
設定
ネットワーク図
次の図は、ネットワークダイアグラムとトラフィックフローの例を示しています。

手順
- 証明書は、内部方式としてEAP-TLSを使用してEAP-TLSまたはTEAPを介してISEに送信されます。
- ISEは、ユーザの証明書(有効期間、信頼できるCA、CRLなど)を評価します。
- ISEは証明書のサブジェクト名(CN)を取得し、Microsoft Graph APIを検索して、そのユーザのグループおよびその他の属性を取得します。これは、Azure側ではユーザープリンシパル名(UPN)と呼ばれます。
- ISE認証ポリシーは、Azureから返されたユーザーの属性に対して評価されます。
注:次に示すように、Microsoft AzureのISEアプリにGraph API権限を設定して付与する必要があります。

コンフィギュレーション
ISE 設定
注:ISEとAzure ADの間のROPC機能および統合については、このドキュメントでは説明しません。グループとユーザー属性をAzureから追加することが重要です。『設定ガイド』を参照してください。
証明書認証プロファイルの設定
ステップ 1:メニューアイコンに移動します
左上隅にあるAdministration > Identity Management > External Identity sourcesの順に選択します。
ステップ 2:Certificate Authentication Profileを選択し、Addをクリックします。
ステップ 3:名前を定義します。Identity Storeを[Not applicable]に設定し、Use Identity FromフィールドでSubject - Common Nameを選択します。Never on Match Client Certificate against Certificate in Identity Storeフィールドを選択します。

ステップ 4:Saveをクリックします。

ステップ 5:メニューアイコンに移動します
左上隅にあるPolicy > Policy Setsの順に選択します。
手順 6:プラス記号を選択します
アイコンをクリックして新しいポリシーセットを作成します。名前を定義し、条件としてワイヤレス802.1xまたは有線802.1xを選択します。この例では、Default Network Accessオプションを使用しています。

手順 7:矢印を選択します
デフォルトのネットワークアクセスの横に表示され、認証および認可ポリシーを設定できます。
ステップ 8:Authentication Policyオプションを選択し、名前を定義して、EAP-TLSをNetwork Access EAPAuthenticationとして追加します。TEAPが認証プロトコルとして使用される場合、TEAPをNetwork Access EAPTunnelとして追加できます。ステップ3で作成したCertificate Authentication Profileを選択し、Saveをクリックします。

ステップ 9:[承認ポリシー]オプションを選択し、名前を定義して、Azure ADグループまたはユーザー属性を条件として追加します。ユースケースに応じて、「結果」からプロファイルまたはセキュリティグループを選択し、保存をクリックします。

ユーザ設定
認証ルールで使用されるADグループメンバーシップとユーザー属性を取得するには、ユーザー証明書のサブジェクトの共通名(CN)がAzure側のユーザープリンシパル名(UPN)と一致する必要があります。認証を成功させるには、ルートCAおよび中間CA証明書がISE信頼ストアに存在する必要があります。


確認
ISEの検証
Cisco ISE GUIで、Menuアイコンをクリックします
> > for network authentications (RADIUS)の順に選択します。

詳細の認証レポートを表示してフローが予想どおりに動作するかどうかを確認するには、「詳細」列の拡大鏡アイコンをクリックします。
- 認証/認可ポリシーを確認します。
- 認証方式/プロトコル。
- 証明書から取得されたユーザのサブジェクト名。
- Azureディレクトリからフェッチされたユーザーグループおよびその他の属性。


トラブルシュート
ISEでのデバッグの有効化
Administration > System > Logging > Debug Log Configurationの順に移動し、次のコンポーネントを指定したレベルに設定します。
|
ノード
|
コンポーネント名
|
ログ レベル
|
ログファイル名
|
|
PSN
|
rest-id-store
|
デバッグ
|
rest-id-store.log(保存)
|
|
PSN
|
ランタイムAAA
|
デバッグ
|
prrt-server.logファイル
|
注:トラブルシューティングが終了したら、必ずデバッグをリセットしてください。これを行うには、関連するノードを選択して、Reset to Defaultをクリックします。
ログのスニペット
次の抜粋は、「ネットワークダイアグラム」セクションで前述したように、フローの最後の2つのフェーズを示しています。
- ISEは証明書のサブジェクト名(CN)を取得し、Azure Graph APIを参照してそのユーザのグループやその他の属性を取得します。これは、Azure側ではユーザープリンシパル名(UPN)と呼ばれます。
- ISE認証ポリシーは、Azureから返されたユーザー属性に対して評価されます。
Rest-idログ:

Prrtログ:
