You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/iot-operations/secure-iot-ops/concept-default-root-ca.md
+45-5Lines changed: 45 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ author: PatAltimore
5
5
ms.author: patricka
6
6
ms.subservice: azure-mqtt-broker
7
7
ms.topic: concept-article
8
-
ms.date: 10/01/2024
8
+
ms.date: 10/25/2024
9
9
10
10
#CustomerIntent: As an operator, I want to configure Azure IoT Operations components to use TLS so that I have secure communication between all components.
All communication within Azure IoT Operations Preview is encrypted using TLS. To help you get started, Azure IoT Operations is deployed with a default root CA and issuer for TLS server certificates. You can use the default setup for development and testing purposes. For a production deployment, we recommend using your own CA issuer and an enterprise PKI solution.
17
17
18
-
## Default root CA and issuer for TLS server certificates
18
+
## Default self-signed issuer and root CA certificate for TLS server certificates
19
19
20
-
To help you get started, Azure IoT Operations Preview is deployed with a default root CA and issuer for TLS server certificates. You can use this issuer for development and testing. Azure IoT Operations uses [cert-manager](https://cert-manager.io/docs/) to manage TLS certificates, and [trust-manager](https://cert-manager.io/docs/trust/) to distribute trust bundles to components.
20
+
To help you get started, Azure IoT Operations Preview is deployed with a default self-signed issuer and root CA certificate for TLS server certificates. You can use this issuer for development and testing. Azure IoT Operations uses [cert-manager](https://cert-manager.io/docs/) to manage TLS certificates, and [trust-manager](https://cert-manager.io/docs/trust/) to distribute trust bundles to components.
21
21
22
22
* The CA certificate is self-signed and not trusted by any clients outside of Azure IoT Operations. The subject of the CA certificate is `CN=Azure IoT Operations Quickstart Root CA - Not for Production`. The CA certificate is automatically rotated by cert-manager.
23
23
@@ -56,8 +56,8 @@ To help you get started, Azure IoT Operations Preview is deployed with a default
56
56
Signature Algorithm: sha256WithRSAEncryption
57
57
[Signature]
58
58
```
59
-
60
-
* By default, there's already a CA issuer configured in the `azure-iot-operations namespace` called `azure-iot-operations-aio-certificate-issuer`. It's used as the common CA issuer for all TLS server certificates for IoT Operations. MQTT broker uses an issuer created from the same CA certificate to issue TLS server certificates for the default TLS listener on port 18883. You can inspect the issuer with the following command:
59
+
60
+
* By default, there's already an issuer configured in the `azure-iot-operations namespace` called `azure-iot-operations-aio-certificate-issuer`. It's used as the common issuer for all TLS server certificates for IoT Operations. MQTT broker uses an issuer created from the same CA certificate which is signed by the self-signed issuer to issue TLS server certificates for the default TLS listener on port 18883. You can inspect the issuer with the following command:
61
61
62
62
```bash
63
63
kubectl get clusterissuer azure-iot-operations-aio-certificate-issuer -o yaml
@@ -84,3 +84,43 @@ To help you get started, Azure IoT Operations Preview is deployed with a default
84
84
status: "True"
85
85
type: Ready
86
86
```
87
+
88
+
## Bring your own issuer
89
+
90
+
For production deployments, we recommend that you set up Azure IoT Operations with an enterprise PKI to manage certificates and that you bring your own issuer which works with your enterprise PKI instead of using the default self-signed issuer to issue TLS certificates for internal communication.
91
+
To set up Azure IoT Operations with your own issuer, use the following steps before deploying an instance to your cluster:
92
+
93
+
1. Follow the steps in [Prepare your cluster](../deploy-iot-ops/howto-prepare-cluster.md) to set up your cluster.
Trust-manager is used to distribute a trust bundle to components.
100
+
101
+
1. Create the Azure IoT Operations namespace.
102
+
103
+
```bash
104
+
kubectl create namespace azure-iot-operations
105
+
```
106
+
107
+
1. Deploy an issuer that works with cert-manager. For a list of all supported issuers, see [cert-manager issuers](https://cert-manager.io/docs/configuration/issuers/).
108
+
109
+
The issuer can be of type`ClusterIssuer` or `Issuer`. If using `Issuer`, the issuer resource must be created in the Azure IoT Operations namespace.
110
+
111
+
1. Set up trust bundle in the Azure IoT Operations namespace.
112
+
113
+
1. To set up trust bundle, create a ConfigMap in the Azure IoT Operations namespace. Place the public key portion of your CA certificate into the config map with a key name of your choice.
114
+
1. Get the public key portion of your CA certificate. The steps to acquire the public key depend on the issuer you have chosen.
1. Follow steps in [Deploy Azure IoT Operations](../deploy-iot-ops/howto-deploy-iot-operations.md) to deploy. *Add the `--trust-settings` parameter while initializing Azure IoT Operations.* For example:
0 commit comments