Docker

如何在 Istio/K8 中設置自定義身份驗證和授權?

  • June 3, 2021

比方說,我有一個有 8 個 pod(服務)的項目。我了解 Istio Gateway 中使用 jwt 涵蓋了身份驗證和授權。這樣每個請求都得到驗證。但是具有不同角色的使用者例如:

$$ teacher, student, staff $$需要有一個端點來使用使用者名和密碼進行註冊/登錄/註銷。有沒有辦法讓 Istio Gateway 處理使用者創建,將其保存到 db 並生成 jwt?或者我是否必須製作另一個專用於 Auth 的 Pod(服務)並從此 pod 生成 jwt?如果是這樣,我怎樣才能直接從網關設置 jwt 驗證? 感謝您抽出時間閱讀本文)

有沒有辦法讓 Istio Gateway 處理使用者創建,將其保存到 db 並生成 jwt?

不,要做到這一點,您需要創建一個生成令牌的身份驗證微服務(應用程序)。

Istio 負責驗證傳入使用者請求中的JWT 令牌的任務。因此,如果您實現了 Istio JWT 身份驗證功能,您的應用程式碼就無需擔心 JWT 令牌驗證。Istio 會為您完成。不是 JWT 令牌生成。Istio 不會為您生成令牌。這應該由身份驗證微服務完成。Istio 將檢查 JWT 是否有效。

在這裡,您可以找到分步指南,了解 Istio 和 JWT 如何進行微服務身份驗證。在那裡您還會發現許多基於 JWT 的授權方案。

也可以看看:

引用自:https://serverfault.com/questions/1065426