请求认证
在服务网格中配置请求授权,可以实现来源认证。在接收用户请求时,该配置用于认证请求头信息中的Access Token是否可信,并授权给来源合法的请求。请求认证通过负载选择器Selector选择目标负载。认证的规则通过JWTRule来描述,定义如何匹配JWT令牌上的认证信息。
创建请求认证
支持YAML创建请求认证。
- 登录UCS控制台,在左侧导航栏中单击“服务网格”。
- 单击服务网格名称,进入详情页。
- 在左侧导航栏,单击“服务安全”下的“请求认证”,进入请求认证详情页。
- 单击右上角“YAML创建”,弹出请求认证YAML创建界面。
- 为命名空间下的服务访问,校验请求中的认证信息。
apiVersion: security.istio.io/v1beta1 kind: RequestAuthentication # 创建服务安全类别为请求认证 metadata: name: forecast # 请求认证名 namespace: weather # 在weather命名空间下创建 spec: selector: matchLabels: app: forecast # 标签键值对 jwtRules: - issuer: "weather@cloudnative-istio.book " jwksUri: https://cloudnative-istio.book/jwks-demo/jwks
更新请求认证
- 登录UCS控制台,在左侧导航栏中单击“服务网格”。
- 单击服务网格名称,进入详情页。
- 在左侧导航栏,单击“服务安全”下的“请求认证”,进入请求认证详情页。
- 选定要更新的认证策略,单击操作列下的“YAML编辑”。
删除请求认证
删除操作无法恢复,请谨慎操作。删除请求认证策略不会影响关联的服务本身运行。
- 登录UCS控制台,在左侧导航栏中单击“服务网格”。
- 单击服务网格名称,进入详情页。
- 在左侧导航栏,单击“服务安全”下的“请求认证”,进入请求认证详情页。
- 选定要删除的请求认证策略,单击操作列下的“删除”。
- 弹出“删除请求认证策略”对话框,单击“是”,删除请求认证完成。
案例
请求令牌自定义属性认证。
apiVersion: security.istio.io/v1beta1 kind: AuthorizationPolicy metadata: name: detailed-jwt spec: action: ALLOW rules: - from: - source: requestPrincipals: ["weather@cloudnative-istio.book/weather"] when: - key: request.auth.claims[role] values: ["editor"]