この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、リソース所有者のパスワードクレデンシャルを使用してREST Identityサービスを通じて実装されるCisco ISE 3.0とAzure ADの統合について説明します。
このドキュメントでは、リソース所有者パスワードクレデンシャル(ROPC)を使用して、Representational State Transfer(REST)ID(ID)サービスを介して実装されたMicrosoft(MS)Azure Active Directory(AD)とのIdentity Services Engine(ISE)3.0の統合を設定およびトラブルシューティングする方法について説明します。
次の項目に関する基本的な知識が推奨されます。
ISE
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
ISE REST ID機能は、ISE 3.0(REST Auth Service)で導入された新しいサービスに基づいています。このサービスは、ユーザー認証とグループ取得を実行するために、オープン認証(OAuth) ROPC交換を介してAzure ADと通信します。 REST認証サービスはデフォルトで無効になっており、管理者が有効にすると、導入環境内のすべてのISEノードで実行されます。 ユーザ認証時にクラウドとのREST Auth Service通信が発生するため、パスの遅延によって認証/認可フローに追加の遅延が発生します。この遅延はISEの制御外であり、REST認証の実装は、他のISEサービスへの影響を避けるために慎重に計画およびテストする必要があります。
1. Azureクラウド管理者が新しいアプリケーション(アプリ)登録を作成します。このアプリの詳細は、後でAzure ADとの接続を確立するためにISEで使用されます。
2. Azureクラウド管理者は、次の項目でアプリを構成する必要があります:
3. ISE管理者がREST認証サービスを有効にします。他のアクションを実行する前に行う必要があります。
4.変更は構成データベースに書き込まれ、ISE環境全体でレプリケートされます。
5. REST認証サービスがすべてのノードで開始されます。
6. ISE管理者が、手順2の詳細を使用してREST IDストアを設定します。
7.変更は設定データベースに書き込まれ、ISE環境全体で複製されます。
8. ISE管理者が新しいIDストアシーケンスを作成するか、既存の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
tab.
b. Advanced settingsセクションを見つけます。
c.選択Yes
for:アプリケーションをパブリッククライアントとして処理します。
d.Save
をクリックして、クエリーを実行します。
10. Add group claims
アプリケーションに追加します。
図 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タイプのGroupを探します。
b. Group.Read.All
を参照。
c. Add permissions
をクリックして、クエリーを実行します。
注:ユーザーグループデータは、さまざまなAPIアクセス許可を使用して、さまざまな方法でAzure ADからフェッチできます。この例で説明する方法は、Cisco TACラボで成功することがわかっています。Azure AD管理者が推奨する場合は、他のAPIアクセス許可を使用します。
16. Grant admin consent
を参照してください。
図 17.
17.管理者の許可同意を確認します。
図 18.
この時点で、Azure AD側で完全に構成された統合を検討できます。
1. ID管理の設定に移動します。
図 19.
移動先 Administration > Identity Management> Settings
を参照。
2. REST IDサービスを有効にします(デフォルトでは無効)。
図 20.
移動先 REST ID Store Settings
REST IDストア設定のステータスを変更して、 Enable
,then 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. 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. EAP-TTLSと同等のEAPトンネルを定義して、REST IDストアに転送する必要がある試行と一致させます。
b. REST IDストア内で直接またはIdentity Store Sequenceを選択します。これは、Use列に含まれています。
個々の承認ポリシー内では、Azure ADの外部グループをEAPトンネルタイプと共に使用できます。
図 28.
VPNベースのフローの場合は、tunnel-group名を差別化要因として使用できます。
認証ポリシー:
許可ポリシー:
図 29.
このセクションでは、設定が正常に動作していることを確認します。
1. REST Auth Serviceが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認証サービスの開始方法を示しています。
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.
ISE 3.0では、REST ID機能の制御された導入により、そのデバッグはデフォルトで有効になっています。すべてのREST ID関連のログは、CLIで表示できるROPCファイルに保存されます。
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 |
初版 |