目錄

簡介

必要條件

需求

採用元件

背景資訊

身份提供程式(IdP)

服務提供商(SP)

SAML

SAML斷言

高級流程圖

配置與Azure AD的SAML SSO整合

步驟 1.在ISE上配置SAML身份提供程式

1.將Azure AD配置為外部SAML標識源

2.配置ISE身份驗證方法

3.匯出服務提供商資訊

步驟 2.配置Azure AD IdP設定

1.建立Azure AD使用者

2.建立Azure AD組

3.將Azure AD使用者分配給組

4.建立Azure AD Enterprise應用程式

5.將組新增到應用程式

6.配置Azure AD Enterprise應用程式

7.配置Active Directory組屬性

8.下載Azure聯合後設資料XML檔案

步驟 3.將後設資料從Azure Active Directory上載到ISE

步驟 4.在ISE上配置SAML組

（可選）步驟5。配置RBAC策略

驗證

疑難排解

常見問題

排除ISE故障

包含SAML登入名和不匹配的組宣告名稱的日誌

簡介

本文檔介紹如何配置Cisco ISE 3.1 SAML SSO與外部身份提供程式(如Azure Active Directory(AD))的整合。

必要條件

需求

思科建議您瞭解以下主題：

1. Cisco ISE 3.1

2. SAML SSO部署

3. Azure AD

採用元件

本文中的資訊係根據以下軟體和硬體版本：

1. Cisco ISE 3.1

2. Azure AD

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

背景資訊

身份提供程式(IdP)

在此案例中，是Azure AD的授權驗證並宣告使用者身份以及對所請求資源（「服務提供商」）的訪問許可權。

服務提供商(SP)

使用者想要訪問的託管資源或服務，在本例中為ISE應用伺服器。

SAML

安全斷言標籤語言(SAML)是允許IdP向SP傳遞授權憑據的開放標準。

SAML事務使用可擴展標籤語言(XML)在身份提供者和服務提供商之間進行標準化通訊。

SAML是使用者身份身份驗證與授權之間用於使用服務的連結。

SAML斷言

SAML斷言是身份提供方傳送到包含使用者授權的服務提供方的XML文檔。

有三種不同型別的SAML斷言 — 身份驗證、屬性和授權決策。

- 身份驗證斷言可證明使用者的身份，並提供使用者登入的時間以及他們使用的身份驗證方法（例如，Kerberos，雙因素）

- 歸屬斷言將SAML屬性（提供有關使用者資訊的特定資料段）傳遞給服務提供商。

- 授權決策斷言宣告使用者是否被授權使用服務，或者如果標識提供者由於密碼失敗或缺少對服務的權利而拒絕他們的請求。

高級流程圖

SAML的工作方式是在身份提供程式、Azure AD和服務提供程式ISE之間傳遞有關使用者、登入和屬性的資訊。

每個使用者通過身份提供程式登入一次一次單點登入(SSO)，然後，當使用者嘗試訪問這些服務時，Azure AD提供程式將SAML屬性傳遞給ISE。

ISE從Azure AD請求授權和身份驗證，如下圖所示。

配置與Azure AD的SAML SSO整合

步驟 1.在ISE上配置SAML身份提供程式

1.將Azure AD配置為外部SAML標識源

在ISE上，導航到Administration > Identity Management > External Identity Sources > SAML Id Providers，然後點選Add按鈕。

輸入Id Provider Name，然後按一下Submit儲存它。Id Provider Name僅對ISE有效，如下圖所示。

2.配置ISE身份驗證方法

導航到Administration > System > Admin Access > Authentication > Authentication Method，然後選擇Password Based單選按鈕。

從Identity Source下拉選單中選擇先前建立的所需ID提供程式名稱，如下圖所示。

3.匯出服務提供商資訊

導航到Administration > Identity Management > External Identity Sources > SAML Id Providers > [您的SAML提供程式]。

將頁籤切換到Service Provider Info，然後按一下Export按鈕，如下圖所示。

下載.xml檔案並儲存。記下Location URL和entityID值。

<?xml version="1.0" encoding="UTF-8"?>

<md:EntityDescriptor entityID="http://CiscoISE/0049a2fd-7047-4d1d-8907-5a05a94ff5fd" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"><md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">

<md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol" WantAssertionsSigned="true" AuthnRequestsSigned="false">

<md:KeyDescriptor use="signing">

<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">

<ds:X509Data>

