はじめに
このドキュメントでは、EAP-TLSまたはTEAPを使用したAzure ADグループメンバーシップに基づいてISEで認証ポリシーを設定し、トラブルシューティングする方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Identity Services Engine(ISE)
- Microsoft Azure AD、サブスクリプション、およびアプリ
- EAP-TLS CA1 を関連付けます
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- 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から返されたユーザーの属性に対して評価されます。
注:次に示すように、Graph API権限を設定し、Microsoft AzureのISEアプリケーションに付与する必要があります。
コンフィギュレーション
ISE 設定
注:ISEとAzure ADの間のROPC機能および統合については、このドキュメントでは扱いません。グループとユーザー属性をAzureから追加することが重要です。設定ガイドここを参照してください。
証明書認証プロファイルの設定
ステップ 1: 移動先 Menuアイコン を選択し、 Administration > Identity Management > External Identity sourcesの順に選択します。
ステップ 2: 選択 証明書認証 プロファイルをクリックし、 追加.
ステップ 3: 名前を定義し、 IDストア [Not applicable]として、Subject - Common Name onを選択します。 IDの使用元 フィールドの URL のみが置換されます。マッチ時に選択しない アイデンティティストアの証明書に対するクライアント証明書 フィールドの URL のみが置換されます。
ステップ 4: クリック 保存します。
ステップ 5: 移動先 Menuアイコン を選択し、 Policy > Policy Setsの順に選択します。
手順 6: プラス記号を選択します アイコンをクリックして新しいポリシーセットを作成します。名前を定義し、条件としてWireless 802.1xまたはwired 802.1xを選択します。この例では、Default Network Accessオプションを使用しています
手順 7: 矢印を選択します デフォルトのネットワークアクセスの横に表示され、認証および認可ポリシーを設定します。
ステップ 8: Authentication Policyオプションを選択し、名前を定義して、EAP-TLSをNetwork Access EAPAuthenticationとして追加します。認証プロトコルとしてTEAPが使用されている場合、TEAPをNetwork Access EAPTunnelとして追加できます。ステップ3で作成した証明書認証プロファイルを選択し、 保存します。を参照。
ステップ 9: [承認ポリシー]オプションを選択し、名前を定義して、Azure ADグループまたはユーザー属性を条件として追加します。「結果」でプロファイルまたはセキュリティグループを選択し、ユースケースに応じて、 保存します。を参照。
ユーザ設定.
認証ルールで使用されるADグループメンバーシップとユーザー属性を取得するには、ユーザー証明書のサブジェクト共通名(CN)がAzure側のユーザープリンシパル名(UPN)と一致している必要があります。認証が成功するためには、ルートCAおよび中間CA証明書がISE信頼ストアに存在する必要があります。
確認
ISEの検証
Cisco ISE GUIで、Menuアイコンをクリックします を選択して
「詳細」列の拡大鏡アイコンをクリックして詳細な認証レポートを表示し、フローが期待どおりに機能するかどうかを確認します。
- 認証/認可ポリシーの確認
- 認証方式/プロトコル
- 証明書から取得されたユーザのサブジェクト名
- Azureディレクトリから取得されたユーザーグループおよびその他の属性
トラブルシュート
ISEでのデバッグの有効化
移動先 Administration > System > Logging > Debug Log Configuration 次のコンポーネントを指定したレベルに設定します。
ノード |
コンポーネント名 |
ログ レベル |
ログファイル名 |
PSN |
rest-id-store(REST-IDストア) |
デバッグ |
rest-id-store.logを参照してください。 |
PSN |
ランタイムAAA |
デバッグ |
prrt-server.log(サーバのIPアドレス) |
注:トラブルシューティングが終了したら、必ずデバッグをリセットしてください。これを行うには、関連するノードを選択し、 「デフォルトにリセット」をクリックします。
ログのスニペット
次の抜粋は、「ネットワークダイアグラム」セクションで前述したように、フローの最後の2つのフェーズを示しています。
- ISEは証明書のサブジェクト名(CN)を取得し、Azure Graph APIを参照してそのユーザのグループやその他の属性を取得します。これは、Azure側ではユーザープリンシパル名(UPN)と呼ばれます。
- ISE認証ポリシーは、Azureから返されたユーザーの属性に対して評価されます。
Rest-idログ:
Prrtログ: