シングルサインオン(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の実装例を参照してください。
デフォルトの認証方法からシングルサインオンに変更する場合、新しいSSO資格情報はWeb UIにのみ適用されます。 |
1. 前提条件
開始する前に、これらのパラメータを使用して外部IDサービスプロバイダを設定しておく必要があります。 手順については、IdPのドキュメントを確認してください。
IdPユーザとSUSE Multi-Linux ManagerユーザのマッピングはSAML:Attributeで指定します。SAML:AttributeはIdPで指定し、SAML認証時にSUSE Multi-Linux Managerに渡す必要があります。この属性には |
以下のエンドポイントが必要です。
-
アサーションコンシューマサービス(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です
ユーザorgadmin
を使用したIdPによる認証が成功した後で、orgadmin
ユーザがSUSE Multi-Linux Managerに存在する場合は、orgadmin
ユーザとしてSUSE Multi-Linux Managerにログインします。
2. SSOの有効化
SSOの使用は、他のタイプの認証と相互に排他的であり、有効か無効のいずれかです。 SSOはデフォルトで無効になっています。 |
サーバコンテナでステップを実行する前に、 |
-
ユーザがまだSUSE Multi-Linux 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 Multi-Linux ManagerのURLにアクセスすると、認証を要求されたSSO用IdPにリダイレクトされます。 認証に成功すると、SUSE Multi-Linux Manager Web UIにリダイレクトされ、認証されたユーザとしてログインします。 SSOを使用したログインで問題が発生した場合は、SUSE Multi-Linux Managerのログで詳細情報を確認してください。