<ds:X509Certificate>

MIIFTjCCAzagAwIBAgINAg2amSlL6NAE8FY+tzANBgkqhkiG9w0BAQwFADAlMSMwIQYDVQQDExpT

QU1MX2lzZTMtMS0xOS5ja3VtYXIyLmNvbTAeFw0yMTA3MTkwMzI4MDBaFw0yNjA3MTgwMzI4MDBa

MCUxIzAhBgNVBAMTGlNBTUxfaXNlMy0xLTE5LmNrdW1hcjIuY29tMIICIjANBgkqhkiG9w0BAQEF

AAOCAg8AMIICCgKCAgEAvila4+SOuP3j037yCOXnHAzADupfqcgwcplJQnFxhVfnDdOixGRT8iaQ

1zdKhpwf/BsJeSznXyaPVxFcmMFHbmyt46gQ/jQQEyt7YhyohGOt1op01qDGwtOnWZGQ+ccvqXSL

Ge1HYdlDtE1LMEcGg1mCd56GfrDcJdX0cZJmiDzizyjGKDdPf+1VM5JHCo6UNLFlIFyPmGvcCXnt

NVqsYvxSzF038ciQqlm0sqrVrrYZuIUAXDWUNUg9pSGzHOFkSsZRPxrQh+3N5DEFFlMzybvm1FYu

9h83gL4WJWMizETO6Vs/D0p6BSf2MPxKe790R5TfxFqJD9DnYgCnHmGooVmnSSnDsAgWebvF1uhZ

nGGkH5ROgT7v3CDrdFtRoNYAT+YvO941KzFCSE0sshykGSjgVn31XQ5vgDH1PvqNaYs/PWiCvmI/

wYKSTn9/hn7JM1DqOR1PGEkVjg5WbxcViejMrrIzNrIciFNzlFuggaE8tC7uyuQZa2rcmTrXGWCl

sDU4uOvFpFvrcC/lavr9Fnx7LPwXaOasvJd19SPbD+qYgshz9AI/nIXaZdioHzEQwa8pkoNRBwjZ

ef+WFC9dWIy+ctbBT0+EM06Xj1aTI1bV80mN/6LhiS8g7KpFz4RN+ag1iu6pgZ5O58Zot9gqkpFw

kVS9vT4EOzwNGo7pQI8CAwEAAaN9MHswIAYDVR0RBBkwF4IVaXNlMy0xLTE5LmNrdW1hcjIuY29t

MAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgLsMB0GA1UdDgQWBBRIkY2z/9H9PpwSnOPGARCj5iaZ

oDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQEMBQADggIBAIE6mnBL

206Dkb6fHdgKd9goN8N2bj+34ybwxqvDSwGtn4NA6Hy1q7N6iJzAD/7soZfHgOT2UTgZpRF9FsHn

CGchSHqDt3bQ7g+GWlvcgreC7R46qenaonXVrltRw11vVIdCf8JQFFMxya/rIC4mxVeooOj1Fl9d

rvDBH+XVEt67DnQWkuLp8zPJUuqfa4H0vdm6oF3uBteO/pdUtEi6fObqrOwCyWd9Tjq7KXfd2ITW

hMxaFsv8wWcVuOMDPkP9xUwwt6gfH0bE5luT4EYVuuHiwMNGbZqgqb+a4uSkX/EfiDVoLSL6KI31

nf/341cuRTJUmDh9g2mppbBwOcxzoUxDm+HReSe+OJhRCyIJcOvUpdNmYC8cfAZuiV/e3wk0BLZM

lgV8FTVQSnra9LwHP/PgeNAPUcRPXSwaKE4rvjvMc0aS/iYdwZhZiJ8zBdIBanMv5mGu1nvTEt9K

EEwj9yslIHmdqoH3Em0F0gnzR0RvsMPbJxAoTFjfoITTMdQXNHhg+wlPOKXS2GCZ29vAM52d8ZCq

UrzOVxNHKWKwER/q1GgaWvh3X/G+z1shUQDrJcBdLcZI1WKUMa6XVDj18byhBM7pFGwg4z9YJZGF

/ncHcoxFY759LA+m7Brp7FFPiGCrPW8E0v7bUMSDmmg/53NoktfJ1CckaWE87myhimj0

</ds:X509Certificate>

</ds:X509Data>

</ds:KeyInfo>

</md:KeyDescriptor>

<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>

<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>

