はじめに
このドキュメントでは、Cisco Duo SSOなどの外部アイデンティティプロバイダーとCisco ISE 3.1 SAML SSO統合を設定する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cisco Identity Services Engine(ISE)3.1
- Security Assertion Markup Language(SAML)シングルサインオン(SSO)の導入(SAML 1.1)に関する基礎知識
- Cisco DUO SSOの知識
- Windows Active Directoryに関する知識
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- Cisco ISE 3.1
- Cisco Duo SSO
- Windows Active Directory
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
アイデンティティプロバイダー(IdP)
この場合、要求されたリソース(「サービスプロバイダー」)に対してユーザIDとアクセス権限を確認し、アサートするのはDuo SSOです。
Duo SSOはIdPとして機能し、SAML 1.1またはSAML 2.0 IdP(Microsoft Azureなど)を使用して既存のオンプレミスActive Directory(AD)でユーザを認証し、サービスプロバイダーアプリケーションへのアクセスを許可する前に2要素認証を求めます。
Duo SSOで保護するアプリケーションを構成する場合は、Duo SSOからアプリケーションに属性を送信する必要があります。Active Directoryは追加の設定なしで動作しますが、認証ソースとしてSAML(2.0) IdPを使用した場合は、正しいSAML属性を送信するように設定されていることを確認してください。
サービスプロバイダー(SP)
ユーザがアクセスするホステッドリソースまたはサービス(この場合はCisco ISE Application Server)。
SAML
SAMLは、SPに認証クレデンシャルを渡すためにIdPを許可するオープンスタンダードです。
SAMLトランザクションは、IDプロバイダーとサービスプロバイダー間の標準化された通信にExtensible Markup Language(XML)を使用します。SAMLは、ユーザのIDの認証とサービスを使用するための許可の間のリンクです。
SAMLアサーション
SAMLアサーションは、IdPがユーザ認証を含むサービスプロバイダーに送信するXMLドキュメントです。SAMLアサーションには、認証、属性、および許可決定という3つの異なるタイプがあります。
- 認証アサーションは、ユーザのIDを証明し、ユーザがログインした時間と使用した認証方式(Kerberos、二要素など)を提供します。
- アトリビューションアサーションは、SAML属性(ユーザに関する情報を提供する特定のデータ)をSPに渡します。
- 認証の決定アサーションは、ユーザがサービスを使用する権限を持っているかどうか、またはパスワードの失敗やサービスに対する権限の欠如が原因でIdPが要求を拒否したかどうかを宣言します。
高レベルフロー図

Flow:
- ユーザは、Login Via SAMLオプションを使用してISEにログインします。
- ISE(SAML SP)は、SAML要求メッセージを使用して、ユーザのブラウザをDuo SSOにリダイレクトします。
注:分散環境では、「Invalid Certificate」エラーが表示される場合がありますが、これでステップ3.は機能します。したがって、分散環境の場合、手順2.は次の点で少し異なります。
問題:ISEは、いずれかのPSNノード(ポート8443)のポータルに一時的にリダイレクトします。
解決策:ISEが管理GUI証明書と同じ証明書を提示することを確認するには、信頼するシステム証明書がすべてのPSNノードでもポータル使用に対して有効であることを確認します。
- ユーザはプライマリADクレデンシャルでログインします。
- Duo SSOはこの応答をADに転送し、Duo SSOに応答を返します。
- Duo SSOでは、ユーザはモバイルでプッシュを送信して2要素認証を完了する必要があります。
- ユーザがDuo 2要素認証を完了します。
- Duo SSOは、ユーザのブラウザを応答メッセージとともにSAML SPにリダイレクトします。
- これで、ユーザはISEにログインできるようになります。
Duo SSOとのSAML SSO統合の設定
ステップ 1:ISEでのSAML IdPの設定
外部SAMLアイデンティティソースとしてのDuo SSOの設定
ISEで、Administration > Identity Management > External Identity Sources > SAML Id Providers
に移動し、Addボタンをクリックします。
IdPの名前を入力し、Submitをクリックして保存します。IdP名は、次の図に示すように、ISEに対してのみ意味を持ちます。

Duo Admin PortalからSAMLメタデータXMLファイルをインポートします
ISEで、Administration > Identity Management > External Identity Sources > SAML Id Providers.
Identity Provider Configuration
に移動し、作成したSAML IdPを選択します。をクリックし、ファイルの選択ボタンをクリックします。
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
をクリックして、次にSuper Admin、Duplicateボタンの順にクリックします。Admin group Nameを入力し、Submitボタンをクリックします。
これにより、AdminグループにSuper Admin権限が付与されます。

