在使用istio进行服务部署时,可以创建/使用以下角色:
apiVersion: rbac.istio.io/v1alpha1
kind: ClusterRbacConfig
metadata:
name: default
spec:
mode: 'ON'
legacy: false
apiVersion: rbac.istio.io/v1alpha1
kind: ServiceRole
metadata:
name: my-service-role
spec:
rules:
- services: ["my-service"]
methods: ["GET", "POST"]
constraints:
- key: "request.headers[x-end-user]"
values: ["user1", "user2"]
apiVersion: rbac.istio.io/v1alpha1
kind: ServiceRoleBinding
metadata:
name: my-service-role-binding
spec:
subjects:
- user: "*"
properties:
source.principal: "cluster.local/ns/default/sa/default"
roleRef:
kind: ServiceRole
name: my-service-role
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
name: my-authorization-policy
spec:
selector:
matchLabels:
app: my-service
action: ALLOW
rules:
- from:
- source:
principals: ["cluster.local/ns/default/sa/default"]
to:
- operation:
methods: ["GET"]
以上是一些使用istio的服务部署中常见的角色和示例代码,根据具体需求进行配置即可。