This documentation is for a release that is no longer maintained
See documentation for the latest supported version.第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) 認証プロバイダーを有効にします。
前提条件
- カスタム Developer Hub アプリケーション設定を追加 している。また、それを変更するための十分な権限を持っている。
- RHSSO でレルムを作成および管理するための十分な権限がある。
手順
Developer Hub が RHSSO で認証できるようにするには、RHSSO の手順を完了し、レルムとユーザーを作成 し、Developer Hub アプリケーションを登録 します。
既存のレルムを使用するか、<my_realm> などの固有の 名前 を持つ レルムを作成 します。次のステップのために値を保存します。
- RHSSO レルムのベース URL (例: <your_rhsso_URL>/auth/realms/<your_realm>)。
RHSSO に Developer Hub を登録するには、作成されたレルムで、次の内容を使用して クライアント ID を作成 します。
- クライアント ID: <RHDH> などの固有のクライアント ID。
-
有効なリダイレクト URI: OIDC ハンドラー URL
https://<RHDH_URL>/api/auth/oidc/handler/frame
に設定します。 - Credentials タブに移動し、Client secret をコピーします。
次のステップのために値を保存します。
- Client ID
- Client Secret
- 検証手順を準備するには、同じレルムで、既存のユーザーの認証情報を取得するか、ユーザーを作成 します。検証手順用にユーザー認証情報を保存します。
RHSSO 認証情報を Developer Hub シークレットに追加するには、
secrets-rhdh
などの Developer Hub シークレットを編集し、次のキー/値のペアを追加します。AUTH_OIDC_CLIENT_ID
- 保存した クライアント ID を入力します。
AUTH_OIDC_CLIENT_SECRET
- 保存した クライアントシークレット を入力します。
AUTH_OIDC_METADATA_URL
- 保存した RHSSO レルムのベース URL を入力します。
Developer Hub のカスタム設定で RHSSO 認証プロバイダーをセットアップするには、
app-config-rhdh
などのカスタム Developer Hub ConfigMap を編集し、app-config-rhdh.yaml
コンテンツに次の行を追加します。RHSSO による認証を有効にするための必須フィールドを含む
app-config-rhdh.yaml
フラグメントCopy to Clipboard Copied! Toggle word wrap Toggle overflow environment: production
-
環境を
production
としてマークすると、Developer Hub のホームページでゲストログインが非表示になります。 metadataUrl
、clientId
、clientSecret
- シークレットを使用して OIDC プロバイダーを設定します。
sigInPage: oidc
- OIDC プロバイダーをデフォルトのサインインプロバイダーとして有効にします。
オプション: 次のオプションフィールドを追加することを検討してください。
dangerouslyAllowSignInWithoutUserInCatalog: true
Developer Hub ソフトウェアカタログでユーザーをプロビジョニングする必要なく認証を有効にします。
警告このオプションは Developer Hub の機能を調べるために使用しますが、実稼働環境では使用しないでください。
ソフトウェアカタログに存在しないユーザーを認証できるようにするオプションフィールドを含む
app-config-rhdh.yaml
フラグメントCopy to Clipboard Copied! Toggle word wrap Toggle overflow
callbackUrl
RHSSO コールバック URL。
オプションの callbackURL
フィールドを含む app-config-rhdh.yaml
フラグメント
auth: providers: oidc: production: callbackUrl: ${AUTH_OIDC_CALLBACK_URL}
auth:
providers:
oidc:
production:
callbackUrl: ${AUTH_OIDC_CALLBACK_URL}
tokenEndpointAuthMethod
トークンエンドポイント認証方法。
オプションの tokenEndpointAuthMethod
フィールドを含む app-config-rhdh.yaml
フラグメント
auth: providers: oidc: production: tokenEndpointAuthMethod: ${AUTH_OIDC_TOKEN_ENDPOINT_METHOD}
auth:
providers:
oidc:
production:
tokenEndpointAuthMethod: ${AUTH_OIDC_TOKEN_ENDPOINT_METHOD}
tokenSignedResponseAlg
トークン署名応答アルゴリズム。
オプションの tokenSignedResponseAlg
フィールドを含む app-config-rhdh.yaml
フラグメント
auth: providers: oidc: production: tokenSignedResponseAlg: ${AUTH_OIDC_SIGNED_RESPONSE_ALG}
auth:
providers:
oidc:
production:
tokenSignedResponseAlg: ${AUTH_OIDC_SIGNED_RESPONSE_ALG}
scope
RHSSO スコープ。
オプションの scope
フィールドを含む app-config-rhdh.yaml
フラグメント
auth: providers: oidc: production: scope: ${AUTH_OIDC_SCOPE}
auth:
providers:
oidc:
production:
scope: ${AUTH_OIDC_SCOPE}
signIn.resolvers
デフォルトのリゾルバーをオーバーライドする宣言型リゾルバー: emailLocalPartMatchingUserEntityName
。認証プロバイダーは、成功するまで各サインインリゾルバーを試行し、どれも成功しない場合は失敗します。
オプションの callbackURL
フィールドを含む app-config-rhdh.yaml
フラグメント
auth.backstageTokenExpiration
Developer Hub トークンの有効期限をデフォルト値の 1 時間から変更する場合、これはセッション期間ではなく、短期暗号化トークンの有効期間を指すことに注意してください。有効期限の値は 10 分から 24 時間の間で設定する必要があります。
オプションの auth.backstageTokenExpiration
フィールドを含む app-config-rhdh.yaml
フラグメント
auth: backstageTokenExpiration: { minutes: <user_defined_value> }
auth:
backstageTokenExpiration: { minutes: <user_defined_value> }
セキュリティー上の考慮事項
頻繁なリフレッシュトークンの要求により複数の有効なリフレッシュトークンが発行された場合、古いトークンは期限が切れるまで有効です。セキュリティーを強化し、古いトークンの誤用を防ぐには、RHBK レルムでリフレッシュトークンのローテーションストラテジーを有効にします。
- ナビゲーションメニューの Configure セクションで、Realm Settings をクリックします。
- Realm Settings ページで、Tokens タブをクリックします。
- Tokens タブの Refresh tokens セクションで、Revoke Refresh Token を Enabled に切り替えます。
検証
- Developer Hub のログインページに移動します。
- Developer Hub のサインインページには OIDC を使用してサインイン と表示され、ゲストユーザーのサインインは無効になっています。
- 保存した ユーザー名 と パスワード の値を使用して、OIDC でログインします。