<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</md:NameIDFormat>

<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>

<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName</md:NameIDFormat>

<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos</md:NameIDFormat>

<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName</md:NameIDFormat>

<md:AssertionConsumerService index="0" Location="https://10.201.232.19:8443/portal/SSOLoginResponse.action" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/>

<md:AssertionConsumerService index="1" Location="https://ise3-1-19.onmicrosoft.com:8443/portal/SSOLoginResponse.action" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/>

</md:SPSSODescriptor>

</md:EntityDescriptor>

XML檔案中的相關屬性：

entityID="http://CiscoISE/100d02da-9457-41e8-87d7-0965b0714db2"

AssertionConsumerService Location="https://10.201.232.19:8443/portal/SSOLoginResponse.action"

AssertionConsumerService Location="https://ise3-1-19.onmicrosoft.com:8443/portal/SSOLoginResponse.action"

步驟 2.配置Azure AD IdP設定

1.建立Azure AD使用者

登入到Azure Active Directory管理中心儀表板，然後選擇AD，如下圖所示。

選擇Users，按一下New User，根據需要配置User name、Name和Initial Password。按一下「Create」，如下圖所示。

2.建立Azure AD組

選擇組。按一下New Group。

將組型別保留為Security。設定Group name，如下圖所示。

3.將Azure AD使用者分配給組

按一下No members selected。選擇使用者並按一下Select。按一下Create以建立已為其分配了User的組。

記下Group Object id，在此螢幕中，ISE管理組的編號為576c60ec-c0b6-4044-a8ec-d395b1475d6e，如下圖所示。

4.建立Azure AD Enterprise應用程式

在AD下，選擇Enterprise Applications，然後按一下New application。

選擇Create your own application。

輸入應用程式的名稱，然後選擇Integrate any other application you not found in the gallery(Non-gallery)單選按鈕，然後按一下Create按鈕，如下圖所示。

5.將組新增到應用程式

選擇Assign users and groups。

按一下Add user/group。

按一下Users and groups。

選擇先前配置的組，然後按一下選擇。

附註： 選擇獲得所需訪問許可權的正確使用者或組，因為此處提到的使用者和組在設定完成後即可獲得ISE訪問許可權。

選擇組後，按一下Assign。

因此，已配置應用程式的使用者和組選單會填充所選的組。

6.配置Azure AD Enterprise應用程式

導航回您的應用程式，然後單擊「設定單一登入」。

在下一個螢幕上選擇SAML。

按一下Basic SAML Configuration旁邊的Edit。

在步驟匯出服務提供商資訊中，使用XML檔案中的entityID值填充識別符號（實體ID）。使用AssertionConsumerService中的Locations值填充Reply URL(Assertion Consumer Service URL)。 按一下「Save」。

附註： 回覆URL用作傳遞清單，允許某些URL在重定向到IdP頁面時用作源。

7.配置Active Directory組屬性

要返回先前配置的組屬性值，請點選使用者屬性和宣告旁邊的編輯。

按一下Add a group claim。

選擇Security groups，然後按一下Save。 在Source attribute下拉選單中選擇Group ID。選中此覈取方塊可自定義組宣告的名稱，並輸入名稱Groups。

記下該組的申請名稱。在本例中，它是組。

8.下載Azure聯合後設資料XML檔案

在SAML簽名證書中，按一下Download on Federation Metadata XML。

步驟 3.將後設資料從Azure Active Directory上載到ISE

導航到Administration > Identity Management > External Identity Sources > SAML Id Providers > [您的SAML提供程式]。

將頁籤切換到Identity Provider Config，然後按一下Browse。從下載Azure聯合後設資料XML步驟中選擇聯合後設資料XML檔案，然後按一下儲存。

步驟 4.在ISE上配置SAML組

切換到頁籤Groups，並將Claim name的值從Configure Active Directory Group attribute 貼上到Group Membership Attribute中。

按一下「Add」。使用將Azure Active Directory使用者分配給組時捕獲的ISE管理組的組對象ID值填充Assertion中的Name。

使用下拉選單配置ISE中的名稱(Configure Name in ISE)，並在ISE上選擇適當的組。在本示例中，使用的組是Super Admin。按一下「OK」（確定）。按一下「Save」。

這將在Azure中的組和ISE上的組名稱之間建立對映。

（可選）步驟5。配置RBAC策略

在上一步中，可在ISE上配置許多不同型別的使用者訪問級別。

