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 APIs?
<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 url?
这是实现身份验证的原始方法
- 从 Azure AD 生成 JwT(这可能是您的 Web UI)
- 为您的 APIM 启用 OAuth2
- 从您的 UI JwT 令牌调用 APIM 时将被传递
- 在 APIM 收到令牌后,创建入站策略以验证 JwT https://docs.microsoft.com/en-us/azure/api-management/api-management-access-restriction-policies
- JwT 验证后调用后端 Kubernetes 部署的端点。
- 您可能希望将入口控制器限制为仅接受来自 APIM 的流量
- 您的 http 上下文将包含来自 api 端点
的 JwT 令牌的用户信息
- 如果您愿意,可以在中间件时进一步使用来自 #7 的信息,编写您的自定义身份验证逻辑。
我在 Azure kubernetes 上部署了一个没有身份验证的应用程序,我在 API.
前面有 Azure API 管理如何使用 Azure API 管理来验证 kubernetes APIs?
<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 url?
这是实现身份验证的原始方法
- 从 Azure AD 生成 JwT(这可能是您的 Web UI)
- 为您的 APIM 启用 OAuth2
- 从您的 UI JwT 令牌调用 APIM 时将被传递
- 在 APIM 收到令牌后,创建入站策略以验证 JwT https://docs.microsoft.com/en-us/azure/api-management/api-management-access-restriction-policies
- JwT 验证后调用后端 Kubernetes 部署的端点。
- 您可能希望将入口控制器限制为仅接受来自 APIM 的流量
- 您的 http 上下文将包含来自 api 端点 的 JwT 令牌的用户信息
- 如果您愿意,可以在中间件时进一步使用来自 #7 的信息,编写您的自定义身份验证逻辑。