This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.1.13.2. 配置基于角色的访问控制(RBAC)
基于角色的访问控制 (RBAC) 对象决定是否允许用户或服务在项目内执行给定的操作。您可以为网格中的工作负载定义 mesh-、namespace- 和工作负载范围访问控制。
要配置 RBAC,在您要配置访问权限的命名空间中创建一个 AuthorizationPolicy
资源。如果要配置网格范围访问,请使用安装 Service Mesh control plane 的项目,如 istio-system
。
例如,对于 RBAC,您可以创建以下策略:
- 配置项目内部通信。
- 允许或拒绝对默认命名空间中所有工作负载的完全访问。
- 允许或拒绝入口网关访问。
- 需要令牌才能访问。
授权策略包括选择器、操作和规则列表:
-
selector
字段指定策略的目标。 -
action
字段指定是否允许或拒绝请求。 rules
字段指定何时触发操作。-
from
字段指定请求来源的限制。 -
to
字段指定请求目标和参数的限制。 -
when
字段指定应用该规则的其他条件。
-
流程
创建
AuthorizationPolicy
资源。以下示例显示了一个更新 ingress-policyAuthorizationPolicy
的资源,以拒绝 IP 地址访问入口网关。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在编写资源以便在命名空间中创建资源后运行以下命令。命名空间必须与
AuthorizationPolicy
资源中的metadata.namespace
字段匹配。oc create -n istio-system -f <filename>
$ oc create -n istio-system -f <filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
后续步骤
考虑以下示例用于其他通用配置。
1.13.2.1. 配置项目内部通信 复制链接链接已复制到粘贴板!
您可以使用 AuthorizationPolicy
配置 Service Mesh control plane,以允许或拒绝与网格中的网格或服务通信的流量。
1.13.2.1.1. 限制对命名空间外服务的访问 复制链接链接已复制到粘贴板!
您可以使用以下 AuthorizationPolicy
资源示例拒绝来自 bookinfo
命名空间中没有的源的请求。
1.13.2.1.2. 创建 allow-all 和 default deny-all 授权策略 复制链接链接已复制到粘贴板!
以下示例显示了一个 allow-all 授权策略,允许对 bookinfo
命名空间中的所有工作负载进行完全访问。
以下示例显示了拒绝对 bookinfo
命名空间中的所有工作负载的访问的策略。