要編輯基於角色的訪問控制策略(RBAC)，請導航到Administration > System > Admin Access > Authorization > Permissions > RBAC Policies並根據需要進行配置。

此映像是對示例配置的引用。

驗證

確認您的組態是否正常運作。

附註： Azure測試功能中的SAML SSO登入測試無法正常工作。SAML請求必須由ISE啟動，Azure SAML SSO才能正常工作。

開啟ISE GUI登入提示螢幕。您將看到一個使用SAML登入的新選項。

1.訪問您的ISE GUI登入頁面，然後按一下使用SAML登入。

2.系統會將您重新導向至Microsoft登入螢幕。如圖所示，輸入對映到ISE的組內帳戶的使用者名稱憑證，然後按一下下一步，如圖所示。

3.輸入使用者的密碼，然後按一下登入。

4.現在您將重定向到ISE應用儀表板，該儀表板具有根據之前配置的ISE組配置的相應許可權，如圖所示。

疑難排解

本節提供的資訊可用於對組態進行疑難排解。

常見問題

瞭解在瀏覽器和Azure Active Directory之間處理SAML身份驗證至關重要。因此，您可以直接從身份提供程式(Azure)獲取與身份驗證相關的錯誤，其中ISE參與尚未啟動。

問題1.輸入憑證後出現「您的帳戶或密碼不正確」錯誤。此時，ISE尚未接收使用者資料，此時進程仍使用IdP(Azure)。

最可能的原因是帳戶資訊不正確或密碼不正確。若要修正：重設密碼或為該帳戶提供正確的密碼，如下圖所示。

問題2.使用者不屬於應該允許訪問SAML SSO的組。與前面的情況類似，ISE尚未收到使用者資料，此時進程仍採用IdP(Azure)。

要解決此問題：驗證Add group to the Application 配置步驟是否正確執行，如下圖所示。

第三期。ISE應用伺服器無法處理SAML登入請求。當從身份提供程式Azure而不是服務提供程式ISE啟動SAML請求時，會發生此問題。從Azure AD測試SSO登入不起作用，因為ISE不支援身份提供程式啟動的SAML請求。

第四期。ISE在登入嘗試後顯示「訪問被拒絕」錯誤。當早期在Azure企業應用程式中建立的組的宣告名稱在ISE中不匹配，則會發生此錯誤。

要解決此問題：確保Azure和ISE中「SAML身份提供程式組」頁籤下的組宣告名稱相同。有關詳細資訊，請參閱本文檔的使用Azure AD配置SAML SSO部分下的步驟2.7和4。

排除ISE故障

必須在ISE上更改此處的元件的日誌級別。導覽至Operations > Troubleshoot > Debug Wizard > Debug Log Configuration。

元件名稱

日誌級別

日誌檔名

門戶

偵錯

guest.log

opensaml

偵錯

ise-psc.log

saml

偵錯

ise-psc.log

包含SAML登入名和不匹配的組宣告名稱的日誌

顯示流執行時宣告名稱不匹配故障排除方案的一組調試(ise-psc.log)。

註：注意粗體項目。為了清楚起見，日誌被縮短了。

1.使用者從ISE管理員頁面重定向到IdP URL。

2021-07-29 13:48:20,709 INFO   [admin-http-pool46][] api.services.persistance.dao.DistributionDAO -::::- In DAO getRepository method for HostConfig Type: PDP

2021-07-29 13:48:20,712 INFO   [admin-http-pool46][] cpm.admin.infra.spring.ISEAdminControllerUtils -::::- Empty or null forwardStr for: https://10.201.232.19/admin/LoginAction.do

