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

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

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

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

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

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

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

  • アサーションの署名。

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

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

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

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

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

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

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

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

デフォルトの認証方法からシングルサインオンに変更する場合、新しいSSO資格情報はWeb UIにのみ適用されます。 mgr-syncspacecmdなどのクライアントツールは、引き続きデフォルトの認証方式でのみ動作します。

1. 前提条件

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

IdPユーザとSUSE ManagerユーザのマッピングはSAML:Attributeで指定します。SAML:AttributeはIdPで指定し、SAML認証時にSUSE Managerに渡す必要があります。この属性にはuidという名前を付け、ログイン後にマップされたSUSE Managerユーザを含める必要があります。シングルサインオンを有効にする前に、SUSE Managerが作成されている必要があります。

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

ユーザorgadminを使用したIdPによる認証が成功した後で、orgadminユーザがSUSE Managerに存在する場合は、orgadminユーザとしてSUSE Managerにログインします。

2. SSOの有効化

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

サーバコンテナで手順を実行する前に、mgrctl termを使用します。

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

  2. /etc/rhn/rhn.confを編集して、次の行をファイルの最後に追加します。

    java.sso = true
  3. /usr/share/rhn/config-defaults/rhn_java_sso.confで、カスタマイズするパラメータを見つけます。 カスタマイズするパラメータを/etc/rhn/rhn.confに挿入し、それらのパラメータの前にjava.ssoを付けます。 たとえば、/usr/share/rhn/config-defaults/rhn_java_sso.confで以下を見つけます。

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

    カスタマイズするには、オプション名の前にjava.sso.を付けて、対応するオプションを/etc/rhn/rhn.confに作成します。

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

    変更する必要があるすべての出現を見つけるには、プレースホルダYOUR-PRODUCTおよびYOUR-IDP-ENTITYをファイル内で検索します。 すべてのパラメータには、その意味についての簡単な説明が含まれています。

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

    mgradm restart

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