Skip to content

Commit 333a4dc

Browse files
authored
Merge pull request #22477 from neal-timpe/securityassembly
security assembly and mtls
2 parents e2ca4c9 + 9dea063 commit 333a4dc

File tree

3 files changed

+75
-4
lines changed

3 files changed

+75
-4
lines changed

_topic_map.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1445,10 +1445,8 @@ Topics:
14451445
File: ossm-traffic-manage
14461446
- Name: Data visualization and observability
14471447
File: ossm-observability
1448-
# - Name: Grafana tutorial
1449-
# File: ossm-tutorial-grafana
1450-
# - Name: Prometheus tutorial
1451-
# File: ossm-tutorial-prometheus
1448+
- Name: Security
1449+
File: ossm-security
14521450
- Name: Support
14531451
Dir: service_mesh_support
14541452
Topics:

modules/ossm-security-mtls.adoc

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * service_mesh/service_mesh_user_guide/ossm-security.adoc
4+
5+
[id="ossm-security-mtls_{context}"]
6+
= Enabling mutual Transport Layer Security (mTLS)
7+
8+
Mutual Transport Layer Security (mTLS) is a protocol where two parties authenticate each other at the same time. It is the default mode of authentication in some protocols (IKE, SSH) and optional in others (TLS).
9+
10+
MTLS can be used without changes to the application or service code. The TLS is handled entirely by the service mesh infrastructure and between the two sidecar proxies.
11+
12+
By default, {ProductName} is set to permissive mode, where the sidecars in {ProductShortName} accept both plain-text traffic and connections that are encrypted using mTLS. If a service in your mesh is communicating with a service outside the mesh, strict mTLS could break communication between those services. Use permissive mode while you migrate your workloads to {ProductShortName}.
13+
14+
== Enabling strict mTLS across the mesh
15+
16+
If your workloads do not communicate with services outside your mesh and communication will not be interrupted by only accepting encrypted connections, you can enable mTLS across your mesh quickly. Set `spec.istio.global.mtls.enabled` to `true` in your ServiceMeshControlPlane resource. The operator creates the required resources.
17+
18+
[source,yaml]
19+
----
20+
apiVersion: maistra.io/v1
21+
kind: ServiceMeshControlPlane
22+
spec:
23+
istio:
24+
global:
25+
mtls:
26+
enabled: true
27+
----
28+
29+
[id="ossm-security-mtls-sidecars-incoming-services_{context}"]
30+
=== Configuring sidecars for incoming connections for specific services
31+
32+
You can also configure mTLS for individual services or namespaces by creating a policy.
33+
34+
[source,yaml]
35+
----
36+
apiVersion: "authentication.maistra.io/v1"
37+
kind: "Policy"
38+
metadata:
39+
name: "default"
40+
namespace: <NAMESPACE>
41+
spec:
42+
peers:
43+
- mtls: {}
44+
----
45+
46+
[id="ossm-security-mtls-sidecars-outgoing_{context}"]
47+
== Configuring sidecars for outgoing connections
48+
49+
Create a destination rule to configure {ProductShortName} to use mTLS when sending requests to other services in the mesh.
50+
51+
[source,yaml]
52+
----
53+
apiVersion: "networking.istio.io/v1alpha3"
54+
kind: "DestinationRule"
55+
metadata:
56+
name: "default"
57+
namespace: <CONTROL_PLANE_NAMESPACE>
58+
spec:
59+
host: "*.local"
60+
trafficPolicy:
61+
tls:
62+
mode: ISTIO_MUTUAL
63+
----
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[id="ossm-security"]
2+
= Customizing security in a Service Mesh
3+
include::modules/ossm-document-attributes.adoc[]
4+
:context: ossm-security
5+
6+
toc::[]
7+
8+
If your service mesh application is constructed with a complex array of microservices, you can use {ProductName} to customize the security of the communication between those services. The infrastructure of {product-title} along with the traffic management features of {ProductShortName} can help you manage the complexity of your applications and provide service and identity security for microservices.
9+
10+
include::modules/ossm-security-mtls.adoc[leveloffset=+1]

0 commit comments

Comments
 (0)