第11章 Red Hat Quay の OIDC の設定
Red Hat Quay 用に OpenID Connect (OIDC) を設定すると、デプロイメントにメリットがいくつかあります。たとえば、OIDC を使用すると、ユーザーは Red Hat Single Sign-On、Google、Github、Microsoft などの OIDC プロバイダーからの既存の認証情報を使用して Red Hat Quay に対して認証できるようになります。OIDC のその他の利点には、一元的なユーザー管理、より強固なキュリティー、Single Sign-On (SSO) などがあります。全体として、OIDC 設定はユーザーの認証と管理を簡素化し、セキュリティーを強化して、Red Hat Quay ユーザーにシームレスなユーザーエクスペリエンスを提供します。
以下の手順では、Red Hat Quay のスタンドアロンデプロイメントで Microsoft Entra ID を設定する方法と、Red Hat Quay の Operator ベースのデプロイメントで Red Hat Single Sign-On を設定する方法を示します。これらの手順は、デプロイメントタイプに応じて交換可能です。
これらの手順に従うことで、使用する認証プロバイダーに関係なく、任意の OIDC プロバイダーを Red Hat Quay に追加できるようになります。
11.1. Red Hat Quay のスタンドアロンデプロイメントでの Microsoft Entra ID OIDC の設定
Microsoft Entra ID 認証を Red Hat Quay と統合することで、組織は Microsoft Entra ID が提供する集約ユーザー管理およびセキュリティー機能を活用できるようになります。一部の機能には、Microsoft Entra ID のロールと権限に基づいて Red Hat Quay リポジトリーへのユーザーアクセスを管理する機能や、Microsoft Entra ID によって提供される多要素認証やその他のセキュリティー機能を有効にする機能が含まれます。
Red Hat Quay の Azure Active Directory (Microsoft Entra ID) 認証により、ユーザーは Microsoft Entra ID 認証情報を使用して Red Hat Quay を認証し、アクセスできるようになります。
以下の手順を使用して、Red Hat Quay config.yaml
ファイルを直接更新して Microsoft Entra ID を設定します。
- 次の手順を使用すると、追加されている認証プロバイダーに関係なく、任意の ODIC プロバイダーを Red Hat Quay に追加できます。
-
システムでファイアウォールが使用されている場合、またはプロキシーが有効になっている場合は、作成される Oauth アプリケーションごとにすべての Azure API エンドポイントをホワイトリストに登録する必要があります。それ以外の場合は、次のエラーが返されます。
x509: certificate signed by unknown authority
次のリファレンスを使用して任意の OIDC プロバイダーの認証情報で
config.yaml
ファイルを更新します。AUTHENTICATION_TYPE: OIDC # ... AZURE_LOGIN_CONFIG: 1 CLIENT_ID: <client_id> 2 CLIENT_SECRET: <client_secret> 3 OIDC_SERVER: <oidc_server_address_> 4 SERVICE_NAME: Microsoft Entra ID 5 VERIFIED_EMAIL_CLAIM_NAME: <verified_email> 6 # ...
- 1
- OIDC 設定を保持する親キー。この例では、使用される親キーは
AZURE_LOGIN_CONFIG
です。ただし、文字列AZURE
は、特定のニーズに基づいて任意の文字列 (たとえば、ABC123
) に置き換えることができます。ただし、次の文字列は受け入れられません:GOOGLE
、GITHUB
。これらの文字列は、それぞれの ID プラットフォーム用に予約されており、使用するプラットフォームに応じて特定のconfig.yaml
エントリーが必要です。 - 2
- 認証プロバイダーに再登録されるアプリケーションのクライアント ID。
- 3
- 認証プロバイダーに登録されているアプリケーションのクライアントシークレット。
- 4
- 認証に使用される OIDC サーバーのアドレス。この例では、issuer 識別子として
sts.windows.net
を使用する必要があります。https://login.microsoftonline.com
を使用すると、次のエラーが発生します。Could not create provider for AzureAD.Error: oidc: issuer did not match the issuer returned by provider, expected "https://login.microsoftonline.com/73f2e714-xxxx-xxxx-xxxx-dffe1df8a5d5" got "https://sts.windows.net/73f2e714-xxxx-xxxx-xxxx-dffe1df8a5d5/"
. - 5
- 認証されているサービスの名前。
- 6
- ユーザーの電子メールアドレスを確認するために使用されるクレームの名前。
Microsoft Entra ID を適切に設定すると、次の形式の 3 つのリダイレクトが行われます。
-
https://QUAY_HOSTNAME/oauth2/<name_of_service>/callback
-
https://QUAY_HOSTNAME/oauth2/<name_of_service>/callback/attach
-
https://QUAY_HOSTNAME/oauth2/<name_of_service>/callback/cli
-
- Red Hat Quay デプロイメントを再起動します。