11.2. Red Hat Quay の Red Hat Single Sign-On の設定
Keycloak プロジェクトに基づいた Red Hat Single Sign-On (RH-SSO) は、Red Hat が提供するオープンソースのアイデンティティーおよびアクセス管理 (IAM) ソリューションです。RH-SSO を使用すると、組織はユーザー ID を管理し、アプリケーションを保護して、システムとアプリケーション全体にアクセス制御ポリシーを適用できます。また、統合された認証および認可フレームワークも提供します。これにより、ユーザーは一度ログインすることで、再認証することなく複数のアプリケーションやリソースにアクセスできるようになります。詳細は、Red Hat Single Sign-On を参照してください。
Red Hat Quay で Red Hat Single Sign-On を設定すると、Red Hat Quay と OpenShift Container Platform などの他のアプリケーションプラットフォームの間にシームレスな認証インテグレーションを作成できます。
11.2.1. Red Hat Quay Operator で使用するための Red Hat Single Sign-On Operator の設定
以下の手順を使用して、OpenShift Container Platform で Red Hat Quay Operator の Red Hat Single Sign-On を設定します。
前提条件
- Red Hat Single Sign-On Operator が設定されている。詳細は、Red Hat Single Sign-On Operator を参照してください。
- Red Hat Single Sign-On および OpenShift Container Platform デプロイメントで Red Hat Quay に SSL/TLS が設定されている。
- 単一の認証局 (CA) を生成し、それを Red Hat Single Sign-On Operator と Red Hat Quay 設定にアップロードしている。
手順
Red Hat Single Sign-On 管理コンソール に移動します。
-
OpenShift Container Platform Web コンソール で、Network
Route に移動します。 - ドロップダウンリストから Red Hat Single Sign-On プロジェクトを選択します。
- Routes テーブルで Red Hat Single Sign-On 管理コンソール を見つけます。
-
OpenShift Container Platform Web コンソール で、Network
- Red Hat Quay の設定に使用するレルムを選択します。
- ナビゲーションパネルの Configure セクションで Clients をクリックし、Create ボタンをクリックして Red Hat Quay の新しい OIDC を追加します。
以下の情報を入力します。
-
Client ID:
quay-enterprise
-
Client Protocol:
openid-connect
-
Root URL:
https://<quay_endpoint>/
-
Client ID:
- Save をクリックします。これにより、Clients 設定パネルにリダイレクトされます。
- Access Type に移動し、Confidential を選択します。
Valid Redirect URI に移動します。3 つのリダイレクト URI を指定する必要があります。値は、Red Hat Quay レジストリーの完全修飾ドメイン名に
/oauth2/redhatsso/callback
を付加したものである必要があります。以下に例を示します。-
https://<quay_endpoint>/oauth2/redhatsso/callback
-
https://<quay_endpoint>/oauth2/redhatsso/callback/attach
-
https://<quay_endpoint>/oauth2/redhatsso/callback/cli
-
- Save をクリックして、新しい Credentials 設定に移動します。
- Secret の値をコピーします。
11.2.1.1. Red Hat Single Sign-On を使用するための Red Hat Quay Operator の設定
Red Hat Quay Operator で Red Hat Single Sign-On を設定するには、次の手順を使用します。
前提条件
- Red Hat Single Sign-On Operator が設定されている。詳細は、Red Hat Single Sign-On Operator を参照してください。
- Red Hat Single Sign-On および OpenShift Container Platform デプロイメントで Red Hat Quay に SSL/TLS が設定されている。
- 単一の認証局 (CA) を生成し、それを Red Hat Single Sign-On Operator と Red Hat Quay 設定にアップロードしている。
手順
-
Operator
Installed Operators Red Hat Quay Quay Registry Config Bundle Secret に移動して、Red Hat Quay config.yaml
ファイルを編集します。次に、ActionsEdit Secret をクリックします。または、 config.yaml
ファイルをローカルに更新することもできます。 以下の情報を OpenShift Container Platform
config.yaml
ファイルの Red Hat Quay に追加します。# ... RHSSO_LOGIN_CONFIG: 1 CLIENT_ID: <client_id> 2 CLIENT_SECRET: <client_secret> 3 OIDC_SERVER: <oidc_server_url> 4 SERVICE_NAME: <service_name> 5 SERVICE_ICON: <service_icon> 6 VERIFIED_EMAIL_CLAIM_NAME: <example_email_address> 7 PREFERRED_USERNAME_CLAIM_NAME: <preferred_username> 8 LOGIN_SCOPES: 9 - 'openid' # ...
- 1
- OIDC 設定を保持する親キー。この例では、使用される親キーは
AZURE_LOGIN_CONFIG
です。ただし、文字列AZURE
は、特定のニーズに基づいて任意の文字列 (たとえば、ABC123
) に置き換えることができます。ただし、次の文字列は受け入れられません:GOOGLE
、GITHUB
。これらの文字列は、それぞれの ID プラットフォーム用に予約されており、使用するプラットフォームに応じて特定のconfig.yaml
エントリーが必要です。 - 2
- 認証プロバイダーで再登録されるアプリケーションのクライアント ID (例:
quay-enterprise
)。 - 3
quay-enterprise
OIDC クライアント設定の Credentials タブのクライアントシークレット。- 4
- Red Hat Single Sign-On インスタンスの完全修飾ドメイン名 (FQDN) に
/auth/realms/
とレルム名が追加されます。最後にスラッシュを含める必要があります (例:https://sso-redhat.example.com//auth/realms/<keycloak_realm_name>/
)。 - 5
- Red Hat Quay ログインページに表示される名前 (例:
Red hat Single Sign On)
。 - 6
- ログイン画面のアイコンを変更します。例:
/static/img/RedHat.svg
. - 7
- ユーザーの電子メールアドレスを確認するために使用されるクレームの名前。
- 8
- ユーザーの電子メールアドレスを確認するために使用されるクレームの名前。
- 9
- ログインフローの実行時に OIDC プロバイダーに送信するスコープ (
openid
など)。
- Red Hat Single Sign-On を有効にして、OpenShift Container Platform デプロイメントで Red Hat Quay を再起動します。