11.3. Red Hat Quay OIDC デプロイメントのチーム同期
管理者は、グループまたはチームの同期をサポートする OpenID Connect (OIDC) アイデンティティープロバイダーを活用して、Red Hat Quay のユーザーセットにリポジトリー権限を適用できます。これにより、管理者は Red Hat Quay と OIDC グループ間でグループ定義を手動で作成して同期する必要がなくなります。
11.3.1. Red Hat Quay OIDC デプロイメントの同期の有効化
Red Hat Quay デプロイメントで OIDC オーセンティケーターを使用する場合、チーム同期を有効にするには、次の手順に従います。
次の手順では、特定の OIDC プロバイダーは使用されません。代わりに、OIDC プロバイダーおよび Red Hat Quay 間のチーム同期をどのように使用すると最適かについて概説します。任意の OIDC プロバイダーを使用してチーム同期を有効にすることができますが、設定はプロバイダーによって異なる場合があります。
手順
次の情報を使用して
config.yaml
ファイルを更新します。AUTHENTICATION_TYPE: OIDC # ... OIDC_LOGIN_CONFIG: CLIENT_ID: 1 CLIENT_SECRET: 2 OIDC_SERVER: 3 SERVICE_NAME: 4 PREFERRED_GROUP_CLAIM_NAME: 5 LOGIN_SCOPES: [ 'openid', '<example_scope>' ] 6 OIDC_DISABLE_USER_ENDPOINT: false 7 # ... FEATURE_TEAM_SYNCING: true 8 FEATURE_NONSUPERUSER_TEAM_SYNCING_SETUP: true 9 FEATURE_UI_V2: true # ...
- 1
- 必須。この Red Hat Quay インスタンスの登録済み OIDC クライアント ID。
- 2
- 必須。この Red Hat Quay インスタンスの登録済み OIDC クライアントシークレット。
- 3
- 必須。認証に使用される OIDC サーバーのアドレス。この URL は、
<OIDC_SERVER>/.well-known/openid-configuration
へのGET
リクエストがプロバイダーの設定情報を返すような URL である必要があります。この設定情報は、依存当事者 (RP) が OpenID Connect プロバイダーと安全にやり取りし、認証および承認プロセスに必要な詳細を取得するために不可欠です。 - 4
- 必須。認証されているサービスの名前。
- 5
- 必須。ユーザーのグループメンバーシップに関する情報を保持する OIDC トークンペイロード内のキー名。このフィールドにより、認証システムは OIDC トークンからグループメンバーシップ情報を抽出し、Red Hat Quay で使用できるようになります。
- 6
- 必須。Red Hat Quay が OIDC プロバイダーとの通信に使用するスコープを追加します。
'openid'
を含める必要があります。追加のスコープはオプションです。 - 7
/userinfo
エンドポイントを許可するか無効にするかを指定します。Azure Entra ID を使用する場合は、このフィールドをtrue
に設定します。デフォルトはfalse
です。- 8
- 必須。認証エンジンのバッキンググループからチームメンバーシップを同期できるようにするかどうか。
- 9
- オプション: 有効にすると、スーパーユーザー以外のユーザーもチームの同期を設定できます。
- Red Hat Quay レジストリーを再起動します。
11.3.2. チーム同期のための Red Hat Quay デプロイメントの設定
- OIDC プロバイダー経由で Red Hat Quay レジストリーにログインします。
- Red Hat Quay v2 UI ダッシュボードで、Create Organization をクリックします。
-
組織名を入力します (例:
test-org)
。 - 組織の名前をクリックします。
- ナビゲーションウィンドウで、Teams and membership をクリックします。
-
Create new team をクリックし、
testteam
などの名前を入力します。 Create team ポップアップで、以下を実行します。
- オプション: このチームをリポジトリーに追加します。
-
ユーザーのアカウント名を入力して、チームメンバー (例:
user1
) を追加します。 - このチームにロボットアカウントを追加します。このページでは、ロボットアカウントを作成するオプションが提供されます。
- Next をクリックします。
- Review and Finish ページで、入力した情報を確認し、Review and Finish をクリックします。
- Red Hat Quay OIDC デプロイメントのチーム同期を有効にするには、Teams and membership ページで Enable Directory Sync をクリックします。
OIDC オーセンティケーターが Azure Entra ID の場合はグループオブジェクト ID を入力するように求められ、別のプロバイダーを使用している場合はグループ名を入力するように求められます。ポップアップのメッセージに注意してください。
警告チーム同期を有効にすると、すでにチームに所属しているユーザーのメンバーシップは取り消されることに注意してください。OIDC グループが信頼できる唯一の情報源となります。これは元に戻すことができないアクションです。Quay 内からのチームのユーザーメンバーシップは読み取り専用になります。
- Enable Sync をクリックします。
Teams and membership ページに戻ります。このチームのユーザーは削除され、ログインし直すと、再度追加されることに注意してください。この段階では、ロボットアカウントのみがまだチームの一部です。
ページ上部のバナーでチームが同期されていることを確認します。
This team is synchronized with a group in OIDC and its user membership is therefore read-only.
Directory Synchronization Config アコーディオンをクリックすると、デプロイメントが同期されている OIDC グループが表示されます。
- Red Hat Quay レジストリーからログアウトし、検証手順に進みます。
検証
以下の検証手順を使用して、user1
がチームのメンバーとして表示されることを確認します。
- Red Hat Quay レジストリーに再度ログインします。
-
Organizations
test-org test-team Teams and memberships をクリックします。これで、 user1
がこのチームのチームメンバーとして表示されます。
検証
以下の手順に従って、OIDC プロバイダー経由でグループから user1
を削除し、その後 Red Hat Quay のチームからも削除します。
- OIDC プロバイダーの管理コンソールに移動します。
- OIDC プロバイダーの Users ページに移動します。このページの名前はプロバイダーによって異なります。
-
Red Hat Quay に関連付けられているユーザーの名前 (例:
user1)
をクリックします。 - 設定されたアイデンティティープロバイダーのグループからユーザーを削除します。
- ユーザーからアクセス権限を削除または割り当て解除します。
- Red Hat Quay レジストリーにログインします。
-
Organizations
test-org test-team Teams and memberships をクリックします。 user1
はこのチームから削除されました。