第2章 Red Hat Single Sign-On (RHSSO) による認証


Red Hat Single Sign-On (RHSSO) を使用してユーザーを認証する場合:

2.1. Red Hat Single-Sign On (RHSSO) による認証の有効化

Red Hat Single Sign-On (RHSSO) を使用してユーザーを認証するには、Red Hat Developer Hub で OpenID Connect (OIDC) 認証プロバイダーを有効にします。

前提条件

手順

  1. Developer Hub が RHSSO で認証できるようにするには、RHSSO の手順を完了し、レルムとユーザーを作成 し、Developer Hub アプリケーションを登録 します。

    1. 既存のレルムを使用するか、<my_realm> などの固有の 名前 を持つ レルムを作成 します。次のステップのために値を保存します。

      • RHSSO レルムのベース URL (例: <your_rhsso_URL>/auth/realms/<your_realm>)。
    2. RHSSO に Developer Hub を登録するには、作成されたレルムで、次の内容を使用して クライアント ID を作成 します。

      1. クライアント ID: <RHDH> などの固有のクライアント ID。
      2. 有効なリダイレクト URI: OIDC ハンドラー URL https://<RHDH_URL>/api/auth/oidc/handler/frame に設定します。
      3. Credentials タブに移動し、Client secret をコピーします。
      4. 次のステップのために値を保存します。

        • Client ID
        • Client Secret
    3. 検証手順を準備するには、同じレルムで、既存のユーザーの認証情報を取得するか、ユーザーを作成 します。検証手順用にユーザー認証情報を保存します。
  2. RHSSO 認証情報を Developer Hub シークレットに追加するには、secrets-rhdh などの Developer Hub シークレットを編集し、次のキー/値のペアを追加します。

    AUTH_OIDC_CLIENT_ID
    保存した クライアント ID を入力します。
    AUTH_OIDC_CLIENT_SECRET
    保存した クライアントシークレット を入力します。
    AUTH_OIDC_METADATA_URL
    保存した RHSSO レルムのベース URL を入力します。
  3. Developer Hub のカスタム設定で RHSSO 認証プロバイダーをセットアップするには、app-config-rhdh などのカスタム Developer Hub ConfigMap を編集し、app-config-rhdh.yaml コンテンツに次の行を追加します。

    RHSSO による認証を有効にするための必須フィールドを含む app-config-rhdh.yaml フラグメント

    auth:
      environment: production
      providers:
        oidc:
          production:
            metadataUrl: ${AUTH_OIDC_METADATA_URL}
            clientId: ${AUTH_OIDC_CLIENT_ID}
            clientSecret: ${AUTH_OIDC_CLIENT_SECRET}
    signInPage: oidc
    Copy to Clipboard Toggle word wrap

    environment: production
    環境を production としてマークすると、Developer Hub のホームページでゲストログインが非表示になります。
    metadataUrlclientIdclientSecret
    シークレットを使用して OIDC プロバイダーを設定します。
    sigInPage: oidc
    OIDC プロバイダーをデフォルトのサインインプロバイダーとして有効にします。

    オプション: 次のオプションフィールドを追加することを検討してください。

    dangerouslyAllowSignInWithoutUserInCatalog: true

    Developer Hub ソフトウェアカタログでユーザーをプロビジョニングする必要なく認証を有効にします。

    警告

    このオプションは Developer Hub の機能を調べるために使用しますが、実稼働環境では使用しないでください。

    ソフトウェアカタログに存在しないユーザーを認証できるようにするオプションフィールドを含む app-config-rhdh.yaml フラグメント

    auth:
      environment: production
      providers:
        oidc:
          production:
            metadataUrl: ${AUTH_OIDC_METADATA_URL}
            clientId: ${AUTH_OIDC_CLIENT_ID}
            clientSecret: ${AUTH_OIDC_CLIENT_SECRET}
    signInPage: oidc
    dangerouslyAllowSignInWithoutUserInCatalog: true
    Copy to Clipboard Toggle word wrap

callbackUrl

RHSSO コールバック URL。

オプションの callbackURL フィールドを含む app-config-rhdh.yaml フラグメント

auth:
  providers:
    oidc:
      production:
        callbackUrl: ${AUTH_OIDC_CALLBACK_URL}
Copy to Clipboard Toggle word wrap

tokenEndpointAuthMethod

トークンエンドポイント認証方法。

オプションの tokenEndpointAuthMethod フィールドを含む app-config-rhdh.yaml フラグメント

auth:
  providers:
    oidc:
      production:
        tokenEndpointAuthMethod: ${AUTH_OIDC_TOKEN_ENDPOINT_METHOD}
Copy to Clipboard Toggle word wrap

tokenSignedResponseAlg

トークン署名応答アルゴリズム。

オプションの tokenSignedResponseAlg フィールドを含む app-config-rhdh.yaml フラグメント

auth:
  providers:
    oidc:
      production:
        tokenSignedResponseAlg: ${AUTH_OIDC_SIGNED_RESPONSE_ALG}
Copy to Clipboard Toggle word wrap

scope

RHSSO スコープ。

オプションの scope フィールドを含む app-config-rhdh.yaml フラグメント

auth:
  providers:
    oidc:
      production:
        scope: ${AUTH_OIDC_SCOPE}
Copy to Clipboard Toggle word wrap

signIn.resolvers

デフォルトのリゾルバーをオーバーライドする宣言型リゾルバー: emailLocalPartMatchingUserEntityName。認証プロバイダーは、成功するまで各サインインリゾルバーを試行し、どれも成功しない場合は失敗します。

オプションの callbackURL フィールドを含む app-config-rhdh.yaml フラグメント

auth:
  providers:
    oidc:
      production:
        signIn:
          resolvers:
            - resolver: preferredUsernameMatchingUserEntityName
            - resolver: emailMatchingUserEntityProfileEmail
            - resolver: emailLocalPartMatchingUserEntityName
Copy to Clipboard Toggle word wrap

auth.backstageTokenExpiration

Developer Hub トークンの有効期限をデフォルト値の 1 時間から変更する場合、これはセッション期間ではなく、短期暗号化トークンの有効期間を指すことに注意してください。有効期限の値は 10 分から 24 時間の間で設定する必要があります。

オプションの auth.backstageTokenExpiration フィールドを含む app-config-rhdh.yaml フラグメント

auth:
  backstageTokenExpiration: { minutes: <user_defined_value> }
Copy to Clipboard Toggle word wrap

セキュリティー上の考慮事項

頻繁なリフレッシュトークンの要求により複数の有効なリフレッシュトークンが発行された場合、古いトークンは期限が切れるまで有効です。セキュリティーを強化し、古いトークンの誤用を防ぐには、RHBK レルムでリフレッシュトークンのローテーションストラテジーを有効にします。

  1. ナビゲーションメニューの Configure セクションで、Realm Settings をクリックします。
  2. Realm Settings ページで、Tokens タブをクリックします。
  3. Tokens タブの Refresh tokens セクションで、Revoke Refresh TokenEnabled に切り替えます。

検証

  1. Developer Hub のログインページに移動します。
  2. Developer Hub のサインインページには OIDC を使用してサインイン と表示され、ゲストユーザーのサインインは無効になっています。
  3. 保存した ユーザー名パスワード の値を使用して、OIDC でログインします。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat