mirror of https://github.com/istio/istio.io.git
Update security FAQs related to per-service enablement. (#726)
* Update security FAQ for per-service auth enablement. * Some clean up. * Minor grammar correction * Fix format. * Fix format.
This commit is contained in:
parent
674788dc49
commit
21e3497d19
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: FAQ
|
||||
overview: Common issues, known limitations and work arounds, and other frequently asked questions on this topic.
|
||||
overview: Common issues, known limitations and work-around, and other frequently asked questions on this topic.
|
||||
|
||||
order: 100
|
||||
|
||||
|
|
@ -36,7 +36,18 @@ type: markdown
|
|||
* _Can I enable Istio Auth with some services while disable others in the
|
||||
same cluster?_
|
||||
|
||||
This is not supported currently, but will be in the near future.
|
||||
(Require version 0.3 or above) You can use service-level annotations to disable (or enable) Istio Auth for particular service-port. The annotation key should be `auth.istio.io/{port_number}`, and the value should be `NONE` (to disable), or `MUTUAL_TLS` (to enable).
|
||||
|
||||
Example: disable Istio Auth on port 9080 for service `details`.
|
||||
```yaml
|
||||
kind: Service
|
||||
metadata:
|
||||
name: details
|
||||
labels:
|
||||
app: details
|
||||
annotations:
|
||||
auth.istio.io/9080: NONE
|
||||
```
|
||||
|
||||
* _How can I use Kubernetes liveness and readiness for service health check
|
||||
with Istio Auth enabled?_
|
||||
|
|
@ -62,7 +73,28 @@ type: markdown
|
|||
|
||||
* _Can I access the Kubernetes API Server with Auth enabled?_
|
||||
|
||||
The Kubernetes API server does not support mutual TLS
|
||||
authentication. Hence, when Istio mTLS authentication is enabled, it is
|
||||
currently not possible to communicate from a pod with Istio sidecar to
|
||||
the Kubernetes API server.
|
||||
The Kubernetes API server does not support mutual TLS authentication, so
|
||||
strictly speaking: no. However, if you use version 0.3 or later, see next
|
||||
question to learn how to disable mTLS in upstream config on clients side so
|
||||
they can access API server.
|
||||
|
||||
* _How to disable Auth on clients to access the Kubernetes API Server (or any control services that don't have Istio sidecar)?_
|
||||
|
||||
(Require v0.3 or later) Edit the `mtlsExcludedServices` list in Istio config
|
||||
map to contain the fully-qualified name of the API server (and any other
|
||||
control services for that matter). The default value of `mtlsExcludedServices`
|
||||
already contains `kubernetes.default.svc.cluster.local`, which is the default
|
||||
service name of the Kubernetes API server.
|
||||
|
||||
For a quick reference, here are commands to edit Istio configmap and to restart pilot.
|
||||
```bash
|
||||
kubectl edit configmap -n istio-system istio
|
||||
```
|
||||
|
||||
```bash
|
||||
kubectl delete pods -n istio-system -l istio=pilot
|
||||
```
|
||||
|
||||
> Note: DO NOT use this approach to disable mTLS for services that are managed
|
||||
by Istio (i.e. using Istio sidecar). Instead, use service-level annotations
|
||||
to overwrite the authentication policy (see above).
|
||||
|
|
|
|||
Loading…
Reference in New Issue