Jwt 更改Azure AKS中的istio授权策略
我在Azure AKS中使用istio进行身份验证时遇到问题。据我所知,我正在生成一个有效的令牌,但我得到一个403错误 应用程序的istio授权配置为:Jwt 更改Azure AKS中的istio授权策略,jwt,istio,azure-aks,Jwt,Istio,Azure Aks,我在Azure AKS中使用istio进行身份验证时遇到问题。据我所知,我正在生成一个有效的令牌,但我得到一个403错误 应用程序的istio授权配置为: kind: AuthorizationPolicy metadata: name: entitlements-jwt-authz namespace: osdu spec: selector: matchLabels: app: entitlements-azure action: DENY rules
kind: AuthorizationPolicy
metadata:
name: entitlements-jwt-authz
namespace: osdu
spec:
selector:
matchLabels:
app: entitlements-azure
action: DENY
rules:
- from:
- source:
notRequestPrincipals: ["*"]
to:
- operation:
notPaths: ["/",
"*/v2/api-docs",
"*/swagger-resources","*/swagger-ui.html",
"*/actuator/health",
"/entitlements/v1/swagger-resources/*",
"/entitlements/v1/webjars/*"]
我想尝试改变这一政策,使其仅允许,这样我就可以尝试将其隔离为一个象征性的问题,但我不确定如何改变这一政策,因为kubernetes不是我的经验。谁能给我指一下正确的方向吗
我不确定我是否提供了足够的信息,因此请询问是否需要更多信息
谢谢
Mike我猜您有一个与istio的签名验证不兼容的
访问令牌
去分析你的代币。标题是否包含一个nonce
?如果是,这就是问题所在。Azure对此并不真正透明,但据我所知,签名必须使用JWKS和nonce进行验证,而istio不能这样做
对我来说,解决方案是将范围从默认MS Graph范围更改为自定义范围。您可以在应用程序注册中创建作用域或使用默认作用域:/.default
,例如abce-1234-ghkli-5677/。default
此授权策略应该做什么?如果您只想将其更改为允许
,那么您只需要更改操作
。如果要将整个授权策略从deny更改为allow,但要继续执行相同的操作,则必须更改操作
、源
和操作
。因此,您将使用action:ALLOW
,requestPrincipals:[“*”]
和路径
。另外,您可以看看,我使用AuthorizationPolicy deny和allow进行了一些测试。如果这能回答你的问题,请告诉我。