11.2. Red Hat Quay の Azure AD OIDC の設定

Azure AD 認証を Red Hat Quay と統合することにより、組織は Azure AD が提供する一元的なユーザー管理およびセキュリティー機能を活用できます。一部の機能には、Azure AD のロールと権限に基づいて Red Hat Quay リポジトリーへのユーザーアクセスを管理する機能や、Azure AD によって提供される多要素認証やその他のセキュリティー機能を有効にする機能が含まれます。

Red Hat Quay の Azure Active Directory (Azure AD) 認証を使用すると、ユーザーは Azure AD 認証情報を使用して Red Hat Quay を認証し、アクセスできるようになります。

11.2.1. Red Hat Quay 設定ツールを使用した Azure AD の設定

次の手順では、config ツールを使用して Red Hat Quay 用に Azure AD を設定します。

手順

  1. Red Hat Quay config エディターツールを入力します。

    1. スタンドアロン Red Hat Quay デプロイメントを実行している場合は、次のコマンドを入力できます。

      $ sudo podman run --rm -it --name quay_config -p 80:8080 -p 443:8443 registry.redhat.io/quay/quay-rhel8:v3.10.3 config secret

      ブラウザーを使用して、設定ツールのユーザーインターフェイスに移動し、ログインします。

    2. Red Hat Quay Operator を使用している場合は、OperatorsInstalled Operators に移動します。Red Hat QuayQuay Registry をクリックします。次に、Red Hat Quay レジストリーの名前と、Config Editor Endpoint にリストされている URL をクリックします。
  2. External Authorization (OAuth) セクションまで下にスクロールします。
  3. Add OIDC Provider をクリックします。
  4. プロンプトが表示されたら、ODIC プロバイダーの ID を入力します。

    注記

    OIDC サーバーは / で終わる必要があります。

  5. ODIC プロバイダーが追加されると、Red Hat Quay には、Azure に登録する必要がある 3 つのコールバック URL がリストされます。これらのアドレスにより、認証が確認された後、Azure は Red Hat Quay に直接戻ることができます。以下に例を示します。

    • 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
  6. すべての必須フィールドが設定されたら、Validate Configuration Changes ボタンを選択して、設定を検証します。エラーが報告される場合は、設定が有効となり、Red Hat Quay がデータベースおよび Redis サーバーに接続できるまで、設定の編集を継続します。

11.2.2. Red Hat Quay config.yaml ファイルを更新して Azure AD を設定する

次の手順を使用して、Red Hat Quay config.yaml ファイルを直接更新して Azure AD を設定します。

手順
  • 次の手順を使用すると、追加されている認証プロバイダーに関係なく、任意の ODIC プロバイダーを Red Hat Quay に追加できます。
  • システムでファイアウォールが使用されている場合、またはプロキシーが有効になっている場合は、作成される Oauth アプリケーションごとにすべての Azure API エンドポイントをホワイトリストに登録する必要があります。それ以外の場合は、次のエラーが返されます。x509: certificate signed by unknown authority
  1. 以下の情報を Red Hat Quay config.yaml ファイルに追加します。

    AZURE_LOGIN_CONFIG: 1
        CLIENT_ID: <client_id> 2
        CLIENT_SECRET: <client_secret> 3
        OIDC_SERVER: <oidc_server_address_> 4
        SERVICE_NAME: Azure AD 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. Azure AD を適切に設定すると、次の形式で 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 デプロイメントを再起動します。