この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、リソース所有者のパスワードクレデンシャルを使用してREST Identityサービスを通じて実装されるAzure ADとのCisco ISE 3.0の統合について説明します。
このドキュメントでは、リソース所有者のパスワード資格情報(ROPC)を使用して、Representational State Transfer(REST)ID(ID)サービスを介して実装されたIdentity Services Engine(ISE)3.0とMicrosoft(MS)Azure Active Directory(AD)の統合を設定し、トラブルシューティングする方法について説明します。
次の項目に関する基本的な知識が推奨されます。
ISE
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
ISE REST ID機能は、ISE 3.0 - REST Auth Serviceで導入された新しいサービスに基づいています。このサービスは、ユーザー認証とグループ取得を実行するためにOpen Authorization (OAuth) ROPC交換を介してAzure ADと通信する役割を担います。 REST認証サービスはデフォルトで無効になっており、管理者が有効にすると、導入環境内のすべてのISEノードで実行されます。 ユーザ認証時にクラウドとのREST Auth Service通信が発生するため、パスの遅延によって認証/認可フローにさらに遅延が発生します。この遅延はISEの制御外です。他のISEサービスへの影響を避けるために、REST認証の実装は慎重に計画およびテストする必要があります。
1. Azureクラウド管理者が新しいアプリケーション(アプリ)登録を作成します。このアプリの詳細は、後でAzure ADとの接続を確立するためにISEで使用されます。
2. Azureクラウド管理者は、アプリを次のように構成する必要があります:
3. ISE管理者がREST認証サービスを有効にします。他のアクションを実行する前に行う必要があります。
4. 変更は構成データベースに書き込まれ、ISE導入全体でレプリケートされます。
5. REST認証サービスがすべてのノードで開始されます。
6. ISE管理者が、手順2の詳細を使用してREST IDストアを設定します。
7. 変更は構成データベースに書き込まれ、ISE導入全体でレプリケートされます。
8. ISE管理者は、新しいIDストアシーケンスを作成するか、既存のシーケンスを変更して、認証/認可ポリシーを設定します。
9. 変更は構成データベースに書き込まれ、ISE導入全体でレプリケートされます。
10. エンドポイントが認証を開始します。ROPCプロトコル仕様に従って、暗号化されたHTTP接続を介してMicrosoft IDプラットフォームにクリアテキストでユーザパスワードを提供する必要があります。この事実により、現在ISEでサポートされている使用可能な認証オプションは次の通りだけです。
11. Radius上のISEポリシーサービスノード(PSN)との交換。
12. プロセスランタイム(PrRT)は、内部APIを介して、ユーザの詳細(ユーザ名/パスワード)を含む要求をREST IDサービスに送信します。
13. REST IDサービスは、HyperText Transfer Protocol Secure (HTTPS)経由でOAuth ROPC要求をAzure ADに送信します。
14. Azure ADはユーザー認証を実行し、ユーザーグループを取得します。
15. 認証/認可の結果がISEに返される。
ポイント15の後、認証結果とフェッチされたグループがPrRTに返されます。これには、ポリシー評価フローが含まれ、最終的な認証/認可結果が割り当てられます。許可プロファイルからの属性を持つアクセス承認(ACL)またはネットワークアクセスデバイス(NAD)に返されたアクセス拒否。
1. 図に示すように、AppRegistration Serviceを見つけます。
図 2:
a.グローバル検索バーに「AppRegistration」と入力します。
b. App registration serviceをクリックします。
2. 新しいアプリ登録を作成します。
図 3:
3. 新しいアプリを登録します。
図 4:
a.アプリの名前を定義します。
b.新しいアプリケーションを使用できるアカウントを定義します。
c.登録ボタンを押します。
4. Certificate & secretsに移動します。
図 5.
5.図に示すようにNew client secret
を作成します。
図 6.
6.図に示すようにclient secret
を設定します。
図 7
a.新しいシークレットの説明を定義します。
b.有効期限を選択します。
c.ボタンをクリックしますAdd
。
7. シークレット値をコピーして保存します(後で統合設定時にISEで使用する必要があります)。
図 8.
8.Overview
タブに戻り、App ID
をコピーします。
図 9.
9. アプリのROPCを有効にします。
図 10
a.Authentication
タブに移動します。
b. Advanced settingsセクションを見つけます。
c. SelectYes
for – アプリケーションをパブリッククライアントとして扱います。
d.ボタンをクリックしますSave
。
10. Add group claims
をAppにコピーします。
図 11
a. Token configurationに移動します。
b.オンにするには – Add groups claim
を押します。
11. 追加が必要なグループ・タイプの定義
図 12.
a. Select - All groupsを選択します。
b.ボタンをクリックしますAdd
。
12. API permissions
を追加します。
図 13.
a. API permissions
に移動します。
b. Add permission
をクリックします。
13.Microsoft Graph
権限を追加します。
図 14.
14. Application permissions
を追加します。
図 15.
15.Group.Read.All
権限の追加。
図 16.
a. APIタイプの検索:グループ。
b. Group.Read.All
を選択します。
c. Add permissions
ボタンをクリックします。
注:ユーザーグループのデータは、さまざまなAPIアクセス許可を使用してAzure ADから複数の方法でフェッチできます。この例で説明されている方法は、Cisco TACラボで成功することがわかっています。Azure AD管理者が推奨する場合は、他のAPIアクセス許可を使用します。
16. Grant admin consent
(API権限の場合)
図 17.
17. 管理者の同意の付与を確認します。
図 18.
この時点で、Azure AD側で完全に構成された統合を検討できます。
1. ID管理の設定に移動します。
図 19.
Administration > Identity Management> Settings
に移動します。
2. REST IDサービスを有効にします(デフォルトでは無効)。
図 20.
REST ID Store SettingsのステータスをREST ID Store Settings
に移動して変更し、Enable
を実行してSubmit
変更します。
3. REST IDストアを作成します。
図 21.
External Identity Sources
タブに切り替え、REST (ROPC)
のサブタブをクリックし、Addをクリックします。
4. REST IDストアを構成します。
図 22.
a. IDストア名を定義します。この名前は後で、認可ポリシーを設定するときにISEディクショナリのリストに表示されます。また、この名前は、認証ポリシー設定で使用可能なIDストアのリストと、IDストアシーケンス設定で使用可能なIDストアのリストにも表示されます。
b.クライアントIDを指定します(Azure AD統合構成セクションの手順8.でAzure ADから取得)。
c.クライアントシークレットを指定します(Azure AD統合構成セクションの手順7.でAzure ADから取得)。
d.テナントIDを指定します(Azure AD統合構成セクションの手順8.でAzure ADから取得)。
e.ユーザ名Sufixを設定する:デフォルトで、ISE PSNはエンドユーザが指定したユーザ名を使用します。これはsAMAccountName形式(短いユーザ名、たとえばbob)で指定します。この場合、Azure ADはユーザを見つけることができません。 Username Sufixは、ユーザ名をUPN形式にするためにユーザが指定するユーザ名に追加される値です。
注:ROPCは認証時にユーザ名属性に依存するため、ユーザ認証に限定されます。Azure ADのデバイスオブジェクトにはUsername属性がありません。
f. ISEが提供されたアプリの詳細を使用してAzure ADとの接続を確立できることを確認するには、[接続のテスト]を押します。
g. [Load Groups]を押して、Azure ADで使用可能なグループをREST IDストアに追加します。次の例は、管理エクスペリエンスの仕組みを示しています。
注:グループがロードされない原因となる不具合Cisco Bug ID CSCvx00345に注意してください。この不具合は、ISE 3.0パッチ2で修正されています。
図 23.
h.変更を送信します。
5. このステップでは、新しく作成されたREST IDストアを含む新しいIDストアシーケンスの作成を検討します。
6. 認証ポリシーに割り当てられたREST IDストアまたはIDストアシーケンスを含む時点で、次の図に示すように、プロセス失敗のデフォルトアクションをDROPからREJECTに変更します。
図 24.
a. REST IDストアを使用する認証ポリシーを見つけます。
b. 「オプション」ドロップダウン・リストを開きます。
c. 「Process Failed from DROP」のデフォルトアクションを「REJECT」に変更します。
これは、REST IDストア内で次のような特定の障害が発生した際に、NAD側でデッドとマークされたPSNを回避するために必要です。
7. REST IDストアディクショナリを許可ポリシーに追加します。
図 25.
a. 「すべての辞書」ドロップダウンリストを開きます。
b. REST IDストアと同じ方法で、という名前のディクショナリを検索します。
8. 外部IDグループの追加(ISE 3.0の時点では、REST IDストアのディクショナリで使用可能な属性は外部グループのみです)。
図 26.
Dot1x認証の場合は、図に示すように、ネットワークアクセス辞書からのEAPトンネル条件を使用して、EAP-TTLS試行を照合できます。
図 27.
a. REST IDストアに転送する必要がある試行と一致するように、EAP Tunnel EQUAL to EAP-TTLSを定義します。
b. REST IDストア内で直接選択するか、「使用」列に含まれる「アイデンティティストアシーケンス」を選択します。
個々の承認ポリシーの内部では、Azure ADからの外部グループをEAPトンネルタイプと共に使用できます。
図 28.
VPNベースのフローでは、tunnel-groupの名前を差別化要因として使用できます。
認証ポリシー:
許可ポリシー:
図 29.
このセクションでは、設定が正常に動作していることを確認します。
1. REST認証サービスがISEノードで実行されていることを確認します。
これを確認するには、ターゲットISEノードのセキュアシェル(SSH)シェルでshow application status iseコマンドを実行する必要があります。
skuchere-ise30-1/admin# show application status ise
ISE PROCESS NAME STATE PROCESS ID
--------------------------------------------------------------------
Database Listener running 101790
Database Server running 92 PROCESSES
Application Server running 39355
Profiler Database running 107909
ISE Indexing Engine running 115132
AD Connector running 116376
M&T Session Database running 107694
M&T Log Processor running 112553
Certificate Authority Service running 116226
EST Service running 119875
SXP Engine Service disabled
Docker Daemon running 104217
TC-NAC Service disabled
pxGrid Infrastructure Service disabled
pxGrid Publisher Subscriber Service disabled
pxGrid Connection Manager disabled
pxGrid Controller disabled
PassiveID WMI Service disabled
PassiveID Syslog Service disabled
PassiveID API Service disabled
PassiveID Agent Service disabled
PassiveID Endpoint Service disabled
PassiveID SPAN Service disabled
DHCP Server (dhcpd) disabled
DNS Server (named) disabled
ISE Messaging Service running 104876
ISE API Gateway Database Service running 106853
ISE API Gateway Service running 110426
Segmentation Policy Service disabled
REST Auth Service running 63052
SSE Connector disabled
2. 認証時にREST IDストアが使用されていることを確認します(詳細な認証レポートの「手順」の項を参照)。
a. PSNは、選択されたREST IDストアで平文認証を開始します。
b. Azureクラウドとの接続が確立されました。
c.実際の認証ステップ – ここで提示されている遅延値に注意してください。Aure Cloudでのすべての認証が大幅な遅延によって困難になる場合は、他のISEフローに影響が及び、その結果、ISE導入全体が不安定になります。
d.認証が成功したことを確認します。
ホ。回答に提示したグループデータの確認
f.ユーザグループデータが入力されたセッションコンテキストISEセッション管理プロセスの詳細については、この記事のリンクを参照してください。
3. expect Authentication/Authorizationポリシーが選択されていることを確認します(詳細な認証レポートのこの調査の概要セクションについて)。
図 30.
このセクションでは、設定のトラブルシューティングに役立つ情報を説明します。
REST認証サービスの問題をトラブルシューティングするには、まずADE.logファイルを確認する必要があります。サポートバンドルの場所:/support/adeos/ade
REST認証サービスの検索キーワードは、ROPC-controlです。
次の例は、REST Auth Serviceの開始方法を示しています。
2020-08-30T11:15:38.624197+02:00 skuchere-ise30-1 admin: info:[application:operation:ROPC-control.sh] Starting
2020-08-30T11:15:39.217794+02:00 skuchere-ise30-1 admin: info:[application:operation:ROPC-control.sh] inside docker_image_exists
2020-08-30T11:15:39.290301+02:00 skuchere-ise30-1 admin: info:[application:operation:ROPC-control.sh] Image exist with ID =
2020-08-30T11:15:39.291858+02:00 skuchere-ise30-1 admin: info:[application:operation:ROPC-control.sh] Docker image doesn't exist
2020-08-30T11:15:39.293768+02:00 skuchere-ise30-1 admin: info:[application:operation:ROPC-control.sh] Load docker image ROPC
2020-08-30T11:15:39.359490+02:00 skuchere-ise30-1 admin: info:[application:operation:ROPC-control.sh] Error: No such image: ROPC
2020-08-30T11:15:42.789242+02:00 skuchere-ise30-1 admin: info:[application:operation:ROPC-control.sh] Loaded image: ROPC:latest
2020-08-30T11:15:42.830411+02:00 skuchere-ise30-1 admin: info:[application:operation:ROPC-control.sh] Docker image ROPC successfully loaded.
2020-08-30T11:15:42.832131+02:00 skuchere-ise30-1 admin: info:[application:operation:ROPC-control.sh] Setting up REST Auth Service
2020-08-30T11:15:42.844051+02:00 skuchere-ise30-1 admin: info:[application:operation:ROPC-control.sh] inside docker_create_container
2020-08-30T11:15:53.479968+02:00 skuchere-ise30-1 admin: info:[application:operation:ROPC-control.sh] Copying binaries to the docker container...
2020-08-30T11:15:55.325973+02:00 skuchere-ise30-1 admin: info:[application:operation:ROPC-control.sh] Container run status false
2020-08-30T11:15:57.103245+02:00 skuchere-ise30-1 admin: info:[application:operation:ROPC-control.sh] Container run status true
2020-08-30T11:15:57.105752+02:00 skuchere-ise30-1 admin: info:[application:operation:ROPC-control.sh] Creating ROPC pid file
2020-08-30T11:15:57.278374+02:00 skuchere-ise30-1 admin: info:[application:operation:ROPC-control.sh] Container run status true
サービスの開始に失敗した場合や、予期せずにダウンした場合は、問題のあるタイムフレームをADE.logで確認することから始めるのが常に理にかなっています。
REST IDストアを使用する際に認証に失敗した場合は、必ず詳細な認証レポートから開始する必要があります。[その他の属性]領域に、Azureクラウドによって返されたエラーを含むセクションRestAuthErrorMsgが表示されます。
図 31.
REST ID機能の制御された導入により、ISE 3.0では、この機能のデバッグがデフォルトで有効になっています。REST ID関連のログはすべてROPCファイルに保存され、CLIで確認できます。
skuchere-ise30-1/admin# sh logging application | i ropc
755573 Oct 04 2020 09:10:29 ropc/ropc.log
skuchere-ise30-1/admin# sh logging application ropc/ropc.log
23:49:31.449 [http-nio-9601-exec-6] DEBUG c.c.i.r.c.ROPCController - Starting ROPC auth flow
23:49:31.788 [http-nio-9601-exec-6] DEBUG c.c.i.r.u.ScimUtility - Found user and pass in the SCIM filter
パッチがインストールされたISE 3.0で、ファイル名がropc.logではなくrest-id-store.logであることに注意してください。上記の検索例は、フォルダ名が変更されていないため機能します。
または、これらのファイルをISEサポートバンドルから抽出することもできます。
次に、動作シナリオと非動作シナリオを示すログの例をいくつか示します。
1. Azure GraphがISEノードによって信頼されていない場合に証明書エラーが発生しました。このエラーは、グループがREST IDストア設定でロードされない場合に発生することがあります。
20:44:54.420 [http-nio-9601-exec-7] DEBUG c.c.i.r.u.HttpClientWrapper - Start proxy load for URI 'https://graph.microsoft.com/v1.0/groups'
20:44:54.805 [http-nio-9601-exec-7] ERROR c.c.i.r.p.a.AzureIdentityProviderFacade - Couldn't fetch application groups, REST error
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1946)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:316)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:310)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1639)
この問題は、Microsoft Graph API証明書がISEで信頼されていないことを示しています。ISE 3.0.0.458では、信頼できるストアにDigiCertグローバルルートG2 CAがインストールされていません。この問題は不具合に記載されています
- Cisco Bug ID CSCvv80297:この問題を解決するには、DigiCert Global Root G2 CAをISE信頼ストアにインストールし、シスコサービスに対して信頼できるものとしてマークする必要があります。
証明書は、https://www.digicert.com/kb/digicert-root-certificates.htmからダウンロードできます。
2. アプリケーションシークレットが正しくありません。
10:57:53.200 [http-nio-9601-exec-1] DEBUG c.c.i.r.e.c.CertificateCache - SSLContext initialized with trust managers
10:57:54.205 [http-nio-9601-exec-1] ERROR c.c.i.r.u.RestUtility - Error response in 'POST' request. Status - '401'. Error - '{"error":"invalid_client","error_description":"AADSTS7000215: Invalid client secret is provided.\r\nTrace ID: 99cc29f7-502a-4aaa-b2cf-1daeb071b900\r\nCorrelation ID: a697714b-5ab2-4bd1-8896-f9ad40d625e5\r\nTimestamp: 2020-09-29 09:01:36Z","error_codes":[7000215],"timestamp":"2020-09-29 09:01:36Z","trace_id":"99cc29f7-502a-4aaa-b2cf-1daeb071b900","correlation_id":"a697714b-5ab2-4bd1-8896-f9ad40d625e5","error_uri":"https://login.microsoftonline.com/error?code=7000215"}'
10:57:54.206 [http-nio-9601-exec-1] ERROR c.c.i.r.c.ROPCController - Request related Error
com.cisco.ise.ROPC.entities.exceptions.InvalidApplicationAuthException: AADSTS7000215: Invalid client secret is provided.
Trace ID: 99cc29f7-502a-4aaa-b2cf-1daeb071b900
Correlation ID: a697714b-5ab2-4bd1-8896-f9ad40d625e5
Timestamp: 2020-09-29 09:01:36Z - Error Codes: [7000215]
at com.cisco.ise.ROPC.providers.azure.AzureIdentityProviderFacade.authenticateApplication(AzureIdentityProviderFacade.java:117)
3. アプリIDが正しくありません。
21:34:36.090 [http-nio-9601-exec-4] DEBUG c.c.i.r.e.c.CertificateCache - SSLContext initialized with trust managers
21:34:36.878 [http-nio-9601-exec-4] ERROR c.c.i.r.u.RestUtility - Error response in 'POST' request. Status - '400'. Error - '{"error":"unauthorized_client","error_description":"AADSTS700016: Application with identifier '825aab1f-be45-4d53-92fe-bb756' was not found in the directory '83cc4b2c-c608-4563-b6bd-dc8e83977ff6'. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You have sent your authentication request to the wrong tenant.\r\nTrace ID: 6dbd0fdd-0128-4ea8-b06a-5e78f37c0100\r\nCorrelation ID: eced0c34-fcc1-40b9-b033-70e5abe75985\r\nTimestamp: 2020-08-31 19:38:34Z","error_codes":[700016],"timestamp":"2020-08-31 19:38:34Z","trace_id":"6dbd0fdd-0128-4ea8-b06a-5e78f37c0100","correlation_id":"eced0c34-fcc1-40b9-b033-70e5abe75985","error_uri":"https://login.microsoftonline.com/error?code=700016"}'
21:34:36.879 [http-nio-9601-exec-4] ERROR c.c.i.r.c.ROPCController - Request related Error
com.cisco.ise.ROPC.entities.exceptions.InvalidApplicationAuthException: AADSTS700016: Application with identifier '825aab1f-be45-4d53-92fe-bb756' was not found in the directory '83cc4b2c-c608-4563-b6bd-dc8e83977ff6'. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You have sent your authentication request to the wrong tenant.
Trace ID: 6dbd0fdd-0128-4ea8-b06a-5e78f37c0100
Correlation ID: eced0c34-fcc1-40b9-b033-70e5abe75985
Timestamp: 2020-08-31 19:38:34Z - Error Codes: [700016]
4. ユーザーが見つかりません。
10:43:01.351 [http-nio-9601-exec-2] ERROR c.c.i.r.u.RestUtility - Error response in 'POST' request. Status - '400'. Error - '{"error":"invalid_grant","error_description":"AADSTS50034: The user account bob does not exist in the 83cc4b2c-c608-4563-b6bd-dc8e83977ff6 directory. To sign into this application, the account must be added to the directory.\r\nTrace ID: 9417a19e-66f8-4887-ab7a-a9ee268b1a00\r\nCorrelation ID: df3722ff-cd29-4ea2-98fc-fff0117a8db9\r\nTimestamp: 2020-08-31 08:46:57Z","error_codes":[50034],"timestamp":"2020-08-31 08:46:57Z","trace_id":"9417a19e-66f8-4887-ab7a-a9ee268b1a00","correlation_id":"df3722ff-cd29-4ea2-98fc-fff0117a8db9","error_uri":"https://login.microsoftonline.com/error?code=50034"}'
10:43:01.352 [http-nio-9601-exec-2] ERROR c.c.i.r.c.ROPCController - Request related Error
com.cisco.ise.ROPC.entities.exceptions.ROPCResponseErrorException: {"error":"invalid_grant","error_description":"AADSTS50034: The user account bob does not exist in the 83cc4b2c-c608-4563-b6bd-dc8e83977ff6 directory. To sign into this application, the account must be added to the directory.\r\nTrace ID: 9417a19e-66f8-4887-ab7a-a9ee268b1a00\r\nCorrelation ID: df3722ff-cd29-4ea2-98fc-fff0117a8db9\r\nTimestamp: 2020-08-31 08:46:57Z","error_codes":[50034],"timestamp":"2020-08-31 08:46:57Z","trace_id":"9417a19e-66f8-4887-ab7a-a9ee268b1a00","correlation_id":"df3722ff-cd29-4ea2-98fc-fff0117a8db9","error_uri":"https://login.microsoftonline.com/error?code=50034"}
at com.cisco.ise.ROPC.providers.azure.AzureIdentityProviderFacade.authenticateUser(AzureIdentityProviderFacade.java:87)
at com.cisco.ise.ROPC.providers.azure.AzureROPCFlow.authenticateUser(AzureROPCFlow.java:100)
at com.cisco.ise.ROPC.providers.azure.AzureROPCFlow.doEntireFlow(AzureROPCFlow.java:69)
at com.cisco.ise.ROPC.controllers.ROPCController.ROPCAuthFlow(ROPCController.java:168)
at com.cisco.ise.ROPC.controllers.ROPCController.get(ROPCController.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
5. ユーザーパスワードの期限切れ – 通常、Azure管理者によって定義されたパスワードはOffice365へのログイン時に変更する必要があるため、新しく作成されたユーザーで発生する可能性があります。
10:50:55.096 [http-nio-9601-exec-4] ERROR c.c.i.r.u.RestUtility - Error response in 'POST' request. Status - '401'. Error - '{"error":"invalid_grant","error_description":"AADSTS50055: The password is expired.\r\nTrace ID: 776120b2-9687-4f88-bf93-822a4d019c00\r\nCorrelation ID: 5defbdc6-3a7f-425f-91e9-ba3c10fcc410\r\nTimestamp: 2020-08-31 08:54:51Z","error_codes":[50055],"timestamp":"2020-08-31 08:54:51Z","trace_id":"776120b2-9687-4f88-bf93-822a4d019c00","correlation_id":"5defbdc6-3a7f-425f-91e9-ba3c10fcc410","error_uri":"https://login.microsoftonline.com/error?code=50055","suberror":"user_password_expired"}'
10:50:55.097 [http-nio-9601-exec-4] ERROR c.c.i.r.c.ROPCController - Request related Error
com.cisco.ise.ROPC.entities.exceptions.ROPCResponseErrorException: {"error":"invalid_grant","error_description":"AADSTS50055: The password is expired.\r\nTrace ID: 776120b2-9687-4f88-bf93-822a4d019c00\r\nCorrelation ID: 5defbdc6-3a7f-425f-91e9-ba3c10fcc410\r\nTimestamp: 2020-08-31 08:54:51Z","error_codes":[50055],"timestamp":"2020-08-31 08:54:51Z","trace_id":"776120b2-9687-4f88-bf93-822a4d019c00","correlation_id":"5defbdc6-3a7f-425f-91e9-ba3c10fcc410","error_uri":"https://login.microsoftonline.com/error?code=50055","suberror":"user_password_expired"}
at com.cisco.ise.ROPC.providers.azure.AzureIdentityProviderFacade.authenticateUser(AzureIdentityProviderFacade.java:87)
at com.cisco.ise.ROPC.providers.azure.AzureROPCFlow.authenticateUser(AzureROPCFlow.java:100)
at com.cisco.ise.ROPC.providers.azure.AzureROPCFlow.doEntireFlow(AzureROPCFlow.java:69)
at com.cisco.ise.ROPC.controllers.ROPCController.ROPCAuthFlow(ROPCController.java:168)
at com.cisco.ise.ROPC.controllers.ROPCController.get(ROPCController.java:85)
at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
6. APIアクセス許可が正しくないため、グループを読み込めません。
12:40:06.624 [http-nio-9601-exec-9] ERROR c.c.i.r.u.RestUtility - Error response in 'GET' request. Status - '403'. Error - '{
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"date": "2020-08-30T10:43:59",
"request-id": "da458fa4-cc8a-4ae8-9720-b5370ad45297"
}
}
}'
7. ROPCがAzure側で許可されていない場合、認証が失敗します。
11:23:10.824 [http-nio-9601-exec-2] DEBUG c.c.i.r.e.c.CertificateCache - SSLContext initialized with trust managers
11:23:11.776 [http-nio-9601-exec-2] ERROR c.c.i.r.u.RestUtility - Error response in 'POST' request. Status - '401'. Error - '{"error":"invalid_client","error_description":"AADSTS7000218: The request body must contain the parameter: 'client_assertion' or 'client_secret'.\r\nTrace ID: 856d1ced-06c3-4446-a856-813789579b00\r\nCorrelation ID: b0a9cb82-4f37-46b3-abf5-361d8ce34094\r\nTimestamp: 2020-08-31 09:27:08Z","error_codes":[7000218],"timestamp":"2020-08-31 09:27:08Z","trace_id":"856d1ced-06c3-4446-a856-813789579b00","correlation_id":"b0a9cb82-4f37-46b3-abf5-361d8ce34094","error_uri":"https://login.microsoftonline.com/error?code=7000218"}'
11:23:11.777 [http-nio-9601-exec-2] ERROR c.c.i.r.c.ROPCController - Request related Error
com.cisco.ise.ROPC.entities.exceptions.ROPCResponseErrorException: {"error":"invalid_client","error_description":"AADSTS7000218: The request body must contain the parameter: 'client_assertion' or 'client_secret'.\r\nTrace ID: 856d1ced-06c3-4446-a856-813789579b00\r\nCorrelation ID: b0a9cb82-4f37-46b3-abf5-361d8ce34094\r\nTimestamp: 2020-08-31 09:27:08Z","error_codes":[7000218],"timestamp":"2020-08-31 09:27:08Z","trace_id":"856d1ced-06c3-4446-a856-813789579b00","correlation_id":"b0a9cb82-4f37-46b3-abf5-361d8ce34094","error_uri":"https://login.microsoftonline.com/error?code=7000218"}
at com.cisco.ise.ROPC.providers.azure.AzureIdentityProviderFacade.authenticateUser(AzureIdentityProviderFacade.java:87)
at com.cisco.ise.ROPC.providers.azure.AzureROPCFlow.authenticateUser(AzureROPCFlow.java:100)
at com.cisco.ise.ROPC.providers.azure.AzureROPCFlow.doEntireFlow(AzureROPCFlow.java:69)
at com.cisco.ise.ROPC.controllers.ROPCController.ROPCAuthFlow(ROPCController.java:168)
at com.cisco.ise.ROPC.controllers.ROPCController.get(ROPCController.java:85)
at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
8. ユーザーがAzure側のどのグループにも属していないため、認証に失敗しました。
21:54:55.976 [http-nio-9601-exec-5] DEBUG c.c.i.r.e.c.CertificateCache - SSLContext initialized with trust managers
21:54:57.312 [http-nio-9601-exec-5] ERROR c.c.i.r.p.a.AzureROPCFlow - Missing claims in the id token: "name" or "groups"
21:54:57.313 [http-nio-9601-exec-5] ERROR c.c.i.r.c.ROPCController - Server Error
com.cisco.ise.ROPC.entities.exceptions.JsonParseException: Json exception: Missing claims in the id token: "name" or "groups"
at com.cisco.ise.ROPC.providers.azure.AzureROPCFlow.validateIdTokenPayload(AzureROPCFlow.java:93)
9. ユーザー認証とグループ取得が成功しました。
11:46:03.035 [http-nio-9601-exec-7] DEBUG c.c.i.r.c.ROPCController - Starting ROPC auth flow
11:46:03.037 [http-nio-9601-exec-7] DEBUG c.c.i.r.u.ScimUtility - Found user and pass in the SCIM filter
11:46:03.037 [http-nio-9601-exec-7] DEBUG c.c.i.r.c.ROPCController - Getting the right ROPC handler for the request IDPType AZURE
11:46:03.037 [http-nio-9601-exec-7] DEBUG c.c.i.r.c.ROPCController - Getting user groups from handler
11:46:03.038 [http-nio-9601-exec-7] DEBUG c.c.i.r.u.HttpClientWrapper - Start building http client
11:46:03.039 [http-nio-9601-exec-7] DEBUG c.c.i.r.u.HttpClientWrapper - Start proxy load for URI 'https://login.microsoftonline.com/83cc4b2c-c608-4563-b6bd-dc8e83977ff6/oauth2/v2.0/token'
11:46:03.039 [http-nio-9601-exec-7] DEBUG c.c.i.r.u.HttpClientWrapper - Start check if host is bypass
11:46:03.039 [http-nio-9601-exec-7] DEBUG c.c.i.r.u.HttpClientWrapper - Iterating bypass hosts '192.168.1.10,10.201.228.98,10.62.145.72,172.16.201.204,172.16.201.203' to find host 'login.microsoftonline.com'
11:46:03.040 [http-nio-9601-exec-7] DEBUG c.c.i.r.u.HttpClientWrapper - Proxy server found with address '192.168.255.40' and port '8080', load to httpclient
11:46:03.040 [http-nio-9601-exec-7] DEBUG c.c.i.r.u.HttpClientWrapper - Start adding proxy credentials to builder
11:46:03.040 [http-nio-9601-exec-7] DEBUG c.c.i.r.u.HttpClientWrapper - No credentials found for proxy
11:46:03.040 [http-nio-9601-exec-7] DEBUG c.c.i.r.e.c.CertificateCache - Created SSLContext with TLSv1.2 algorithm
11:46:03.041 [http-nio-9601-exec-7] DEBUG c.c.i.r.e.c.CertificateCache - SSLContext initialized with trust managers
11:46:04.160 [http-nio-9601-exec-7] DEBUG c.c.i.r.c.ROPCController - The ROPCHandlerResponse is: {
"schemas" : [ "urn:ietf:params:scim:schemas:core:2.0:User" ],
"userName" : "username",
"name" : {
"formatted" : "bob"
},
"displayName" : "bob",
"groups" : [ {
"value" : "17db2c79-fb87-4027-ae13-88eb5467f25b"
} ],
"roles" : [ ]
}
改定 | 発行日 | コメント |
---|---|---|
2.0 |
10-Jan-2023 |
再認定 |
1.0 |
27-Oct-2020 |
初版 |