7.6.1 启用全局授权

可以使用ClusterRbacConf ig对象用以启用Istio授权。ClusterRbacConf ig对象是一个集群范围的单例,其固定名称值为default。只能在网格中使用一个ClusterRbacConf ig实例。与其他Istio配置对象一样,ClusterRbacConf ig被定义为一个Kubernetes CustomResourceDef inition(CRD)对象。

运维人员可以在ClusterRbacConf ig对象中指定一个mode值,该值的说明可参考表7-1。

表7-1 ClusterRbacConfig对象中的mode值

从Istio 1.1版本开始,在将生成环境中的授权策略应用之前,可以使用授权许可模式来对其进行验证。如果在全局授权配置上设置许可模式,那么所有策略都会切换到许可模式。如果将全局授权模式设置为ENFORCED,则各个策略设置的强制模式将生效。如果未设置模式,则默认情况下全局授权配置和单个策略都将设置为ENFORCED模式。想要全局启用许可模式,请将全局Istio RBAC授权配置中的enforcement_mode的值设置为PERMISSIVE,如以下示例所示:


apiVersion: "rbac.istio.io/v1alpha1"
kind: ClusterRbacConfig
metadata:
  name: default
spec:
  mode: 'ON_WITH_INCLUSION'
  inclusion:
    namespaces: ["default"]
  enforcement_mode: PERMISSIVE