第1章 OpenID Connect (OIDC) と Keycloak を使用して認証を一元化する
保護されたリソースへ安全にアクセスできるように、Keycloak Authorization Services を使用して Quarkus アプリケーションでベアラートークン認可を有効にする方法を説明します。
1.1. 概要
Keycloak 認可機能 quarkus-keycloak- 認可は
、OpenID Connect 拡張機能 quarkus-oidc
を拡張して、高度な認可機能を提供します。セキュリティー保護されたリソースへのアクセスを動的に管理するポリシーエンフォーサーを備えています。アクセスは Keycloak で定義された権限によって管理され、柔軟で動的なリソースベースのアクセス制御 (RBAC) をサポートします。
Keycloak を使用しており、認可決定を処理するために環境で Keycloak 認可サービスが有効になっている場合にのみ、quarkus-keycloak- 認可
拡張機能を使用してください。
Keycloak を使用していない、または Keycloak が Keycloak 認可 Services なしで設定されている場合は、代わりに quarkus-oidc
拡張機能を使用してください。
仕組み
quarkus-keycloak- 認可
拡張機能は、Keycloak での認可責任を一元化し、セキュリティーを強化し、アプリケーションのメンテナンスを簡素化します。
-
quarkus-oidc
拡張機能を使用してベアラートークンを検証します。 - 検証されたトークンを Keycloak 認可サービスに送信します。
- これにより、Keycloak はリソース名、識別子、URI などの属性を使用して、リソースベースの権限を動的に評価できるようになります。
認可決定を外部化することで、次のことが可能になります。
- アプリケーションコードを変更せずに、多様なアクセス制御ストラテジーを実装します。
- セキュリティー要件の進化に応じて再展開の必要性を減らします。
互換性
この拡張機能は、Quarkus OIDC サービスアプリケーション とのみ互換性があります。ロールベースのアクセス制御などの明示的なメカニズムを動的認可ポリシーで補完します。
主な特長
- 集中管理: アプリケーション間で一貫したセキュリティーポリシーを実現するために、認可の決定を Keycloak に委任します。
- 動的権限: リソース属性を使用してアクセス制御を動的に定義します。
- メンテナンスの簡素化: アクセスポリシーが変更されたときにアプリケーションを更新して再展開する必要性を軽減します。
設定
この拡張機能を使用する前に、次の点を確認してください。
- Keycloak インスタンスで Keycloak 認可サービスが有効になっています。
-
Quarkus アプリケーションには
、quarkus-keycloak- 認可
拡張機能が含まれています。
詳細な手順については、OIDC ベアラートークン認証 ガイドを参照してください。
関連情報
Keycloak 認可サービスとポリシーエンフォーサーの詳細は、公式ドキュメント Keycloak 認可サービスドキュメント を参照してください。