管理グループのRBACポリシーの作成
Administration > System > Admin Access > Authorization > RBAC Policy
に移動し、Super Admin Policyに対応するActionsを選択します。をクリックします。Duplicate > Add the Name field > Save
アクセスの権限は、スーパー管理者ポリシーと同じです。

グループメンバーシップの追加
ISEで、Administration > Identity Management > External Identity Sources > SAML Id Providers
に移動し、作成したSAML IdPを選択します。Groupsをクリックし、次にAddボタンをクリックします。
Name in Assertion(ISE管理グループの名前)を追加し、ドロップダウンから作成したロールベースアクセスコントロール(RBAC)グループを選択し(ステップ4)、Openをクリックして保存します。SSO URLと署名証明書は自動的に入力されます。

SP情報のエクスポート
に移動します。Administration > Identity Management > External Identity Sources > SAML Id Providers > (Your SAML Provider)
タブをSP Info.に切り替え、図に示すようにExportボタンをクリックします。

.xml
のファイルをダウンロードして保存します。Duo SSOポータルではロケーションのAssertionConsumerService
URLとentityIDの値が必要になるため、これらの詳細をメモしてください。
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=urn:oasis:names:tc:SAML:2.0:nameid-format:transienturn:oasis:names:tc:SAML:1.1:nameid-format:emailAddressurn:oasis:names:tc:SAML:2.0:nameid-format:persistenturn:oasis:names:tc:SAML:1.1:nameid-format:unspecifiedurn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedNameurn:oasis:names:tc:SAML:2.0:nameid-format:kerberosurn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName
メタファイルから収集された対象の詳細/属性は、Duo Generic SAML統合で設定する必要があります
entityID = http://CiscoISE/7fdfc239-631e-439c-a3ab-f5e56429779dです。
AssertionConsumerService(UCSS)の場所= 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の設定
認証ソースとしてADを使用してDuo SSOを設定するには、このKBを確認します。

カスタムドメインでSSOを有効にするには、このKBをチェックします。


ステップ 3:Cisco ISEとDuo SSOを汎用SPとして統合
Cisco ISEとDuo SSOをGeneric SPとして統合するには、このKBのステップ1.とステップ2.を確認してください。
Generic SPのDuo Admin PanelでCisco ISE SPの詳細を設定します。

Cisco ISEのSAML応答の設定:
[名前(Name)]
|
説明
|
NameIDの形式
|
urn:oasis:names:tc:SAML:1.1:nameid-format:未指定
|
NameID属性
|
ユーザ名
|

Duo Admin PanelでCisco Admin Groupという名前のグループを作成し、ISEユーザをこのグループに追加するか、Windows ADでグループを作成し、ディレクトリ同期機能を使用してDuo Admin Panelと同じものを同期します。

Cisco ISEのロール属性を設定します。
[名前(Name)]
|
説明
|
属性名
|
[グループ(groups)]
|
SPロール
|
ISE管理グループ
|
デュオグループ
|
ISE管理グループ
|

設定セクションで、この統合の名前タブに適切な名前を指定します。

Saveボタンをクリックして設定を保存し、このKBで詳細を参照してください。
SAMLメタデータをダウンロードするには、Download XMLをクリックします。

Duo Admin PanelからCisco ISEにSAML MetaDataダウンロードをアップロードするには、Administration > Identity Management > External Identity Sources > SAML Id Providers > Duo_SSO
に移動します。
タブをIdentity Provider Config.に切り替え、Choose fileボタンをクリックします。
ステップ8でダウンロードしたMetadata XMLファイルを選択し、Saveをクリックします。
注:この手順については、「Duo SSOを使用したSAML SSO統合の設定」セクションの手順2で説明しています。Duo AdminポータルからSAMLメタデータXMLファイルをインポートします。

確認
Duo SSOとの統合のテスト
1. Cisco ISE Admin Panelにログインして、Log In With SAMLをクリックします。

2. SSOページにリダイレクトされ、電子メールアドレスを入力し、Nextをクリックします。

3. パスワードを入力し、Log inをクリックします。

4. モバイルデバイスにDuo Pushプロンプトが表示されます。

5. プロンプトを受け入れると、ウィンドウが表示され、ISE管理ページに自動的にリダイレクトされます。

6. ISE管理GUIアクセスページ。

トラブルシュート


- ISEの管理ログインログ:username:samlUser
