シングルサインオン(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にのみ適用されます。 |
1. 前提条件
開始する前に、これらのパラメータを使用して外部IDサービスプロバイダを設定しておく必要があります。 手順については、IdPのドキュメントを確認してください。
IdPユーザとSUSE ManagerユーザのマッピングはSAML:Attributeで指定します。SAML:AttributeはIdPで指定し、SAML認証時にSUSE Managerに渡す必要があります。この属性には |
以下のエンドポイントが必要です。
-
アサーションコンシューマサービス(ACS): SAMLメッセージを受け入れてサービスプロバイダへのセッションを確立するエンドポイント。 SUSE ManagerのACSのエンドポイントはhttps://server.example.com/rhn/manager/sso/acsです
-
シングルログアウトサービス(SLS): IdPからログアウト要求を開始するエンドポイント。 SUSE ManagerのSLSのエンドポイントはhttps://server.example.com/rhn/manager/sso/slsです
-
メタデータ: SAMLのSUSE Managerメタデータを取得するエンドポイント。 SUSE Managerのメタデータのエンドポイントはhttps://server.example.com/rhn/manager/sso/metadataです
ユーザorgadmin
を使用したIdPによる認証が成功した後で、orgadmin
ユーザがSUSE Managerに存在する場合は、orgadmin
ユーザとしてSUSE Managerにログインします。
2. SSOの有効化
SSOの使用は、他のタイプの認証と相互に排他的であり、有効か無効のいずれかです。 SSOはデフォルトで無効になっています。 |
サーバコンテナで手順を実行する前に、 |
-
ユーザがまだSUSE Managerに存在しない場合は、まず作成してください。
-
/etc/rhn/rhn.conf
を編集して、次の行をファイルの最後に追加します。java.sso = true
-
/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
をファイル内で検索します。 すべてのパラメータには、その意味についての簡単な説明が含まれています。 -
spacewalkサービスを再起動して変更を取得します。
mgradm restart
SUSE ManagerのURLにアクセスすると、認証を要求されたSSO用IdPにリダイレクトされます。 認証に成功すると、SUSE Manager Web UIにリダイレクトされ、認証されたユーザとしてログインします。 SSOを使用したログインで問題が発生した場合は、SUSE Managerのログで詳細情報を確認してください。