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/cost-management-billing/manage/cancel-azure-subscription.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -114,7 +114,7 @@ After you cancel, your services are disabled. That means your virtual machines a
114
114
115
115
:::image type="content" source="./media/cancel-azure-subscription/cancel-window.png" alt-text="Screenshot showing the cancellation window." lightbox="./media/cancel-azure-subscription/cancel-window.png" :::
116
116
117
-
After you cancel a subscription, your billing stops immediately. You can delete your subscription directly using the Azure portal seven days after you cancel it, when the **Delete subscription** option becomes available. When your subscription is deleted, Microsoft waits 30 to 90 days before permanently deleting your data in case you need to access it or recover your data. We don't charge you for retaining the data. For more information, see [Microsoft Trust Center - How we manage your data](https://go.microsoft.com/fwLink/p/?LinkID=822930).
117
+
After you cancel a subscription, your billing stops immediately. You can delete your subscription directly using the Azure portal seven days after you cancel it, when the **Delete subscription** option becomes available. When your subscription is cancelled, Microsoft waits 30 to 90 days before permanently deleting your data in case you need to access it or recover your data. We don't charge you for retaining the data. For more information, see [Microsoft Trust Center - How we manage your data](https://go.microsoft.com/fwLink/p/?LinkID=822930).
118
118
119
119
>[!NOTE]
120
120
> You must manually cancel your SaaS subscriptions before you cancel your Azure subscription. Only pay-as-you-go SaaS subscriptions are cancelled automatically by the Azure subscription cancellation process.
Copy file name to clipboardExpand all lines: articles/iot-operations/get-started/quickstart-add-assets.md
+16-37Lines changed: 16 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,43 +76,14 @@ To add an asset endpoint:
76
76
kubectl get assetendpointprofile -n azure-iot-operations
77
77
```
78
78
79
-
After you define an asset, an OPC UA connector pod discovers it. The pod uses the asset endpoint that you specify in the asset definition to connect to an OPC UA server. You can use `kubectl` to view the discovery pod that was created when you added the asset endpoint. The pod name looks like `aio-opc-opc.tcp-1-8f96f76-kvdbt`:
79
+
1. To enable the quickstart scenario, configure your asset endpoint to connect without mutual trust established. Run the following command:
When the OPC PLC simulator is running, data flows from the simulator, to the connector, to the OPC UA broker, and finally to the MQ broker.
86
-
87
-
The following step lowers the security level for the OPC PLC so that it accepts connections from any client without an explicit peer certificate trust operation. To enable the asset endpoint to use an untrusted certificate:
88
-
89
-
> [!CAUTION]
90
-
> Don't use untrusted certificates in production environments. To learn more, see [Configure an OPC PLC simulator](../manage-devices-assets/howto-configure-opc-plc-simulator.md).
91
-
92
-
1. Run the following command to enable the use of an untrusted certificate. Replace the two placeholders with your cluster name and resource group name:
> Don't use this configuration in production or pre-production environments. Exposing your cluster to the internet without proper authentication might lead to unauthorized access and even DDOS attacks.
116
87
117
88
1. To enable the configuration changes to take effect immediately, first find the name of your `aio-opc-supervisor` pod by using the following command:
118
89
@@ -128,6 +99,14 @@ The following step lowers the security level for the OPC PLC so that it accepts
128
99
kubectl delete pod aio-opc-supervisor-956fbb649-k9ppr -n azure-iot-operations
129
100
```
130
101
102
+
After you define an asset, an OPC UA connector pod discovers it. The pod uses the asset endpoint that you specify in the asset definition to connect to an OPC UA server. You can use `kubectl` to view the discovery pod that was created when you added the asset endpoint. The pod name looks like `aio-opc-opc.tcp-1-8f96f76-kvdbt`:
103
+
104
+
```console
105
+
kubectl get pods -n azure-iot-operations
106
+
```
107
+
108
+
When the OPC PLC simulator is running, data flows from the simulator, to the connector, to the OPC UA broker, and finally to the MQ broker.
109
+
131
110
## Manage your assets
132
111
133
112
After you select your cluster in Azure IoT Operations portal, you see the available list of assets on the **Assets** page. If there are no assets yet, this list is empty:
@@ -214,7 +193,7 @@ The sample tags you added in the previous quickstart generate messages from your
214
193
215
194
```json
216
195
{
217
-
"Timestamp": "2024-03-08T00:54:58.6572007Z",
196
+
"Timestamp": "2024-03-08T00:54:58.6572007Z",
218
197
"MessageType": "ua-deltaframe",
219
198
"payload": {
220
199
"temperature": {
@@ -271,7 +250,7 @@ kubectl get akrii -n azure-iot-operations
271
250
272
251
It might take a few minutes for the instance to show up.
273
252
274
-
The output from the previous command looks like the following example.
253
+
The output from the previous command looks like the following example.
Copy file name to clipboardExpand all lines: articles/iot-operations/get-started/quickstart-deploy.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -285,6 +285,15 @@ az keyvault create --enable-rbac-authorization false --name "<your unique key va
285
285
>[!TIP]
286
286
>If you get an error that says *Your device is required to be managed to access your resource*, go back to the previous step and make sure that you signed in interactively.
287
287
288
+
1. These quickstarts use the **OPC PLC simulator** to generate sample data. To configure the simulator for the quickstart scenario, run the following command:
289
+
290
+
> [!IMPORTANT]
291
+
> Don't use the following example in production, use it for simulation and test purposes only. The example lowers the security level for the OPC PLC so that it accepts connections from any client without an explicit peer certificate trust operation.
While the deployment is in progress, you can watch the resources being applied to your cluster. You can use kubectl commands to observe changes on the cluster or, since the cluster is Arc-enabled, you can use the Azure portal.
Copy file name to clipboardExpand all lines: articles/iot-operations/manage-devices-assets/howto-configure-opc-plc-simulator.md
+57-26Lines changed: 57 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,10 +22,12 @@ Azure IoT Operations installed. For more information, see [Quickstart: Deploy Az
22
22
23
23
## Deploy the OPC PLC simulator
24
24
25
-
This section shows how to deploy the OPC PLC simulator.
25
+
This section shows how to deploy the OPC PLC simulator.
26
+
27
+
The following step lowers the security level for the OPC PLC so that it accepts connections from Azure Iot OPC UA Broker or any client without an explicit peer certificate trust operation.
26
28
27
29
> [!IMPORTANT]
28
-
> Don't use the following example in production, use it for simulation and test purposes only. The example lowers the security level for the OPC PLC so that it accepts connections from any client without an explicit peer certificate trust operation.
30
+
> Don't use the following example in production, use it for simulation and test purposes only.
29
31
30
32
Run the following code to update the OPC UA Broker deployment and apply the new settings:
31
33
@@ -44,27 +46,51 @@ az k8s-extension update \
44
46
45
47
The OPC PLC OPC UA server should run in the same deployment as a separate pod.
46
48
47
-
## Get the certificate of the OPC PLC simulator
48
-
The application instance certificate of the OPC PLC is a self-signed certificate managed by cert-manager and stored in the `secret aio-opc-ua-opcplc-default-application-cert-000000` kubernetes secret.
49
-
50
-
To get the certificate, run the following commands on your cluster:
51
-
52
-
```bash
53
-
# extract the public key of the opc plc from the kubernetes secret
# optionally transform the certificate in *.der format
57
-
openssl x509 -outform der -in opcplc.crt -out opcplc.der
58
-
```
59
-
60
-
## Configure OPC UA mutual trust
61
-
The next step in OPC UA authentication is to configure mutual trust. In OPC UA communication, the OPC UA client and server authenticate each other.
62
-
63
-
To complete this configuration, follow the steps to [configure mutual trust](howto-configure-opcua-certificates-infrastructure.md#how-to-handle-the-opc-ua-trusted-certificates-list). Use the certificate file you extracted in the previous section.
49
+
## Configure OPC UA mutual trust between Azure Iot OPC UA Broker Preview and the OPC PLC
64
50
65
-
For simplicity, on the OPC PLC you don't need to do a mutual trust action. Mutual trust is configured with `autoAcceptUntrustedCertificates`, which accepts connections from any OPC UA client.
51
+
The application instance certificate of the OPC PLC is a self-signed certificate managed by cert-manager and stored in the `secret aio-opc-ua-opcplc-default-application-cert-000000` kubernetes secret.
66
52
67
-
## Optionally configure for no authentication
53
+
1. Get the certificate, run the following commands on your cluster, and push it to Azure Key Vault.
54
+
55
+
```bash
56
+
kubectl -n azure-iot-operations get secret aio-opc-ua-opcplc-default-application-cert-000000 -o jsonpath='{.data.tls\.crt}'| \
57
+
xargs -I {} \
58
+
az keyvault secret set \
59
+
--name "opcplc-crt" \
60
+
--vault-name <azure-key-vault-name> \
61
+
--value {} \
62
+
--encoding base64 \
63
+
--content-type application/x-pem-file
64
+
```
65
+
66
+
2. Configure the secret provider class (SPC) `aio-opc-ua-broker-trust-list` custom resource (CR) in the connected cluster. Use a K8s client such as kubectl to configure the secret `opcplc.crt`in the SPC object array in the connected cluster.
67
+
68
+
```yml
69
+
apiVersion: secrets-store.csi.x-k8s.io/v1
70
+
kind: SecretProviderClass
71
+
metadata:
72
+
name: aio-opc-ua-broker-trust-list
73
+
namespace: azure-iot-operations
74
+
spec:
75
+
provider: azure
76
+
parameters:
77
+
usePodIdentity: 'false'
78
+
keyvaultName: <azure-key-vault-name>
79
+
tenantId: <azure-tenant-id>
80
+
objects: |
81
+
array:
82
+
- |
83
+
objectName: opcplc-crt
84
+
objectType: secret
85
+
objectAlias: opcplc.crt
86
+
objectEncoding: hex
87
+
```
88
+
89
+
The projection of the Azure Key Vault secrets and certificates into the cluster takes some time depending on the configured polling interval.
90
+
91
+
Now, the Azure IoT OPC UA Broker the trust relationship with OPC PLC should be established and you can proceed to create an `AssetEndpointProfile` to connect to your OPC PLC simulation server.
92
+
93
+
## Optionally configure your `AssetEndpointProfile` without mutual trust established
68
94
69
95
You can optionally configure an asset endpoint profile for the OPC PLC to run without mutual trust established. If you understand the risks, you can turn off authentication for testing purposes.
70
96
@@ -73,14 +99,19 @@ You can optionally configure an asset endpoint profile for the OPC PLC to run wi
73
99
74
100
To allow your asset endpoint profile to connect to any OPC PLC server without establishing mutual trust, use the `additionalConfiguration` setting to change the `AssetEndpointProfile` for OPC UA.
75
101
76
-
Configure the setting as shown in the following example JSON code:
102
+
Patch the asset endpoint with `autoAcceptUntrustedServerCertificates=true`:
1. In the Azure portal, go to the virtual network gateway for the virtual network to which you want to connect.
10
10
1. On the virtual network gateway page, select **Point-to-site configuration** to open the Point-to-site configuration page.
11
-
1. At the top of the **Point-to-site configuration** page, select **Download VPN client**. This doesn't download VPN client software, it generates the configuration package used to configure VPN clients. It takes a few minutes for the client configuration package to generate. During this time, you may not see any indications until the packet has generated.
11
+
1. At the top of the **Point-to-site configuration** page, select **Download VPN client**. This doesn't download VPN client software, it generates the configuration package used to configure VPN clients. It takes a few minutes for the client configuration package to generate. During this time, you might not see any indications until the packet generates.
12
12
13
13
:::image type="content" source="./media/vpn-gateway-generate-profile-portal/download-configuration.png" alt-text="Screenshot of Point-to-site configuration page." lightbox="./media/vpn-gateway-generate-profile-portal/download-configuration.png":::
14
14
15
-
1. Once the configuration package has been generated, your browser indicates that a client configuration zip file is available. It's named the same name as your gateway. Unzip the file to view the folders.
15
+
1. Once the configuration package is generated, your browser indicates that a client configuration zip file is available. It's named the same name as your gateway.
16
+
1. Unzip the file to view the folders. You'll use some, or all, of these files to configure your VPN client. The files that are generated correspond to the authentication and tunnel type settings that you configured on the P2S server.
0 commit comments