シングルサインオン(SSO)による認証

SUSE Multi-Linux Managerは、Security Assertion Markup Language (SAML) 2プロトコルを実装することで、シングルサインオン(SSO)をサポートしています。

シングルサインオンは、ユーザが1組の資格情報を使用して複数のアプリケーションにアクセスできるようにする認証プロセスです。 SAMLは、認証および許可データを交換するためのXMLベースの規格です。 SAML IDサービスプロバイダ(IdP)は、SUSE Multi-Linux Managerなどのサービスプロバイダ(SP)に認証および許可サービスを提供します。 SUSE Multi-Linux Managerは、シングルサインオンを有効にする必要がある3つのエンドポイントを公開します。

SUSE Multi-Linux ManagerのSSOは以下をサポートします。

  • SSOを使用したログイン。

  • サービスプロバイダが開始したシングルログアウト(SLO)、およびIDサービスプロバイダのシングルログアウトサービス(SLS)を使用してログアウトする。

  • アサーションとnameIdの暗号化。

  • アサーションの署名。

  • AuthNRequest、LogoutRequest、およびLogoutResponderによるメッセージ署名。

  • アサーションコンシューマサービスエンドポイントの有効化。

  • シングル ログアウト サービス エンドポイントの有効化。

  • SPメタデータ(署名可能)の発行。

SUSE Multi-Linux ManagerのSSOは以下をサポートしません。

  • IDサービスプロバイダ(IdP)の製品の選択と実装。

  • 他の製品のSAMLサポート(各製品のドキュメントで確認してください)。

SSOの実装例については、SSOの実装例を参照してください。

If you change from the default authentication method to single sign-on, the new SSO credentials apply only to the Web UI. Client tools such as mgr-sync or spacecmd continue to work with the default authentication method only.

1. 前提条件

開始する前に、これらのパラメータを使用して外部IDサービスプロバイダを設定しておく必要があります。 手順については、IdPのドキュメントを確認してください。

The mapping between the IdP user and the SUSE Multi-Linux Manager user is specified in a SAML:Attribute. The SAML:Attribute must be configured in the IdP and must be passed to SUSE Multi-Linux Manager in the SAML authentication. The attribute must be named uid and must contain the SUSE Multi-Linux Manager user mapped to it after login. The SUSE Multi-Linux Manager user must be created before you activate single sign-on.

以下のエンドポイントが必要です。

  • アサーションコンシューマサービス(ACS): SAMLメッセージを受け入れてサービスプロバイダへのセッションを確立するエンドポイント。 SUSE Multi-Linux ManagerのACSのエンドポイントはhttps://server.example.com/rhn/manager/sso/acsです

  • シングルログアウトサービス(SLS): IdPからログアウト要求を開始するエンドポイント。 SUSE Multi-Linux ManagerのSLSのエンドポイントはhttps://server.example.com/rhn/manager/sso/slsです

  • メタデータ: SAMLのSUSE Multi-Linux Managerメタデータを取得するエンドポイント。 SUSE Multi-Linux Managerのメタデータのエンドポイントはhttps://server.example.com/rhn/manager/sso/metadataです

After the authentication with the IdP using the user orgadmin is successful, you are logged in to SUSE Multi-Linux Manager as the orgadmin user, provided that the orgadmin user exists in SUSE Multi-Linux Manager.

2. SSOの有効化

SSOの使用は、他のタイプの認証と相互に排他的であり、有効か無効のいずれかです。 SSOはデフォルトで無効になっています。

Use mgrctl term before running steps inside the server container.

プロシージャ: SSOの有効化
  1. ユーザがまだSUSE Multi-Linux Managerに存在しない場合は、まず作成してください。

  2. Edit /etc/rhn/rhn.conf and add this line at the end of the file:

    java.sso = true
  3. Find the parameters you want to customize in /usr/share/rhn/config-defaults/rhn_java_sso.conf. Insert the parameters you want to customize into /etc/rhn/rhn.conf and prefix them with java.sso. For example, in /usr/share/rhn/config-defaults/rhn_java_sso.conf find:

    onelogin.saml2.sp.assertion_consumer_service.url = https://YOUR-PRODUCT-HOSTNAME-OR-IP/rhn/manager/sso/acs

    To customize it, create the corresponding option in /etc/rhn/rhn.conf by prefixing the option name with java.sso.:

    java.sso.onelogin.saml2.sp.assertion_consumer_service.url = https://YOUR-PRODUCT-HOSTNAME-OR-IP/rhn/manager/sso/acs

    To find all the occurrences you need to change, search in the file for the placeholders YOUR-PRODUCT and YOUR-IDP-ENTITY. Every parameter comes with a brief explanation of what it is meant for.

  4. spacewalkサービスを再起動して変更を取得します。

    mgradm restart

SUSE Multi-Linux ManagerのURLにアクセスすると、認証を要求されたSSO用IdPにリダイレクトされます。 認証に成功すると、SUSE Multi-Linux Manager Web UIにリダイレクトされ、認証されたユーザとしてログインします。 SSOを使用したログインで問題が発生した場合は、SUSE Multi-Linux Managerのログで詳細情報を確認してください。