13.8. 外部認証用の Satellite と Red Hat Single Sign On の統合
CAC カードを使用して Red Hat Single Sign On を外部認証用の OpenID プロバイダーとして使用するように Satellite を設定できます。CAC カードのみを使用できます。他の認証方法はサポートされません。
OpenID プロバイダーとして Red Hat Single Sign-On を使用する認証はテクノロジープレビュー機能です。テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。Red Hat は実稼働環境でこれらを使用することを推奨していません。これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。
Red Hat のテクノロジープレビュー機能のサポート範囲についての詳細は、https://access.redhat.com/ja/support/offerings/techpreview/ を参照してください。
前提条件
- HTTP ではなく、HTTPS を使用する Red Hat Single Sign On サーバーを正常にインストールしている。
- 証明書または CA が自己署名されている場合は、それらがエンドユーザー証明書トラストストアに追加されていることを確認する。
手順
以下のパッケージをインストールします。
satellite-maintain packages install mod_auth_openidc keycloak-httpd-client-install
# satellite-maintain packages install mod_auth_openidc keycloak-httpd-client-install
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite Server に、Red Hat Single Sign On httpd クライアントをインストールします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドは、Red Hat Single Sign On に Satellite のクライアントを登録します。
satellite-installer
を使用して Red Hat Single Sign On を有効にします。satellite-installer --foreman-keycloak true \ --foreman-keycloak-app-name "foreman-openidc" \ --foreman-keycloak-realm "RHSSO_Realm"
# satellite-installer --foreman-keycloak true \ --foreman-keycloak-app-name "foreman-openidc" \ --foreman-keycloak-realm "RHSSO_Realm"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow httpd サービスを再起動します。
systemctl restart httpd
# systemctl restart httpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Red Hat Single Sign-On Web UI で、クライアント に移動し、Satellite クライアントをクリックします。
- アクセスタイプ 設定が 機密 に設定されていることを確認します。
Red Hat Single Sign-On バージョン7.3 以降を使用している場合は、以下の手順を実行します。
- Red Hat Single Sign-On Web UI に移動し、クライアント をクリックして、Satellite に登録されているクライアントをクリックします。
-
デフォルトで 1 つのリダイレクト URI を含む 有効なリダイレクト URI フィールドを見つけます。
https://satellite.example.com/users/extlogin
の形式で、有効なリダイレクト URI を追加します。 - 保存 をクリックします。
マッパー タブをクリックし、作成 をクリックします。オーディエンスマッパーに以下の値を設定します。
- マッパータイプ リストから、オーディエンス を選択します。
組み込み済みクライアントオーディエンス リストから、Satellite で使用するクライアントを選択します。
詳細は、『Red Hat Single Sign On Server Administration Guide』の「Audience Support」を参照してください。
- 保存 をクリックします。
Mapper タブをクリックして 作成 をクリックし、グループメンバーシップをもとに Satellite の認証を指定できるようにグループマッパーを追加します。グループマッパーに以下の値を設定します。
- マッパータイプ リストから、グループメンバーシップ を選択します。
- トークンクレーム名 リストから グループ を選択します。
フルグループパス のトグルを OFF に設定します。
グループマッパーの詳細は、『Red Hat Single Sign-On Server Administration Guide』の「LDAP Mappers」セクションの Group Mapper を参照してください。
- Save をクリックします。
- Satellite Web UI で、管理 > 設定 に移動して、認証 タブをクリックします。
-
ログイン委任の認証 の行を見つけ、値 コラムで値を
Yes
に設定します。 -
Authorize login delegation auth source user autocreate の行を見つけ、値 コラムで値を
External
に設定します。 ログイン委任のログアウト URL の行を見つけ、値 コラムで、値を
https://satellite.example.com/users/extlogout
に設定します。以下の手順では、URL
RHSSO.example.com/auth/realms/RHSSO_REALM/.well-known/openid-configuration
に移動して、必要とする値を取得することができます。-
OIDC アルゴリズム の行を見つけ、値 コラムで、Red Hat Single Sign On のエンコーティングのアルゴリズムを設定します (例:
RS256
)。 -
OIDC オーディエンス 行を見つけ、値 コラム で、値を Red Hat Single Sign On のクライアント ID に設定します
(['satellite.example.com'])
。 -
OIDC 発行者 の行を見つけ、値 コラムで、値を
RHSSO.example.com/auth/realms/RHSSO_Realm
に設定します。 -
OIDC JWKs URL の行を見つけ、値 コラムで、値を
RHSSO.example.com/auth/realms/RHSSO_Realm/protocol/openid-connect/certs
に設定します。 BZ#1792131 が解決されるまで、Hammer CLI を使用して組織とロケーションを設定する必要があります。Red Hat Single Sign-On 認証ソースの ID を取得するには、以下のコマンドを入力します。
hammer auth-source external list
# hammer auth-source external list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 認証元の組織とロケーションを設定します。
hammer auth-source external update --id Authentication Source ID \ --location-ids Location ID --organization-ids Organization ID
# hammer auth-source external update --id Authentication Source ID \ --location-ids Location ID --organization-ids Organization ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これで、https://satellite.example.com/users/extlogin ログイン URL を使用して認証できるようになりました。
CLI をご利用の場合
以下のパッケージをインストールします。
satellite-maintain packages install keycloak-httpd-client-install
# satellite-maintain packages install keycloak-httpd-client-install
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite Server に、Red Hat Single Sign On httpd クライアントをインストールします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、Red Hat Single Sign On で Satellite のクライアントを作成します。
satellite-installer
を使用して Red Hat Single Sign On を有効にします。satellite-installer --foreman-keycloak true \ --foreman-keycloak-app-name "foreman-openidc" \ --foreman-keycloak-realm "RHSSO_Realm"
# satellite-installer --foreman-keycloak true \ --foreman-keycloak-app-name "foreman-openidc" \ --foreman-keycloak-realm "RHSSO_Realm"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow httpd サービスを再起動します。
systemctl restart httpd
# systemctl restart httpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Red Hat Single Sign-On Web UI で、クライアント に移動し、Satellite クライアントをクリックします。
- アクセスタイプ 設定を 公開 に設定します。
-
有効なリダイレクト URL フィールドに
urn:ietf:wg:oauth:2.0:oob
を入力します。 Red Hat Single Sign-On バージョン7.3 以降を使用している場合は、以下の手順を実行します。
- Red Hat Single Sign-On Web UI に移動し、クライアント をクリックして、Satellite に登録されているクライアントをクリックします。
-
デフォルトで 1 つのリダイレクト URI を含む 有効なリダイレクト URI フィールドを見つけます。
https://satellite.example.com/users/extlogin
の形式で、有効なリダイレクト URI を追加します。 - 保存 をクリックします。
マッパー タブをクリックし、作成 をクリックします。オーディエンスマッパーに以下の値を設定します。
- マッパータイプ リストから、オーディエンス を選択します。
組み込み済みクライアントオーディエンス リストから、Satellite で使用するクライアントを選択します。
詳細は、『Red Hat Single Sign On Server Administration Guide』の「Audience Support」を参照してください。
- 保存 をクリックします。
Mapper タブをクリックして 作成 をクリックし、グループメンバーシップをもとに Satellite の認証を指定できるようにグループマッパーを追加します。グループマッパーに以下の値を設定します。
- マッパータイプ リストから、グループメンバーシップ を選択します。
- トークンクレーム名 リストから グループ を選択します。
フルグループパス のトグルを OFF に設定します。
グループマッパーの詳細は、『Red Hat Single Sign-On Server Administration Guide』の「LDAP Mappers」セクションの Group Mapper を参照してください。
- 保存 をクリックします。
Satellite で、ログイン委任を
true
に設定し、ユーザーが Open IDC プロトコルを使用して認証できるようにします。hammer settings set --name authorize_login_delegation --value true
# hammer settings set --name authorize_login_delegation --value true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ログイン認証を外部ソースに設定します。
hammer settings set --name authorize_login_delegation_auth_source_user_autocreate --value External
# hammer settings set --name authorize_login_delegation_auth_source_user_autocreate --value External
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ログイン委任のログアウト URL を以下のように設定します。
hammer settings set --name login_delegation_logout_url \ --value https://satellite.example.com/users/extlogout
# hammer settings set --name login_delegation_logout_url \ --value https://satellite.example.com/users/extlogout
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Single Sign On のエンコーティングのアルゴリズムを設定します (例:
RS256
)。hammer settings set --name oidc_algorithm --value 'RS256'
# hammer settings set --name oidc_algorithm --value 'RS256'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
URL
RHSSO.example.com/auth/realms/RHSSO_REALM/.well-known/openid-configuration
を開いて値をメモし、以下のステップのオプションに入力します。 Open IDC オーディエンスの値を設定します。
hammer settings set --name oidc_audience \ --value "['satellite.example.com']"
# hammer settings set --name oidc_audience \ --value "['satellite.example.com']"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Open IDC 発行者の値を設定します。
hammer settings set --name oidc_issuer \ --value "RHSSO.example.com/auth/realms/RHSSO_Realm"
# hammer settings set --name oidc_issuer \ --value "RHSSO.example.com/auth/realms/RHSSO_Realm"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Open IDC Java Web Token (JWT) の値を設定します。
hammer settings set --name oidc_jwks_url \ --value "RHSSO.example.com/auth/realms/RHSSO_Realm/protocol/openid-connect/certs"
# hammer settings set --name oidc_jwks_url \ --value "RHSSO.example.com/auth/realms/RHSSO_Realm/protocol/openid-connect/certs"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow BZ#1792131 が解決されるまで、Hammer CLI を使用して組織とロケーションを設定する必要があります。組織とロケーションを設定するには、まず Red Hat Single Sign-On 認証ソースの ID を取得する必要があります。
hammer auth-source external list
# hammer auth-source external list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロケーションと組織を設定します。
hammer auth-source external update --id Authentication Source ID \ --location-ids Location ID --organization-ids Organization ID
# hammer auth-source external update --id Authentication Source ID \ --location-ids Location ID --organization-ids Organization ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 二要素認証を使用して認証するには、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、サクセスコードの入力を要求します。サクセスコードを取得するには、コマンドが返す URL に移動し、必要な情報を提供します。