2021-07-29 13:48:20,839 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-7][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAMLUtils::isLoadBalancerConfigured() - LB NOT configured for: Azure

2021-07-29 13:48:20,839 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-7][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAMLUtils::isOracle() - checking whether IDP URL indicates that its OAM. IDP URL: https://login.microsoftonline.com/182900ec-e960-4340-bd20-e4522197ecf8/saml2

2021-07-29 13:48:20,839 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-7][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SPProviderId for Azure is: http://CiscoISE/0049a2fd-7047-4d1d-8907-5a05a94ff5fd

2021-07-29 13:48:20,839 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-7][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAML request - providerId (as found in IdP configuration):http://CiscoISE/0049a2fd-7047-4d1d-8907-5a05a94ff5fd

2021-07-29 13:48:20,839 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-7][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAML request - returnToId (relay state):_0049a2fd-7047-4d1d-8907-5a05a94ff5fd_DELIMITERportalId_EQUALS0049a2fd-7047-4d1d-8907-5a05a94ff5fd_SEMIportalSessionId_EQUALS8d41c437-1fe8-44e3-a954-e3a9a66af0a6_SEMItoken_EQUALSLEXIXO5CDPQVDV8OZWOLLEVYJK9FYPOT_SEMI_DELIMITER10.201.232.19

2021-07-29 13:48:20,839 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-7][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAML request - spUrlToReturnTo:https://10.201.232.19:8443/portal/SSOLoginResponse.action

2021-07-29 13:48:20,844 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-7][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAML Request:

2021-07-29 13:48:20,851 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-7][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- <?xml version="1.0" encoding="UTF-16"?><samlp:AuthnRequest AssertionConsumerServiceURL="https://10.201.232.19:8443/portal/SSOLoginResponse.action" ForceAuthn="false"

2.從瀏覽器接收SAML響應。

2021-07-29 13:48:27,172 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAML response - Relay State:_0049a2fd-7047-4d1d-8907-5a05a94ff5fd_DELIMITERportalId=0049a2fd-7047-4d1d-8907-5a05a94ff5fd;portalSessionId=8d41c437-1fe8-44e3-a954-e3a9a66af0a6;token=LEXIXO5CDPQVDV8OZWOLLEVYJK9FYPOT;_DELIMITER10.201.232.19

2021-07-29 13:48:27,172 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAML flow initiator PSN's Host name is:10.201.232.19

2021-07-29 13:48:27,172 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- Is redirect requiered: InitiatorPSN:10.201.232.19 This node's host name:ise3-1-19 LB:null request Server Name:10.201.232.19

2021-07-29 13:48:27,172 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- This node is the initiator (10.201.232.19) this node host name is:10.201.232.19

-::::- Decoded SAML relay state of: _0049a2fd-7047-4d1d-8907-5a05a94ff5fd_DELIMITERportalId_EQUALS0049a2fd-7047-4d1d-8907-5a05a94ff5fd_SEMIportalSessionId_EQUALS8d41c437-1fe8-44e3-a954-e3a9a66af0a6_SEMItoken_EQUALSLEXIXO5CDPQVDV8OZWOLLEVYJK9FYPOT_SEMI_DELIMITER10.201.232.19

2021-07-29 13:48:27,177 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] opensaml.ws.message.decoder.BaseMessageDecoder -::::- Parsing message stream into DOM document

-::::- Decoded SAML message

2021-07-29 13:48:27,182 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] opensaml.saml2.binding.decoding.BaseSAML2MessageDecoder -::::- Extracting ID, issuer and issue instant from status response

2021-07-29 13:48:27,183 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] opensaml.ws.message.decoder.BaseMessageDecoder -::::- No security policy resolver attached to this message context, no security policy evaluation attempted

2021-07-29 13:48:27,183 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] opensaml.ws.message.decoder.BaseMessageDecoder -::::- Successfully decoded message.

2021-07-29 13:48:27,183 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] opensaml.common.binding.decoding.BaseSAMLMessageDecoder -::::- Checking SAML message intended destination endpoint against receiver endpoint

opensaml.common.binding.decoding.BaseSAMLMessageDecoder -::::- Intended message destination endpoint: https://10.201.232.19:8443/portal/SSOLoginResponse.action

2021-07-29 13:48:27,183 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] opensaml.common.binding.decoding.BaseSAMLMessageDecoder -::::- Actual message receiver endpoint: https://10.201.232.19:8443/portal/SSOLoginResponse.action

2021-07-29 13:48:27,183 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAML decoder's URIComparator - [https://10.201.232.19:8443/portal/SSOLoginResponse.action] vs. [https://10.201.232.19:8443/portal/SSOLoginResponse.action]

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] opensaml.common.binding.decoding.BaseSAMLMessageDecoder -::::- SAML message intended destination endpoint matched recipient endpoint

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAML Response: statusCode:urn:oasis:names:tc:SAML:2.0:status:Success

