第 1 章 使用 OpenID Connect (OIDC)和 Keycloak 集中管理授权
了解如何使用 Keycloak Authorization Services 在 Quarkus 应用程序中启用 bearer 令牌授权来保护对受保护的资源的访问。
1.1. 概述 复制链接链接已复制到粘贴板!
Keycloak Authorization 扩展 quarkus-keycloak-authorization
扩展了 OpenID Connect 扩展 quarkus-oidc
以提供高级授权功能。它具有一个策略强制器,可动态管理对安全资源的访问。访问取决于 Keycloak 中定义的权限,支持灵活和动态资源型访问控制(RBAC)。
只有在环境中启用了 Keycloak 和 Keycloak 授权服务来处理授权决策时,才使用 quarkus-keycloak-authorization
扩展。
如果不使用 Keycloak,或者在没有 Keycloak 授权服务的情况下配置 Keycloak,请使用 quarkus-oidc
扩展。
它如何工作
quarkus-keycloak-authorization
扩展可集中在 Keycloak 中的授权职责,增强安全性并简化应用程序维护:
-
它使用
quarkus-oidc
扩展来验证 bearer 令牌。 - 它将验证的令牌发送到 Keycloak 授权服务。
- 它允许 Keycloak 使用资源名称、标识符或 URI 等属性动态评估基于资源的权限。
通过外部化授权决策,您可以:
- 在不修改应用程序代码的情况下实施各种访问控制策略。
- 随着安全需求的变化,降低重新部署需求。
兼容性
此扩展仅与 Quarkus OIDC 服务应用程序 兼容。它使用动态授权策略补充明确的机制,如基于角色的访问控制。
主要功能
- 集中式管理 :为 Keycloak 委派授权决策,实现跨应用程序的一致性安全策略。
- 动态权限 :使用资源属性动态定义访问控制。
- 简化维护 :减少访问策略更改时更新和重新部署应用程序的需要。
设置
在使用此扩展前,请确保以下内容:
- Keycloak 授权服务在 Keycloak 实例中被启用。
-
您的 Quarkus 应用程序包括
quarkus-keycloak-authorization
扩展。
具体步骤请查看 OIDC Bearer 令牌身份验证指南。
其他资源
要了解更多有关 Keycloak 授权服务和策略执行者的信息,请访问官方文档: Keycloak Authorization Services 文档。