10
10
11
11
This set of resources allows users to define access control policy for their
12
12
applications. It is the authorization side of the picture. Authentication should
13
- already be handled by the underlying implementation and surfaced through a subject.
13
+ already be handled by the underlying implementation and surfaced through an X.509
14
+ certificate subject name.
14
15
15
16
Access control in this specification is additive, all traffic is denied by default.
16
17
See [ tradeoffs] ( #tradeoffs ) for a longer discussion about why.
@@ -21,7 +22,7 @@ An `IdentityBinding` declares the set of identities belonging to a particular wo
21
22
for the purposes of policy. At present, Kubernetes does not natively provide any
22
23
sort of identity resource outside of ` ServiceAccount ` . As such, many mesh
23
24
implementations have turned to alternative identification schemes for more control
24
- over traffic routign and policy (e.g. SPIFFE, pod selectors, etc). Unfortunately,
25
+ over traffic routing and policy (e.g. SPIFFE, pod selectors, etc). Unfortunately,
25
26
these arbitrary identity mechanisms are rarely stored in a machine-accessible
26
27
manner. This is the role of the ` IdentityBinding ` resource.
27
28
@@ -56,8 +57,10 @@ and predictable behavior across runtime environments. `IdentityBinding` currentl
56
57
supports 3 schemes :
57
58
58
59
- Pod Label selector (`podLabelSelectors`)
60
+ - Mutually exclusive with `serviceAccount`
59
61
- SPIFFE (`spiffeIdentities`)
60
62
- Service Account (`serviceAccount`)
63
+ - Mutually exclusive with `podLabelSelectors`
61
64
- *Note:* The service account specified in this field is implied to exist
62
65
in the `IdentityBinding`'s namespace. If one desires to govern access control
63
66
for services replicated across different namespaces, they should create an
@@ -329,7 +332,10 @@ both `8301` and `8302` ports, but will block UDP traffic to `8300`.
329
332
- Resources vs selectors - it would be possible to reference concrete resources
330
333
such as a deployment instead of selecting across pods.
331
334
332
- - This access control is on the destination (server) side, implicitly
335
+ - This access control is on the destination (server) side, implicitly. It's important
336
+ to note that only service owners should create IdentityBinding/TrafficTarget resources.
337
+ The client should *not* be allowed to give itself access to server applications.
338
+ Users should update their RBAC rules and cluster policies accordingly.
333
339
334
340
- Currently the specification does not have provision for the definition of
335
341
higher level elements such as a service. It is probable that this specification
0 commit comments