簡體   English   中英

Azure kubernetes - 如何使用 Azure API 管理對 kubernetes API 進行身份驗證?

[英]Azure kubernetes - How do I use Azure API management to authenticate kubernetes APIs?

我在沒有身份驗證的情況下在 Azure kubernetes 上部署了一個應用程序,並且在 API 前面有 Azure API 管理。

如何使用 Azure API 管理對 kubernetes API 進行身份驗證?

<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid.">
    <openid-config url="https://login.microsoftonline.com/contoso.onmicrosoft.com/.well-known/openid-configuration" />
    <audiences>
        <audience>25eef6e4-c905-4a07-8eb4-0d08d5df8b3f</audience>
    </audiences>
    <required-claims>
        <claim name="id" match="all">
            <value>insert claim here</value>
        </claim>
    </required-claims>
</validate-jwt>

您如何驗證您的 APIM 網址?

這是實現身份驗證的原始方法

  1. 從 Azure AD 生成 JwT(這可能是您的 Web UI)
  2. 為您的 APIM 啟用 OAuth2
  3. 從您的 UI JwT 令牌調用 APIM 時將傳遞
  4. 在 APIM 收到令牌后,創建入站策略以驗證 JwT https://docs.microsoft.com/en-us/azure/api-management/api-management-access-restriction-policies
  5. 一旦 JwT 被驗證,調用后端 Kubernetes 部署的端點。
  6. 您可能希望限制入口控制器僅接受來自 APIM 的流量
  7. 您的 http 上下文將包含來自 api 端點的 JwT 令牌的用戶信息
  8. 如果您願意,可以在中間件時進一步使用 #7 中的此信息,請編寫自定義身份驗證邏輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM