簡體   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