はじめに
このドキュメントでは、vManageでシングルサインオン(SSO)を有効にして確認するための基本について説明します。
用語
Security Assertion Markup Language(SAML)は、パーティ間、特にアイデンティティプロバイダーとサービスプロバイダーの間で認証および許可データを交換するためのオープンスタンダードです。その名前が示すように、SAMLはセキュリティアサーション(サービスプロバイダーがアクセス制御の決定に使用するステートメント)用のXMLベースのマークアップ言語です。
アイデンティティプロバイダー(IdP)は、「シングルサインオン(SSO)を使用して他のWebサイトにアクセスできる、信頼できるプロバイダー」です。 SSOはパスワードの負担を軽減し、使いやすさを向上させます。潜在的な攻撃対象領域が減少し、セキュリティが向上します。
サービスプロバイダー:SAMLのSSOプロファイルとともに認証アサーションを受信し、受け入れるシステムエンティティです。
機能とは何ですか。
- 18.3.0以降、vManageはSSOをサポートしています。SSOを使用すると、ユーザは外部IDプロバイダー(IP)に対して認証を行うことによってvManageにログインできます。
- SAML2.0のみがサポートされています
- サポート対象:シングルテナント(スタンドアロンおよびクラスタ)、マルチテナント(プロバイダレベルおよびテナントレベルの両方)、およびマルチテナント展開はデフォルトでクラスタです。テナントとしてのプロバイダーは適用できません。
- idpがSAML 2.0仕様に適合している限り、各テナントは固有のアイデンティティプロバイダーを持つことができます。
- ファイルのアップロードによるIDPメタデータの設定、プレーンテキストのコピー、およびvManageメタデータのダウンロードをサポートします。
- ブラウザベースのSSOのみがサポートされます。
- このリリースでは、vmanageメタデータに使用される証明書は設定できません。
これは自己署名証明書であり、SSOを初めて有効にするときに次のパラメータを使用して作成されます。
文字列CN = <TenantName>, DefaultTenant
文字列OU = <組織名>
文字列O = <Sp組織名>
文字列L = "サンノゼ";
文字列ST = "CA";
文字列C = "USA";
ストリングの有効期間= 5年、
証明書署名アルゴリズム:SHA256WithRSA
キーペア生成アルゴリズム:RSA
- 単一ログイン – SP開始およびIDP開始をサポート
- シングル・ログアウト – SP起動のみ
vManageで有効にする方法
vManage NMSのシングルサインオン(SSO)を有効にして、外部IDプロバイダーを使用してユーザを認証できるようにするには、次の手順を実行します。
- vManage NMSでNTPが有効になっていることを確認します。
- idepで設定されているURLを使用してvManage GUIに接続します
(たとえば、 vmanage-112233.example.net。このURL情報はSAMLメタデータに含まれているため、IP-Addressは使用しません)
- アイデンティティプロバイダーの設定バーの右側にある「編集」ボタンをクリックします。
- Enable Identity Providerフィールドで、Enabledをクリックします。
- 「アイデンティティプロバイダメタデータのアップロード」ボックスにアイデンティティプロバイダメタデータをコピーして貼り付けます。または、「ファイルの選択」をクリックして、アイデンティティプロバイダのメタデータファイルをアップロードします。
- [Save] をクリックします。
ワークフローとは何ですか。
- ユーザは、アイデンティティプロバイダーのメタデータをアップロードすることにより、[管理]->[設定]ページでSSOを有効にします。
- ユーザは、対応するvManageテナントメタデータをダウンロードしてアイデンティティプロバイダーにアップロードします(vManageメタデータを生成するには、少なくとも1回実行する必要があります)。
- ユーザは、必要に応じていつでもメタデータを無効または更新できます。
サンプルvManageメタ
vManageは二要素認証をサポートしていますか。また、SSOとの違いは何ですか。
2要素認証(2FAとも呼ばれる)は、多要素認証(MFA)の種類またはサブセットです。これは、1)知っているもの、2)持っているもの、3)あるものの2つの異なる要素を組み合わせて、ユーザの身元を確認する方法です。
例:Googleメール(パスワードとワンタイムパスワード(OTP))
2FAはSSOサーバで提供される機能です。これは、シスコの社内Webサイトへのログイン方法と似ています。
Cisco SSOにリダイレクトされ、PingID/DUO 2FAの入力を求められます。
ソリューションの一部として、いくつのロールがありますか。
Basic、operator、netadminの3つのロールがあります。
ユーザアクセスと認証の設定
どのIdPをサポートしていますか。
- オクタ
- PingID
- ADFS
- Microsoft Azure(20.9以降)
お客様は他のIdPを使用して、正常に動作していることを確認できます。これは「ベストエフォート」の下で行われます。
その他には、Oracle Access Manager、F5 Networksなどがあります。
注:vManageでサポートされる最新のIdPについては、シスコの最新のドキュメントを参照してください。
SAMLアサートでユーザグループメンバーシップを指定する方法
問題:SAML IdPを使用したvManageのフロントエンド。ユーザが正常に認証されると、ユーザがアクセスできるのはダッシュボードだけです。
ユーザがSAML経由で認証される際に、(ユーザグループRBACを介して)ユーザにアクセス権を付与する方法はありますか。
この問題は、IDPの不適切な設定が原因で発生します。ここで重要なのは、認証中にIDPによって送信される情報には、xmlの属性として「Username」と「Groups」が含まれている必要があるということです。「Groups」の代わりに他の文字列を使用する場合、ユーザグループはデフォルトで「Basic」になります。「基本」ユーザは、基本ダッシュボードにのみアクセスできます。
IDPがvManageに「UserId/role」ではなく「Username/Groups」を送信することを確認します。
/var/log/nms/vmanage-server.logファイルの例を次に示します。
機能しない例:
「UserId/role」がIdPによって送信され、ユーザがbasicグループにマッピングされていることが確認できます。
01-Mar-2019 15:23:50,797 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-227) |default| AttributeMap: {role=[netadmin], UserId=[Tester@example.com]}
01-Mar-2019 15:23:50,797 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-227) |default| AttributeMap: {role=[netadmin], UserId=[Tester@example.com]}
01-Mar-2019 15:23:50,797 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-227) |default| Roles: [Basic]
実際の例:
この例では「Username/Groups」と表示され、ユーザはnetadminグループにマッピングされています。
05-Mar-2019 21:35:55,766 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-90) |default| AttributeMap: {UserName=[Tester@example.com], Groups=[netadmin]}
05-Mar-2019 21:35:55,766 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-90) |default| AttributeMap: {UserName=[Tester@example.com], Groups=[netadmin]}
05-Mar-2019 21:35:55,766 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-90) |default| Roles: [netadmin]
SSOを有効にして機能するかどうかを確認する方法
SSO機能のデバッグロギングは、次の手順で有効にできます。
1. https://<vManage_ip_addr:port>/logsettings.htmlに移動します。
2. SSOロギングを選択し、図に示すように有効にします。
3.有効になったら、Submitボタンを押します。
- SSO関連のログはvManageログファイル/var/log/nms/vmanage-server.logに保存されます。特に対象となるのは、IDP認証の「グループ」設定です。一致するエントリがない場合、ユーザはデフォルトで「Basic」グループに設定され、読み取り専用アクセス権が付与されます。
- アクセス権限の問題をデバッグするには、ログファイルを確認し、文字列「SamlUserGroups」を探します。後続の出力は、グループ名の文字列のリストである必要があります。そのうちの1つは、vManageのグループ設定と一致している必要があります。一致するエントリが見つからない場合、ユーザはデフォルトで「Basic」グループに設定されています。
SAMLトレーサ
シングルサインオンおよびシングルログアウト時にブラウザを介して送信されるSAMLおよびWS-Federationメッセージを表示するツール。
FireFox SAML-Tracerアドオン
Chrome SAML-Tracer拡張機能
samlメッセージの例
SSO対応vManageにログインする方法は?
SSOはブラウザログイン専用です。ユーザ名とパスワードのみを使用するには、vManageを手動で従来のログインページに移動し、SSOをバイパスできます。https://<vmanage>:8443/login.html
どの暗号化アルゴリズムが使用されますか。
現在、暗号化アルゴリズムとしてSHA1をサポートしています。vManageは、IdPsが受け入れる必要があるSHA1アルゴリズムを使用してSAMLメタデータファイルに署名します。 SHA256のサポートは将来のリリースで提供される予定ですが、現在はサポートされていません。
関連情報
シングルサインオンの設定:https://www.cisco.com/c/en/us/td/docs/routers/sdwan/configuration/security/ios-xe-16/security-book-xe/configure-sso.html
参考としてケースに添付されているOKTAログイン/ログアウト作業ログ。