繁体   English   中英

如何保护 ASP.NET Core 中的健康检查?

[英]How to secure healtchecks in ASP.NET Core?

我包含以下 nuget 包: AspNetCore.Diagnostics.HealthChecks和 HealthChecks.UI 部分,以图形方式显示已配置服务的状态。

是否已经实施了任何内容来增加安全性,以便在没有安全性的情况下无法显示?

健康检查使用用于端点路由的身份验证和授权机制。 健康检查指南解释了如何使用RequiresAuthorization 授权,例如:

app.UseEndpoints(endpoints =>
{
    endpoints.MapHealthChecks("/health").RequireAuthorization();
});

默认策略仅需要身份验证。 特定端点授权部分显示了如何创建自定义授权策略,并按名称或通过传递策略名称来指定它们。

最后一个例子,可能更有趣:

app.UseEndpoints(endpoints =>
{
    endpoints
        .MapHealthChecks("/healthz")
        .RequireAuthorization(new AuthorizeAttribute(){ Roles = "admin", });
});

AuthorizeAttribute属性实现IAuthorizeData ,即所有授权策略实现的接口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM