第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
  1. 次のリファレンスを使用して任意の OIDC プロバイダーの認証情報で config.yaml ファイルを更新します。

    # ...
    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) に置き換えることができます。ただし、次の文字列は受け入れられません: GOOGLEGITHUB。これらの文字列は、それぞれの ID プラットフォーム用に予約されており、使用するプラットフォームに応じて特定の config.yaml エントリーが必要です。
    2
    認証プロバイダーに再登録されるアプリケーションのクライアント ID。
    3
    認証プロバイダーに登録されているアプリケーションのクライアントシークレット。
    4
    認証に使用される OIDC サーバーのアドレス。この例では、発行者識別子として 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
    ユーザーの電子メールアドレスを確認するために使用されるクレームの名前。
  2. 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
  3. Red Hat Quay デプロイメントを再起動します。