Skip to content

Commit d3f7db8

Browse files
asergazdominicbetts
authored andcommitted
adding external comms
1 parent 278acf4 commit d3f7db8

File tree

1 file changed

+55
-13
lines changed

1 file changed

+55
-13
lines changed

articles/iot-operations/secure-iot-ops/howto-manage-certificates.md

Lines changed: 55 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,30 @@
11
---
2-
title: Certificate management for Azure IoT Operations internal communication
3-
description: Azure IoT Operations uses TLS to encrypt communication. Learn about the default setup and also how to bring your own CA for production.
4-
author: PatAltimore
5-
ms.author: patricka
6-
ms.subservice: azure-mqtt-broker
7-
ms.topic: concept-article
8-
ms.date: 10/25/2024
2+
title: Manage certificates
3+
# description: TODO: Azure IoT Operations uses TLS to encrypt communication. Learn about the default setup and also how to bring your own CA for production.
4+
author: asergaz
5+
ms.author: sergaz
6+
ms.topic: how-to
7+
ms.date: 05/20/2025
98

109
#CustomerIntent: As an operator, I want to configure Azure IoT Operations components to use TLS so that I have secure communication between all components.
11-
ms.service: azure-iot-operations
1210
---
1311

14-
# Certificate management for Azure IoT Operations internal communication
12+
# Manage certificates for your Azure IoT Operations deployment
1513

16-
All communication within Azure IoT Operations 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.
14+
Azure IoT Operations uses TLS to encrypt communication between all components. This article describes how to manage certificates for internal and external communications, and how to bring your own certificate authority (CA) issuer for a production deployment.
1715

1816
> [!TIP]
1917
> If you're looking for information about how to manage certificates for the connector for OPC UA, see [OPC UA certificates infrastructure for the connector for OPC UA](../discover-manage-assets/overview-opcua-broker-certificates-management.md).
2018
21-
## Default self-signed issuer and root CA certificate for TLS server certificates
19+
## Prerequisites
20+
21+
- To manage certificates for external communications, you need an Azure IoT Operations instance deployed with secure settings. If you deployed Azure IoT Operations with test settings, you need to first [enable secure settings](../deploy-iot-ops/howto-enable-secure-settings.md).
22+
23+
## Manage certificates for internal communications
24+
25+
All communication within Azure IoT Operations 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.
26+
27+
### Default self-signed issuer and root CA certificate for TLS server certificates
2228

2329
To help you get started, Azure IoT Operations 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.
2430

@@ -87,11 +93,11 @@ To help you get started, Azure IoT Operations is deployed with a default self-si
8793
status: "True"
8894
type: Ready
8995
```
90-
## Bring your own issuer
96+
### Bring your own issuer
9197

9298
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.
9399

94-
To set up Azure IoT Operations with your own issuer, use the following steps before deploying an instance to your cluster:
100+
To set up Azure IoT Operations with your own issuer, use the following steps **before deploying an instance to your cluster**:
95101

96102
1. Follow the steps in [Prepare your cluster](../deploy-iot-ops/howto-prepare-cluster.md) to set up your cluster.
97103

@@ -128,6 +134,7 @@ To set up Azure IoT Operations with your own issuer, use the following steps bef
128134
```
129135

130136
1. Follow steps in [Deploy Azure IoT Operations](../deploy-iot-ops/howto-deploy-iot-operations.md) to deploy, *with a few changes*.
137+
131138
1. Add the `--user-trust` parameter while preparing cluster. For example:
132139

133140
```bash
@@ -139,3 +146,38 @@ To set up Azure IoT Operations with your own issuer, use the following steps bef
139146
```bash
140147
az iot ops create --subscription <SUBSCRIPTION_ID> -g <RESOURCE_GROUP> --cluster <CLUSTER_NAME> --custom-location <CUSTOM_LOCATION> -n <INSTANCE_NAME> --sr-resource-id <SCHEMAREGISTRY_RESOURCE_ID> --trust-settings configMapName=<CONFIGMAP_NAME> configMapKey=<CONFIGMAP_KEY_WITH_PUBLICKEY_VALUE> issuerKind=<CLUSTERISSUER_OR_ISSUER> issuerName=<ISSUER_NAME>
141148
```
149+
150+
## Manage certificates for external communications
151+
152+
The certificate management experience for external communications uses Azure Key vault as the managed vault solution on the cloud. Certificates are added to Azure Key Vault as secrets and synchronized to the edge as Kubernetes secrets via [Azure Key Vault Secret Store extension](/azure/azure-arc/kubernetes/secret-store-extension).
153+
154+
The OPC UA client application authentication, leverages the current certificate management experience for external communications. When you [deploy Azure IoT Operations with secure settings](../deploy-iot-ops/overview-deploy.md#secure-settings-deployment), you can start adding certificates to Azure Key Vault, and sync them to the edge to be used in the *Trust list* and *Issuer list* stores for OPC UA connections:
155+
156+
TODO: <Screenshot of upload/add from AKV page>
157+
158+
- **Upload Certificate**: Uploads a certificate which is then added as a secret to Azure Key Vault and automatically synchronized to the edge using Secret Store Extension.
159+
160+
> [!TIP]
161+
> View the certificate once uploaded to ensure you have uploaded the correct certificate before adding to Azure Key Vault and synchronizing to edge.
162+
163+
> [!TIP]
164+
> Use an intuitive name so that you can recognize which secret represents your secret in the future.
165+
166+
> [!NOTE]
167+
> Simply uploading the certificate will not add the secret to Azure Kery Vault and synchronize to edge, you must click **Apply** to the changes to be applied. 
168+
169+
170+
- **Add from Azure Key Vault**: Add an existing secret from the Azure Key vault to be synchronized to the edge.
171+
172+
> [!NOTE]
173+
> Make sure to select the secret which holds the certificate you would like to synchronize to the edge. Selecting a secret which is not the correct certificate will cause the connection to fail.
174+
175+
Unlike in [Manage secrets for your Azure IoT Operations deployment](howto-manage-secrets.md) where you directly manage the synchronized secret used for authentication, Azure IoT Operations manages the synchronized secrets which represents the certificates on behalf of you.
176+
177+
Using the list view you can manage the synchronized certificates. You can view all the synchronized certificates, and which certificate store it is synchronized to:
178+
179+
TODO: <Screenshot of list view>
180+
181+
- To learn more about the *Trust list* and *Issuer list* stores, see [Configure OPC UA certificates infrastructure for the connector for OPC UA](../discover-manage-assets/howto-configure-opcua-certificates-infrastructure.md).
182+
183+
You can delete synced certificates as well. When you delete a synced certificate, it only deletes the synced certificate from the edge, and doesn't delete the contained secret reference from Azure Key Vault. You must delete the certificate secret manually from the key vault.

0 commit comments

Comments
 (0)