82 lines
3.1 KiB
HTML
82 lines
3.1 KiB
HTML
---
|
|
title: istio.rbac.v1alpha1
|
|
layout: protoc-gen-docs
|
|
generator: protoc-gen-docs
|
|
schema: istio.rbac.v1alpha1.RbacConfig
|
|
schema: istio.rbac.v1alpha1.ServiceRole
|
|
schema: istio.rbac.v1alpha1.ServiceRoleBinding
|
|
number_of_entries: 0
|
|
---
|
|
<p>Note: The v1alpha1 RBAC policy is deprecated by the v1beta1 Authorization policy.
|
|
This page is kept for migration purpose and will be removed in Istio 1.6.</p>
|
|
|
|
<p>Istio RBAC (Role Based Access Control) defines ServiceRole and ServiceRoleBinding
|
|
objects.</p>
|
|
|
|
<p>A ServiceRole specification includes a list of rules (permissions). Each rule has
|
|
the following standard fields:</p>
|
|
|
|
<ul>
|
|
<li>services: a list of services.</li>
|
|
<li>methods: A list of HTTP methods. You can set the value to <code>["*"]</code> to include all HTTP methods.
|
|
This field should not be set for TCP services. The policy will be ignored.
|
|
For gRPC services, only <code>POST</code> is allowed; other methods will result in denying services.</li>
|
|
<li>paths: HTTP paths or gRPC methods. Note that gRPC methods should be
|
|
presented in the form of “/packageName.serviceName/methodName” and are case sensitive.</li>
|
|
</ul>
|
|
|
|
<p>In addition to the standard fields, operators can also use custom keys in the <code>constraints</code> field,
|
|
the supported keys are listed in the “constraints and properties” page.</p>
|
|
|
|
<p>Below is an example of ServiceRole object “product-viewer”, which has “read” (“GET” and “HEAD”)
|
|
access to “products.svc.cluster.local” service at versions “v1” and “v2”. “path” is not specified,
|
|
so it applies to any path in the service.</p>
|
|
|
|
<pre><code class="language-yaml">apiVersion: "rbac.istio.io/v1alpha1"
|
|
kind: ServiceRole
|
|
metadata:
|
|
name: products-viewer
|
|
namespace: default
|
|
spec:
|
|
rules:
|
|
- services: ["products.svc.cluster.local"]
|
|
methods: ["GET", "HEAD"]
|
|
constraints:
|
|
- key: "destination.labels[version]"
|
|
values: ["v1", "v2"]
|
|
</code></pre>
|
|
|
|
<p>A ServiceRoleBinding specification includes two parts:</p>
|
|
|
|
<ul>
|
|
<li>The <code>roleRef</code> field that refers to a ServiceRole object in the same namespace.</li>
|
|
<li>A list of <code>subjects</code> that are assigned the roles.</li>
|
|
</ul>
|
|
|
|
<p>In addition to a simple <code>user</code> field, operators can also use custom keys in the <code>properties</code> field,
|
|
the supported keys are listed in the “constraints and properties” page.</p>
|
|
|
|
<p>Below is an example of ServiceRoleBinding object “test-binding-products”, which binds two subjects
|
|
to ServiceRole “product-viewer”:</p>
|
|
|
|
<ul>
|
|
<li>User “alice@yahoo.com”</li>
|
|
<li>Services in “abc” namespace.</li>
|
|
</ul>
|
|
|
|
<pre><code class="language-yaml">apiVersion: "rbac.istio.io/v1alpha1"
|
|
kind: ServiceRoleBinding
|
|
metadata:
|
|
name: test-binding-products
|
|
namespace: default
|
|
spec:
|
|
subjects:
|
|
- user: alice@yahoo.com
|
|
- properties:
|
|
source.namespace: "abc"
|
|
roleRef:
|
|
kind: ServiceRole
|
|
name: "products-viewer"
|
|
</code></pre>
|
|
|