3.屬性（斷言）分析已啟動。

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Found attribute name : http://schemas.microsoft.com/identity/claims/tenantid

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Found attribute name : http://schemas.microsoft.com/identity/claims/displayname

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Delimeter not configured, Attribute=<http://schemas.microsoft.com/identity/claims/displayname> add value=<mck>

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Set on IdpResponse object  - attribute<http://schemas.microsoft.com/identity/claims/displayname> value=<mck>

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Found attribute name : http://schemas.microsoft.com/ws/2008/06/identity/claims/groups

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Delimeter not configured, Attribute=<http://schemas.microsoft.com/ws/2008/06/identity/claims/groups> add value=<576c60ec-c0b6-4044-a8ec-d395b1475d6e>

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Set on IdpResponse object  - attribute<http://schemas.microsoft.com/ws/2008/06/identity/claims/groups> value=<576c60ec-c0b6-4044-a8ec-d395b1475d6e>

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Found attribute name : http://schemas.microsoft.com/identity/claims/identityprovider

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Delimeter not configured, Attribute=<http://schemas.microsoft.com/identity/claims/identityprovider> add value=<https://sts.windows.net/182900ec-e960-4340-bd20-e4522197ecf8/>

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Set on IdpResponse object  - attribute<http://schemas.microsoft.com/identity/claims/identityprovider> value=<https://sts.windows.net/182900ec-e960-4340-bd20-e4522197ecf8/>

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Found attribute name : http://schemas.microsoft.com/claims/authnmethodsreferences

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Delimeter not configured, Attribute=<http://schemas.microsoft.com/claims/authnmethodsreferences> add value=<http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password>

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Set on IdpResponse object  - attribute<http://schemas.microsoft.com/claims/authnmethodsreferences> value=<http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password>

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Found attribute name : http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Delimeter not configured, Attribute=<http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name> add value=<email>

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLAttributesParser -::::- [parseAttributes] Set on IdpResponse object  - attribute<http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name> value=(email)

2021-07-29 13:48:27,184 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAMLUtils::getUserNameFromAssertion: IdentityAttribute is set to Subject Name

4.收到值為576c60ec-c0b6-4044-a8ec-d395b1475d6e的組屬性，並進行簽名驗證。

2021-07-29 13:48:27,185 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAML Response: email attribute value:

2021-07-29 13:48:27,185 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAML response - Relay State:_0049a2fd-7047-4d1d-8907-5a05a94ff5fd_DELIMITERportalId=0049a2fd-7047-4d1d-8907-5a05a94ff5fd;portalSessionId=8d41c437-1fe8-44e3-a954-e3a9a66af0a6;token=LEXIXO5CDPQVDV8OZWOLLEVYJK9FYPOT;_DELIMITER10.201.232.19

2021-07-29 13:48:27,185 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAML flow initiator PSN's Host name is:10.201.232.19

2021-07-29 13:48:27,185 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAMLUtils::isLoadBalancerConfigured() - LB NOT configured for: Azure

2021-07-29 13:48:27,185 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAMLUtils::isOracle() - checking whether IDP URL indicates that its OAM. IDP URL: https://login.microsoftonline.com/182900ec-e960-4340-bd20-e4522197ecf8/saml2

2021-07-29 13:48:27,185 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SPProviderId for Azure is: http://CiscoISE/0049a2fd-7047-4d1d-8907-5a05a94ff5fd

2021-07-29 13:48:27,186 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- ResponseValidationContext:

IdP URI: https://sts.windows.net/182900ec-e960-4340-bd20-e4522197ecf8/

SP URI: http://CiscoISE/0049a2fd-7047-4d1d-8907-5a05a94ff5fd

Assertion Consumer URL: https://10.201.232.19:8443/portal/SSOLoginResponse.action

Request Id: _0049a2fd-7047-4d1d-8907-5a05a94ff5fd_DELIMITERportalId_EQUALS0049a2fd-7047-4d1d-8907-5a05a94ff5fd_SEMIportalSessionId_EQUALS8d41c437-1fe8-44e3-a954-e3a9a66af0a6_SEMItoken_EQUALSLEXIXO5CDPQVDV8OZWOLLEVYJK9FYPOT_SEMI_DELIMITER10.201.232.19

Client Address: 10.24.226.171

Load Balancer: null

2021-07-29 13:48:27,186 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.validators.SAMLSignatureValidator -::::- no signature in response

2021-07-29 13:48:27,186 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.validators.SAMLSignatureValidator -::::- Validating signature of assertion

2021-07-29 13:48:27,186 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.validators.BaseSignatureValidator -::::- Determine the signing certificate

