微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Azure kubernetes-如何使用Azure API管理对kubernetes API进行身份验证?

如何解决Azure kubernetes-如何使用Azure API管理对kubernetes API进行身份验证?

我已经在未经身份验证的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(这可能是您的Web UI)生成JwT
  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中的此信息,请编写自定义身份验证逻辑。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。