10.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 などの他のアプリケーションプラットフォームの間にシームレスな認証インテグレーションを作成できます。
10.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 の値をコピーします。
10.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: CLIENT_ID: <client_id> CLIENT_SECRET: <client_secret> OIDC_SERVER: <oidc_server_url> SERVICE_NAME: <service_name> SERVICE_ICON: <service_icon> VERIFIED_EMAIL_CLAIM_NAME: <example_email_address> PREFERRED_USERNAME_CLAIM_NAME: <preferred_username> LOGIN_SCOPES: [ 'openid', 'roles' ] USE_PKCE: true PKCE_METHOD: "S256" # ...各項目の説明:
RHSSO_LOGIN_CONFIG::OIDC 設定を保持する親キーを指定します。この例では、親キーとしてRHSSO_LOGIN_CONFIGが使用されており、文字列は特定のニーズに基づいて任意の文字列に置き換えることができます。たとえば、ABC123などです。ただし、GOOGLEとGITHUBという文字列は受け付けられません。これらの文字列は、それぞれの ID プラットフォーム用に予約されており、使用するプラットフォームに応じて特定のconfig.yamlエントリーが必要です。CLIENT_ID::アイデンティティープロバイダーに登録されるアプリケーションのクライアント ID を指定します。たとえば、quayなどです。CLIENT_SECRET::クライアントシークレットを指定します。OIDC_SERVER::Red Hat Single Sign-On インスタンスの完全修飾ドメイン名 (FQDN) を指定します。末尾に/auth/realms/とレルム名が付加されます。末尾にスラッシュを含める必要があります。例:https://sso-redhat.example.com//auth/realms/<your_realm_name>/。SERVICE_NAME::Red Hat Quay ログインページに表示される名前を指定します。たとえば、Red Hat Single Sign On などです。SERVICE_ICON::ログイン画面に表示されるアイコンを指定します。例:/static/img/RedHat.svg.VERIFIED_EMAIL_CLAIM_NAME::ユーザーのメールアドレスを検証するために使用されるクレームの名前を指定します。PREFERRED_USERNAME_CLAIM_NAME::ユーザーのメールアドレスを検証するために使用されるクレームの名前を指定します。LOGIN_SCOPES::ログインフローを実行する際に OIDC プロバイダーに送信するスコープを指定します。たとえば、openid などです。USE_PKCE::コード交換用証明キー (PKCE) を有効にするかどうかを指定します。デフォルトはFalseです。PKCE_METHOD::初回認可リクエストで送信されるコードチャレンジを生成するために使用されるコードチャレンジ方法を指定します。デフォルトはS256です。- Red Hat Single Sign-On を有効にして、OpenShift Container Platform デプロイメントで Red Hat Quay を再起動します。