簡介
本文檔介紹如何配置Cisco ISE 3.1 SAML SSO與外部身份提供商(如Cisco Duo SSO)的整合。
必要條件
需求
思科建議您瞭解以下主題:
- 思科身分辨識服務引擎(ISE) 3.1
- 安全宣告標籤語言(SAML)單一登入(SSO)部署的基本知識(SAML 1.1)
- Cisco DUO SSO知識
- 瞭解Windows Active Directory
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- 思科ISE 3.1
- Cisco Duo SSO
- Windows Active Directory
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
辨識提供者(IdP)
在此案例中,Duo SSO會驗證並宣告使用者身分及對所要求資源(「服務提供者」)的存取許可權。
Duo SSO充當IdP,使用SAML 1.1或任何SAML 2.0 IdP (例如Microsoft Azure)的現有內部部署Active Directory (AD)驗證您的使用者,並在允許訪問服務提供商應用程式之前提示進行雙因素驗證。
當配置要使用Duo SSO保護的應用時,您必須將屬性從Duo SSO傳送到應用。Active Directory無需其他設定,但如果您使用SAML(2.0) IdP作為身份驗證源,請驗證您是否將其配置為傳送正確的SAML屬性。
服務提供商(SP)
使用者想要訪問的託管資源或服務;在此例中為Cisco ISE應用伺服器。
SAML
SAML是允許IdP向SP傳遞授權憑據的開放標準。
SAML事務使用可擴展標籤語言(XML)實現身份提供方和服務提供商之間的標準化通訊。SAML是使用者身份身份驗證與使用服務的授權之間的鏈路。
SAML斷言
SAML Assertion是IdP傳送到包含使用者授權的服務提供商的XML文檔。有三種不同型別的SAML斷言-身份驗證、屬性和授權決策。
- 身份驗證斷言可證明使用者的身份,並提供使用者登入的時間以及他們使用的身份驗證方法(例如,Kerberos、雙因素等)。
- 歸屬斷言將SAML屬性(提供有關使用者資訊的特定資料)傳遞給SP。
- 授權決策斷言宣告使用者是否獲得授權以便使用該服務,或者IdP是否由於密碼失敗或缺少對服務的許可權而拒絕其請求。
概要流程圖
流程:
- 使用者使用Login Via SAML選項登入到ISE。
- ISE (SAML SP)使用SAML請求消息將使用者瀏覽器重定向到Duo SSO。
注意:在分散式環境中,可能會出現「Invalid Certificate」錯誤,並且第3步現在可以工作。因此,對於分散式環境,步驟2.與此稍有不同:
問題:ISE臨時重定向到其中一個PSN節點的門戶(在埠8443上)。
解決方案:為了確保ISE提供與管理員GUI證書相同的證書,請確保您信任的系統證書對所有PSN節點上的門戶使用有效。
- 使用者使用主AD憑證登入。
- Duo SSO將此消息轉發給AD,AD將響應返回給Duo SSO。
- Duo SSO要求使用者透過在流動裝置上傳送PUSH來完成雙因素身份驗證。
- 使用者完成Duo雙因素身份驗證。
- Duo SSO將使用者瀏覽器重定向到SAML SP並返回一條響應消息。
- 使用者現在能夠登入到ISE。
設定與Duo SSO整合的SAML SSO
步驟 1.在ISE上配置SAML IdP
將Duo SSO配置為外部SAML身份源
在ISE上,導航到Administration > Identity Management > External Identity Sources > SAML Id Providers,然後點選增加按鈕。
輸入IdP的名稱,然後按一下Submit以儲存它。IdP名稱僅對ISE有效,如圖所示:
從Duo管理門戶導入SAML後設資料XML檔案
在ISE上,導航到Administration > Identity Management > External Identity Sources > SAML Id Providers.>選擇您建立的SAML IdP,點選 Identity Provider Configuration,然後點選選擇檔案按鈕。
選擇從Duo Admin門戶導出的SSO IDP後設資料XML檔案,然後按一下Open以儲存該檔案。(此步驟也在本檔案的Duo一節中提及。)
SSO URL和簽名證書包括:
配置ISE身份驗證方法
導航到Administration > System > Admin Access > Authentication > Authentication Method,然後選擇「Password-Based」單選按鈕。從Identity Source下拉式清單中選擇先前建立的必要IdP名稱,如下圖所示:
建立管理員組
導航到Administration > System > Admin Access > Authentication > Administrators > Admin Group,點選超級管理員,然後點選複製按鈕。輸入Admin group Name,然後按一下Submit按鈕。
這會為Admin組提供Super Admin許可權。
為管理組建立RBAC策略
導航到Administration > System > Admin Access > Authorization > RBAC Policy,然後選擇與超級管理員策略相對應的操作。按一下Duplicate > Add the Name field > Save。
存取許可權與超級管理員原則相同。
新增群組成員資格
在ISE上,導航到Administration > Identity Management > External Identity Sources > SAML Id Providers,然後選擇您建立的SAML IdP。按一下Groups,然後按一下Add按鈕。
在斷言中增加名稱(ISE管理員組的名稱),然後從下拉選單中選擇所建立的基於角色的訪問控制(RBAC)組(第4步),然後按一下Open以儲存它。SSO URL和簽名證書會自動填充:
導出SP資訊
導航到Administration > Identity Management > External Identity Sources > SAML Id Providers > (Your SAML Provider)。
將該頁籤切換到「SP資訊」。然後按一下導出按鈕,如圖所示:
下載.xml檔案並儲存。記下AssertionConsumerServiceLocation URL和entityID值,因為Duo SSO門戶中需要這些詳細資訊。
<?xml version="1.0" encoding="UTF-8"?><md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" entityID="http://CiscoISE/7fdfc239-631e-439c-a3ab-f5e56429779d"><md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"><md:KeyDescriptor use="signing"><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:X509Data><ds:X509Certificate>MIIFUzCCAzugAwIBAgIMNOUWtIWSUFWaealmMA0GCSqGSIb3DQEBDAUAMCcxJTAjBgNVBAMTHFNB TUxfaXNlMDIueGVyb3RydXN0bGFicy5jb20wHhcNMjExMTE1MjI1OTM0WhcNMjYxMTE0MjI1OTM0 WjAnMSUwIwYDVQQDExxTQU1MX2lzZTAyLnhlcm90cnVzdGxhYnMuY29tMIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEAxw7scSLMH1ApI3O/7+vWsGP4schoJJHlVeJKHuJVgm19SXViW8Ab WL9hQEXDr+U/zzp7fAq0YjckeNJg6VMhasao5tY4cutrAZK2F/kYvdVN+0N2cJUSTdJZNdKO+hcj VmUgClUi6Xa4PJNw+1yhj8PwrDlpzfgXZLi3wlo5sMRGrg8NeSbShPJVakIEF2FoI0hXTOOSH4ZN sD4q99dzrAv2m6y74vtU0GqwX4RRMOdvr7DIMNd2U/trh41QT85SY5c70l6fRWtY9omZBdU0S2JC ihWnC9ug7FE0qdPm2h5KiZvxJck9OqVXDHvtRKctW5gwzfX8Hu7DQKqs90h04HRUxg2GEiuiXCQZ 5p63KfoRly5oW50UK0LIMdyhDl+8uP+n+Jo3ufR8lKe42+/rws5Ct1hg4jozddutKkw2vyxMEg5/ ZpAz/goRIOmBN4r3n3FNGZV1uTfbb1Mz8yvY61ccGgTU1/Iynt9maNHxjbFtAP+HaiMPisfTKDRJ OLx91v+xKpb+opcOxqVK1q0Us0yGVvfycaFNZ3jP5wBNBzSAi7cvXk7sIW9WM7DC84OjC/r9EbaX Wll7MLV+16Z+FeDnzhzFVjq/cb61eNvXKKwDFryFqBnDLLJGmJuZQ/EgR0wkvseR8tNE3qIYVhOe qfCKZUpWtZ+lGLDD3r50p9UCAwEAAaN/MH0wIgYDVR0RBBswGYIXaXNlMDIueGVyb3RydXN0bGFi cy5jb20wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAuwwHQYDVR0OBBYEFAoHeqyYR5r0XpOVXODT WdpDycOoMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjANBgkqhkiG9w0BAQwFAAOCAgEA aoIIkyS8slDwjQrRsUVyPi17Lvl0TleCUQBrnr5WNUWlaXIB7Cb9qrG9D2ced72miH6vUcxine78 V4loTsgVu3tVlslQrOLW2eNLSbaN1XqbVUl1sCZkA4wGt8uLPX0t8UYysecEPFXD0NiKGPoIMaFg 3pP5525cJpeLRkgHjw1Z2qT54lsGd8Gdq6V666kliAt73kPwfDiZf/uDsCI+euIHDywLdOad51kJ RWAsZO7tgxK3tJO9z7JU4oY1fI26DUN43++Ap3KSaDiz9gYJ3fFjR9hP/nF/ywyO0HO5MgHqhsMo +zBMADukmprYC8qd+0z76+NQ6TLXgUer7NQMty68tQYP4riupvc26CEmgEZ592jBgDdt2tkY9An4 Fl/rqJPhX2RISLdUt50NcBbIZVOJ/IjkqHj9UG1E/U8qYy3krWvZV+VV5ChVNzwiVTWFCEOHNOTh l/yYdAAsODUBbwTqgJL1G3hNo+dA3LAgg/XKENFr+tt3LQ0kwPAtjKFQsIX/4sgMetV4KSqUI3HZ qw5u0t9WT578SZ5p1u/qj2cfx2wdqRVk5vSij6TxOpXIaCuY2L5YfeIMP/K49K+DecMBxCrKygNT vGX0PkVG/yqgQ9OIfQZ1OD3/NZxGyBJdzSSkjHxiUdWf4lWj1tVU+qav8M3imsCRvcZJppaKJNo=</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 Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://10.52.14.44:8443/portal/SSOLoginResponse.action" index="0"/><md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://ise02.xerotrustlabs.com:8443/portal/SSOLoginResponse.action" index="1"/></md:SPSSODescriptor></md:EntityDescriptor>
以下是從Duo Generic SAML Integration中需要配置的meta檔案中收集的相關詳細資訊/屬性
entityID = http://CiscoISE/7fdfc239-631e-439c-a3ab-f5e56429779d。
AssertionConsumerService位置= https://10.x.x.x:8443/portal/SSOLoginResponse.action,其中10.x.x.x是在XML檔案(位置)中找到的ISE IP。
AssertionConsumerService位置= https://isenodename.com:8443/portal/SSOLoginResponse.action,其中isenodename是在XML檔案(位置)中找到的實際ISE FQDN名稱。
步驟 2.為ISE配置Duo SSO
檢查此KB以配置帶AD的Duo SSO作為身份驗證源。
選中此KB以啟用自定義域的SSO。
步驟 3.將Cisco ISE與Duo SSO整合為通用SP
檢查此KB的第1步和第2步,將Cisco ISE與Duo SSO整合為通用SP。
在Duo管理面板中配置通用SP的Cisco ISE SP詳細資訊:
配置思科ISE的SAML響應:
名稱 |
說明 |
NameID格式 |
urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified |
NameID屬性 |
使用者名稱 |
在Duo Admin Panel中建立名為Cisco Admin Group的組,並將ISE使用者增加到此組,或在Windows AD中建立組並使用目錄同步功能將其同步到Duo Admin面板。
配置思科ISE的角色屬性:
名稱 |
說明 |
屬性名稱 |
群組 |
SP角色 |
ISE管理組 |
Duo組 |
ISE管理組 |
在Settings部分的Name頁籤中,為此整合提供相應的名稱。
按一下Save按鈕儲存配置,並參閱此KB以瞭解更多詳細資訊。
按一下Download XML以下載SAML後設資料。
導航至Administration > Identity Management > External Identity Sources > SAML Id Providers > Duo_SSO,將SAML MetaData下載從Duo管理面板上傳到Cisco ISE。
將頁籤切換到Identity Provider Config,然後按一下Choose檔案按鈕。
選擇在步驟8中下載的後設資料XML檔案,然後按一下儲存。
注意:此步驟在配置SAML SSO與Duo SSO整合的部分中提到;第2步。從Duo Admin門戶導入SAML後設資料XML檔案。
驗證
測試與Duo SSO的整合
1. 登入到Cisco ISE管理面板,然後按一下Log In With SAML。
2. 已重定向到「SSO」頁,輸入電子郵件地址並按一下下一步。
3. 輸入口令並按一下Log in。
4. 您的行動裝置上會出現Duo Push提示。
5. 接受提示後,您將獲得一個窗口,並自動重定向到ISE管理員頁面。
6. ISE管理員GUI訪問頁面。
疑難排解
- ISE上的管理登入日誌:使用者名稱:samlUser。