はじめに
このドキュメントでは、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トランザクションは、アイデンティティプロバイダーとサービスプロバイダー間の標準化された通信に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に転送し、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ポータルからSAMLメタデータXMLファイルをインポートします
ISEで、Administration > Identity Management > External Identity Sources > SAML Id Providers.
>作成したSAML IdPを選択するのに移動し、をクリックし Identity Provider Configuration
、次にファイルの選択ボタンをクリックします。
Duo AdminポータルからエクスポートされたSSO IDPメタデータXMLファイルを選択し、Openをクリックして保存します。(この手順は、このドキュメントの「デュオ」の項でも説明しています)。
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
、スーパー管理ポリシーに対応するアクションを選択します。をクリックします。Duplicate > Add the Name field > Save
アクセス権限は、スーパー管理者ポリシーと同じです。
グループメンバーシップの追加
ISEで、に移動しAdministration > Identity Management > External Identity Sources > SAML Id Providers
、作成したSAML IdPを選択します。Groupsをクリックし、次にAddボタンをクリックします。
Name in Assertion(ISE Adminグループの名前)を追加し、ドロップダウンから作成したロールベースアクセスコントロール(RBAC)グループを選択し(ステップ4)、Openをクリックして保存します。SSO URLと署名証明書は自動的に入力されます。
SP情報のエクスポート
に移動しますAdministration > Identity Management > External Identity Sources > SAML Id Providers > (Your SAML Provider)
。
次の図に示すように、タブをSP Info.に切り替え、Exportボタンをクリックします。
ファイルをダウンロードし.xml
、保存します。ロケーションURLとAssertionConsumerService
entityIDの値は、Duo SSOポータルで詳細が必要なため、メモしておいてください。
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:transient
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName
urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos
urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName
Duo Generic SAML Integrationで設定する必要があるメタファイルから収集された対象の詳細と属性を次に示します
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ファイル(Location)で見つかった実際のISE FQDN名です。
ステップ 2:ISE用のDuo SSOの設定
認証ソースとしてADを使用するDuo SSOを設定するには、このKBをチェックします。
カスタムドメインでSSOを有効にするには、このKBをチェックします。
ステップ 3:Cisco ISEとDuo SSOを汎用SPとして統合
Cisco ISEとDuo SSOを一般的なSPとして統合するには、このKBのステップ1.とステップ2.を確認してください。
Duo Admin PanelでCisco ISE SPの詳細をGeneric 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を参照してください。
Download XMLをクリックして、SAMLメタデータをダウンロードします。
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の管理ログインログ:ユーザ名:samlUser