2.11. ダッシュボードでシングルサインオンを使用する
Ceph Dashboard は、Security Assertion Markup Language (SAML) 2.0 プロトコルまたは OAuth2 Proxy (oauth2-proxy
) のいずれかを選択して、ユーザーの外部認証をサポートします。Ceph Dashboard でシングルサインオン (SSO) を使用する前に、ダッシュボードのユーザーアカウントを作成して必要なロールを割り当てます。Ceph Dashboard がユーザー認可を完了すると、既存のアイデンティティープロバイダー (IdP) が認証プロセスを完了します。SAML プロトコルまたは oauth2-proxy
を使用してシングルサインオンを有効化できます。
Red Hat Ceph Storage は、RHSSO (Keycloak) を使用したダッシュボード SSO と多要素認証をサポートしています。
OAuth2 SSO は、oauth2-proxy
サービスを使用して Ceph Management ゲートウェイ (mgmt-gateway
) と連携し、アクセスを統合してユーザーエクスペリエンスを向上させます。
OAuth2 SSO、mgmt-gateway
、oauth2-proxy
サービスはテクノロジープレビュー機能です。
Ceph Management ゲートウェイと OAuth2 Proxy サービスの詳細は、「Ceph Management ゲートウェイ (mgmt-gateway) の使用」および「OAuth2 Proxy (oauth2-proxy) サービスの使用」を参照してください。
Red Hat build of Keycloack の詳細は、Red Hat カスタマーポータル の Red Hat build of Keycloak を参照してください。
2.11.1. Ceph Dashboard にユーザーを同期するための管理者アカウントの作成
ユーザーを Ceph Dashboard に同期するには、管理者アカウントを作成する必要があります。
アカウントを作成したら、Red Hat シングルサインオン (SSO) を使用して、ユーザーを Ceph Dashboard と同期させます。Red Hat Ceph Storage Dashboard ガイド の Red Hat Single Sign-On を使用したユーザーの Ceph Dashboard への同期 セクションを参照してください。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Dashboard がインストールされている。
- ダッシュボードへの管理者レベルのアクセス権。
- ユーザーがダッシュボードに追加されている。
- すべてのホストでの root レベルのアクセスがある。
- Java OpenJDK がインストールされている。詳細は、Red Hat カスタマーポータルで、OpenJDK の RHEL 向け OpenJDK 8 のインストールおよび使用 ガイドの yum を使用した RHEL への JRE のインストール セクションを参照してください。
- Red hat Single Sign-On を ZIP ファイルからインストールしておく。Red Hat カスタマーポータルで、Red Hat Single Sign-On の サーバーインストールおよび設定ガイド の ZIP ファイルからの RH-SSO のインストール セクションを参照してください。
手順
- Red Hat Ceph ストレージがインストールされているシステムに Red Hat Single Sign-On 7.4.0 サーバー をダウンロードします。
フォルダーをデプロイメントします。
[root@host01 ~]# unzip rhsso-7.4.0.zip
standalone/configuration
ディレクトリーに移動し、standalone.xml
を開いて編集します。[root@host01 ~]# cd standalone/configuration [root@host01 configuration]# vi standalone.xml
新しく作成された
rhsso-7.4.0
フォルダーのbin
ディレクトリーから、add-user-keycloak
スクリプトを実行して初期管理者ユーザーを追加します。[root@host01 bin]# ./add-user-keycloak.sh -u admin
-
localhost
のすべてのインスタンスと127.0.0.1
の 2 つのインスタンスは、Red Hat SSO がインストールされているマシンの IP アドレスに置き換えます。 サービスを起動します。
rh-sso-7.4
フォルダーのbin
ディレクトリーから、standalone
ブートスクリプトを実行します。[root@host01 bin]# ./standalone.sh
ユーザー名とパスワードを指定して、https: IP_ADDRESS :8080/auth で管理アカウントを作成します。
注記管理者アカウントは、コンソールへの初回ログイン時に作成にのみ作成する必要があります。
- 作成された認証情報を使用して管理コンソールにログインします。
関連情報
- ダッシュボードでユーザーのロールを追加する方法は、Red Hat Ceph Storage Dashboard ガイド の Ceph Dashboard でのロールの作成 セクションを参照してください。
- ダッシュボードでユーザーを作成する方法は、Red Hat Ceph Storage Dashboard ガイド の Ceph Dashboard でのユーザーの作成 セクションを参照してください。
2.11.2. Red Hat シングルサインオンを使用したユーザーの Ceph Dashboard への同期
Red Hat シングルサインオン (SSO) と Lightweight Directory Access Protocol (LDAP) 統合を使用して、ユーザーを Red Hat Ceph ストレージダッシュボードと同期させることができます。
ユーザーは特定のレルムに追加されます。このレルムでは、パスワードの追加要件なしで SSO を介してダッシュボードにアクセスできます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Dashboard がインストールされている。
- ダッシュボードへの管理者レベルのアクセス権。
- ユーザーがダッシュボードに追加されている。Red Hat Ceph Storage Dashboard ガイド の Ceph Dashboard でのユーザーの作成 セクションを参照してください。
- すべてのホストでの root レベルのアクセスがある。
- ユーザーの同期用に作成された管理者アカウント。Red Hat Ceph Storage Dashboard ガイド の Ceph Dashboard にユーザーを同期するための管理者アカウントの作成 セクションを参照してください。
手順
- レルムを作成するには、Master ドロップダウンメニューをクリックします。このレルムでは、ユーザーおよびアプリケーションにアクセスできます。
Add Realm ウィンドウで、レルム名 (大文字と小文字を区別) を入力し、パラメーターを Enabled に設定し、Create をクリックします。
Realm Settings タブで、次のパラメーターを設定し、Save をクリックします。
- Enabled - ON
- User-Managed Access - ON
Client Settings に貼り付ける SAML 2.0 アイデンティティープロバイダーメタデータのリンクアドレスをメモしておきます。
Clients タブで、Create をクリックします。
Add Client ウィンドウで、次のパラメーターを設定し、Save をクリックします。
クライアント ID - BASE_URL:8443/auth/saml2/metadata
例
https://example.ceph.redhat.com:8443/auth/saml2/metadata
- クライアントプロトコル - saml
Client ウィンドウの Settings タブで、次のパラメーターを設定します。
表2.2 クライアント設定タブ パラメーターの名前 構文 例 クライアント ID
BASE_URL:8443/auth/saml2/metadata
https://example.ceph.redhat.com:8443/auth/saml2/metadata
Enabled
ON
ON
クライアントプロトコル
saml
saml
Include AuthnStatement
ON
ON
サインインドキュメント
ON
ON
Signature Algorithm
RSA_SHA1
RSA_SHA1
SAML Signature Key Name
KEY_ID
KEY_ID
有効なリダイレクト URL
BASE_URL:8443/*
https://example.ceph.redhat.com:8443/*
ベース URL
BASE_URL:8443
https://example.ceph.redhat.com:8443/
Master SAML Processing URL
https://localhost:8080/auth/realms/REALM_NAME/protocol/saml/descriptor
https://localhost:8080/auth/realms/Ceph_LDAP/protocol/saml/descriptor
注記Realm Settings タブから SAML 2.0 アイデンティティープロバイダーメタデータのリンクを貼り付けます。
Fine Grain SAML Endpoint Configuration で、次のパラメーターを設定し、Save をクリックします。
表2.3 詳細にわたる SAML 設定 パラメーターの名前 構文 例 Assertion Consumer Service POST Binding URL
BASE_URL:8443/#/dashboard
https://example.ceph.redhat.com:8443/#/dashboard
Assertion Consumer Service Redirect Binding URL
BASE_URL:8443/#/dashboard
https://example.ceph.redhat.com:8443/#/dashboard
Logout Service Redirect Binding URL
BASE_URL:8443/
https://example.ceph.redhat.com:8443/
Clients ウィンドウの Mappers タブで、次のパラメーターを設定し、Save をクリックします。
表2.4 クライアントマッパータブ パラメーターの名前 値 プロトコル
saml
名前
username
マッパープロパティー
ユーザープロパティー
プロパティー
username
SAML 属性名
username
Clients Scope タブで、role_list を選択します。
- Mappers タブで、role list を選択し、Single Role Attribute をオンに設定します。
User_Federation タブを選択します。
- User Federation ウィンドウで、ドロップダウンメニューから LDAP を選択します。
User_Federation ウィンドウの Settings タブで、次のパラメーターを設定し、Save をクリックします。
表2.5 ユーザーフェデレーション設定タブ パラメーターの名前 値 コンソール表示名
rh-ldap
ユーザーのインポート
ON
Edit_Mode
READ_ONLY
ユーザー名 LDAP 属性
username
RDN LDAP 属性
username
UUID LDAP 属性
nsuniqueid
ユーザーオブジェクトクラス
inetOrgPerson, organizationalPerson, rhatPerson
接続 URL
例: ldap: //ldap.corp.redhat.com。Test Connection をクリックします。LDAP 接続が成功したという通知が表示されます。
ユーザー DN
ou=users、dc=example、dc=com
バインドタイプ
simple
Test authentication をクリックします。LDAP 認証が成功したという通知が表示されます。
Mappers タブで、first name の行を選択して、以下のパラメーターを編集し、Save をクリックします。
- LDAP 属性 - givenName
User_Federation タブの Settings タブで、Synchronize all users をクリックします。
ユーザーの同期が正常に終了したという通知が表示されます。
Users タブで、ダッシュボードに追加されたユーザーを検索し、検索アイコンをクリックします。
ユーザーを表示するには、特定の行をクリックします。フェデレーションリンクは、User Federation で指定した名前で表示されます。
重要ユーザーは LDAP では同期されないため、手動でユーザーを追加しないでください。手動で追加した場合は、Delete をクリックしてユーザーを削除します。
注記現在、作業環境内で Red Hat SSO を使用している場合は、まず SSO を有効にします。詳細は、Red Hat Ceph Storage Dashboard ガイド の Ceph Dashboard で SAMLE 2.0 を使用した Single Sign-On の有効化 セクションを参照してください。
検証
レルムとダッシュボードに追加されたユーザーは、メールアドレスとパスワードを使用して Ceph Dashboard にアクセスできます。
例
https://example.ceph.redhat.com:8443
関連情報
- ダッシュボードでユーザーのロールを追加する方法は、Red Hat Ceph Storage Dashboard ガイド の Ceph Dashboard でのロールの作成 セクションを参照してください。
2.11.3. Ceph Dashboard で SAML 2.0 によるシングルサインオンを有効にする
Ceph Dashboard は、Security Assertion Markup Language (SAML) 2.0 プロトコルを使用したユーザーの外部認証をサポートします。Ceph Dashboard にシングルサインオン (SSO) を使用する前に、ダッシュボードのユーザーアカウントを作成して必要なロールを割り当てます。Ceph Dashboard はユーザーの承認を実行し、認証プロセスは既存のアイデンティティープロバイダー (IdP) によって実行されます。SAML プロトコルを使用してシングルサインオンを有効にできます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph Dashboard がインストールされている。
- Ceph Manager ホストへの root レベルのアクセスがある。
手順
Ceph Dashboard で SSO を設定するには、以下のコマンドを実行します。
構文
cephadm shell CEPH_MGR_HOST ceph dashboard sso setup saml2 CEPH_DASHBOARD_BASE_URL IDP_METADATA IDP_USERNAME_ATTRIBUTE IDP_ENTITY_ID SP_X_509_CERT SP_PRIVATE_KEY
例
[root@host01 ~]# cephadm shell host01 ceph dashboard sso setup saml2 https://dashboard_hostname.ceph.redhat.com:8443 idp-metadata.xml username https://10.70.59.125:8080/auth/realms/realm_name /home/certificate.txt /home/private-key.txt
置き換え
-
CEPH_MGR_HOST と Ceph
mgr
ホスト。(例:host01
) - CEPH_DASHBOARD_BASE_URL は、Ceph Dashboard がアクセス可能なベース URL に置き換えます。
- IDP_METADATA は、リモートパスまたはローカルパス、または IdP メタデータ XML の内容への URL に置き換えます。サポートされる URL タイプは http、https、およびファイルです。
- 任意: IDP_USERNAME_ATTRIBUTE は、認証応答からユーザー名を取得するために使用される属性に置き換えます。デフォルトは uid です。
- 任意: IDP_ENTITY_ID は、IdP メタデータに複数のエンティティー ID が存在する場合は IdP エンティティー ID に置き換えます。
- 任意: SP_X_509_CERT は、署名および暗号化に Ceph Dashboard によって使用される証明書のファイルパスに置き換えます。
- 任意: SP_PRIVATE_KEY は、署名および暗号化に Ceph Dashboard によって使用される秘密鍵のファイルパスに置き換えます。
-
CEPH_MGR_HOST と Ceph
現在の SAML 2.0 設定を確認します。
構文
cephadm shell CEPH_MGR_HOST ceph dashboard sso show saml2
例
[root@host01 ~]# cephadm shell host01 ceph dashboard sso show saml2
SSO を有効にするには、以下のコマンドを実行します。
構文
cephadm shell CEPH_MGR_HOST ceph dashboard sso enable saml2 SSO is "enabled" with "SAML2" protocol.
例
[root@host01 ~]# cephadm shell host01 ceph dashboard sso enable saml2
ダッシュボードの URL を開きます。
例
https://dashboard_hostname.ceph.redhat.com:8443
- SSO ページで、ログインの認証情報を入力します。SSO はダッシュボードの Web インターフェイスにリダイレクトされます。
関連情報
- シングルサインオンを無効にするには、Red Hat Ceph Storage Dashboard ガイド の Ceph Dashboard のシングルサインオンの無効化 を参照してください。
2.11.4. OAuth2 シングルサインオンの有効化 (テクノロジープレビュー)
Ceph Dashboard の OAuth2 シングルサインオン (SSO) を有効にします。OAuth2 SSO は oauth2-proxy サービスを使用します。
テクノロジープレビュー機能は、実稼働環境での Red Hat サービスレベルアグリーメント (SLA) ではサポートされておらず、機能的に完全ではない可能性があるため、Red Hat では実稼働環境での使用を推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。詳細は、「Red Hat テクノロジープレビュー機能のサポート範囲」を参照してください。
前提条件
始める前に、次の前提条件が満たされていることを確認してください。
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph Dashboard がインストールされている。
- Ceph Manager ホストへの root レベルのアクセスがある。
- Red Hat Single-Sign on 7.6.0 の管理者アカウントがある。詳細は、Red Hat Single Sign-On 7.6.0 を使用した管理者アカウントの作成 を参照してください。
-
Ceph Management ゲートウェイ (
mgmt-gateway
) サービスを有効にします。詳細は、「Ceph Management ゲートウェイの有効化」を参照してください。 -
OAuth2 Proxy サービス (
oauth2-proxy
) を有効にします。詳細は、「OAuth2 Proxy サービスの有効化」を参照してください。
手順
Ceph Dashboard OAuth2 SSO アクセスを有効にします。
構文
ceph dashboard sso enable oauth2
例
[ceph: root@host01 /]# ceph dashboard sso enable oauth2 SSO is "enabled" with "oauth2" protocol.
有効なリダイレクト URL を設定します。
構文
https://HOST_NAME|IP_ADDRESS/oauth2/callback
注記この URL は、OAuth2 Proxy サービスで設定されているリダイレクト URL と同じである必要があります。
有効なユーザーロールを設定します。
注記管理者ロールの場合、管理者または読み取り専用アクセス権を持つ IDP ユーザーを設定します。
ダッシュボードの URL を開きます。
例
https://dashboard_hostname.ceph.redhat.com:8443
- SSO ページで、ログインの認証情報を入力します。SSO はダッシュボードの Web インターフェイスにリダイレクトされます。
検証
cephadm shell ceph dashboard sso status
コマンドを使用して、いつでも SSO ステータスを確認します。
例
[root@host01 ~]# cephadm shell ceph dashboard sso status SSO is "enabled" with "oauth2" protocol.
2.11.5. Ceph Dashboard のシングルサインオンの無効化
Ceph Dashboard の SAML 2.0 と OAuth2 SSO はいつでも無効にできます。
前提条件
始める前に、次の前提条件が満たされていることを確認してください。
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph Dashboard がインストールされている。
- Ceph Manager ホストへの root レベルのアクセスがある。
- Ceph Dashboard でシングルサインオンが有効になっている。
手順
SSO の状態を表示するには、以下のコマンドを実行します。
構文
cephadm shell CEPH_MGR_HOST ceph dashboard sso status
例
[root@host01 ~]# cephadm shell host01 ceph dashboard sso status SSO is "enabled" with "SAML2" protocol.
SSO を無効にするには、以下のコマンドを実行します。
構文
cephadm shell CEPH_MGR_HOST ceph dashboard sso disable SSO is "disabled".
例
[root@host01 ~]# cephadm shell host01 ceph dashboard sso disable
関連情報
- シングルサインオンを有効にするには、Red Hat Ceph Storage Dashboard ガイド の Ceph Dashboard で SAML 2.0 によるシングルサインオンを有効にする を参照してください。