2021-07-29 13:48:27,186 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.validators.BaseSignatureValidator -::::- Validate signature to SAML standard with cert:CN=Microsoft Azure Federated SSO Certificate serial:49393248893701952091070196674789114797

2021-07-29 13:48:27,186 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] org.opensaml.security.SAMLSignatureProfileValidator -::::- Saw Enveloped signature transform

2021-07-29 13:48:27,186 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] org.opensaml.security.SAMLSignatureProfileValidator -::::- Saw Exclusive C14N signature transform

2021-07-29 13:48:27,186 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.validators.BaseSignatureValidator -::::- Validate signature againsta signing certificate

2021-07-29 13:48:27,186 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] org.opensaml.xml.signature.SignatureValidator -::::- Attempting to validate signature using key from supplied credential

2021-07-29 13:48:27,186 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] org.opensaml.xml.signature.SignatureValidator -::::- Creating XMLSignature object

2021-07-29 13:48:27,186 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] org.opensaml.xml.signature.SignatureValidator -::::- Validating signature with signature algorithm URI: http://www.w3.org/2001/04/xmldsig-more#rsa-sha256

2021-07-29 13:48:27,186 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] org.opensaml.xml.signature.SignatureValidator -::::- Validation credential key algorithm 'RSA', key instance class 'sun.security.rsa.RSAPublicKeyImpl'

2021-07-29 13:48:27,188 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] org.opensaml.xml.signature.SignatureValidator -::::- Signature validated with key from supplied credential

2021-07-29 13:48:27,188 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.validators.SAMLSignatureValidator -::::- Assertion signature validated succesfully

2021-07-29 13:48:27,188 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.validators.WebSSOResponseValidator -::::- Validating response

2021-07-29 13:48:27,188 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.validators.WebSSOResponseValidator -::::- Validating assertion

2021-07-29 13:48:27,188 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.validators.AssertionValidator -::::- Assertion issuer succesfully validated

2021-07-29 13:48:27,188 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.validators.AssertionValidator -::::- Authentication statements succesfully validated

2021-07-29 13:48:27,188 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.validators.AssertionValidator -::::- Subject succesfully validated

2021-07-29 13:48:27,188 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.validators.AssertionValidator -::::- Conditions succesfully validated

2021-07-29 13:48:27,188 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAML Response: validation succeeded for (email)

2021-07-29 13:48:27,188 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAML Response: found signature on the assertion

2021-07-29 13:48:27,189 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- Retrieve [CN=Microsoft Azure Federated SSO Certificate] as signing certificates

2021-07-29 13:48:27,189 DEBUG  [https-jsse-nio-10.201.232.19-8443-exec-10][] cpm.saml.framework.impl.SAMLFacadeImpl -::::- SAML Response: loginInfo:SAMLLoginInfo: (email), format=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress, sessionIndex=_7969c2df-f4c8-4734-aab4-e69cf25b9600, time diff=17475, attributeValues=null

2021-07-29 13:48:27,358 INFO   [admin-http-pool50][] ise.rbac.evaluator.impl.MenuPermissionEvaluatorImpl -::::-

5. RBAC授權驗證。

*************************Rbac Log Summary for user samlUser*************************

2021-07-29 13:48:27,360 INFO   [admin-http-pool50][] com.cisco.ise.util.RBACUtil -::::- Populating cache for external to internal group linkage.

2021-07-29 13:48:27,368 ERROR  [admin-http-pool50][] cpm.admin.infra.utils.PermissionEvaluationUtil -::::- Exception in login action

java.lang.NullPointerException

2021-07-29 13:48:27,369 INFO   [admin-http-pool50][] cpm.admin.infra.action.LoginAction -::::- In Login Action user has Menu Permission: false

2021-07-29 13:48:27,369 INFO   [admin-http-pool50][] cpm.admin.infra.action.LoginAction -::::- In Login action, user has no menu permission

2021-07-29 13:48:27,369 ERROR  [admin-http-pool50][] cpm.admin.infra.action.LoginAction -::::- Can't save locale. loginSuccess: false

2021-07-29 13:48:27,369 INFO   [admin-http-pool50][] cpm.admin.infra.action.LoginActionResultHandler -::::- Redirected to: /admin/login.jsp?mid=access_denied

2021-07-29 13:48:27,369 INFO   [admin-http-pool50][] cpm.admin.infra.spring.ISEAdminControllerUtils -::::- Empty or null forwardStr for: https://10.201.232.19/admin/LoginAction.do