如何保护 Quarkus 中的 /metrics、/health 和 /openapi 端点?

How to protect the /metrics, /health and /openapi endpoints in Quarkus?

Quarkus 使用 /metrics 端点提供指标数据,/health 端点提供应用程序状态(UPDOWN)和 /openapi 端点以提供有关可用端点的信息。此端点由 Eclipse Microprofile 规范定义。

默认情况下,此端点为 public。我想保护这个端点,只有经过身份验证和授权的用户才能访问。

如何使用 Quarkus 保护此端点?

我希望应用程序 returns 403 供未经授权的用户使用。

要进行身份验证,我想使用基本身份验证或 JWT 令牌。

是否可以为此端点创建过滤器?

此配置应该有帮助:

quarkus.http.auth.permission.public.paths=/health/*,/metrics/*,/openapi/*
quarkus.http.auth.permission.public.policy=authenticated

您可以按照建议从基本身份验证开始here

HTH