Skip to content

Commit 8dd99ae

Browse files
Merge pull request #2670 from MicrosoftDocs/main
Auto Publish – main to live - 2026-03-27 06:00 UTC
2 parents bac77da + 68ef820 commit 8dd99ae

107 files changed

Lines changed: 744 additions & 745 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

articles/attestation/private-endpoint-powershell.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Create a resource group with [New-AzResourceGroup](/powershell/module/az.resourc
3434
```azurepowershell-interactive
3535
## Create to your Azure account subscription and create a resource group in a desired location. ##
3636
Connect-AzAccount
37-
Set-AzSubscription "mySubscription"
37+
Set-AzSubscription "<subscription-name>"
3838
$rg = "CreateAttestationPrivateLinkTutorial-rg"
3939
$loc= "eastus"
4040
New-AzResourceGroup -Name $rg -Location $loc
@@ -109,7 +109,7 @@ $attestationProvider = New-AzAttestation -Name $attestationProviderName -Resourc
109109
$attestationProviderId = $attestationProvider.Id
110110
```
111111
## Access the attestation provider from local machine ##
112-
Enter `nslookup <provider-name>.attest.azure.net`. Replace **\<provider-name>** with the name of the attestation provider instance you created in the previous steps.
112+
Enter `nslookup <provider-name>.attest.azure.net`. Replace `<provider-name>` with the name of the attestation provider instance you created in the previous steps.
113113
```azurepowershell-interactive
114114
## Access the attestation provider from local machine ##
115115
nslookup myattestationprovider.eus.attest.azure.net
@@ -189,7 +189,7 @@ In this section, you'll use the virtual machine you created in the previous step
189189

190190
8. Open Windows PowerShell on the server after you connect.
191191

192-
9. Enter `nslookup <provider-name>.attest.azure.net`. Replace **\<provider-name>** with the name of the attestation provider instance you created in the previous steps:
192+
9. Enter `nslookup <provider-name>.attest.azure.net`. Replace `<provider-name>` with the name of the attestation provider instance you created in the previous steps:
193193

194194
```azurepowershell-interactive
195195
## Access the attestation provider from local machine ##

articles/attestation/quickstart-azure-cli.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,13 @@ Here are commands you can use to create and manage the attestation provider:
6868
1. Run the [az attestation create](/cli/azure/attestation#az-attestation-create) command to create an attestation provider without policy signing requirement:
6969

7070
```azurecli
71-
az attestation create --name "myattestationprovider" --resource-group "MyResourceGroup" --location westus
71+
az attestation create --name "<attestation-provider-name>" --resource-group "<resource-group>" --location westus
7272
```
7373

7474
1. Run the [az attestation show](/cli/azure/attestation#az-attestation-show) command to retrieve attestation provider properties such as status and AttestURI:
7575

7676
```azurecli
77-
az attestation show --name "myattestationprovider" --resource-group "MyResourceGroup"
77+
az attestation show --name "<attestation-provider-name>" --resource-group "<resource-group>"
7878
```
7979

8080
This command displays values like the following output:
@@ -94,7 +94,7 @@ Here are commands you can use to create and manage the attestation provider:
9494
You can delete an attestation provider by using the [az attestation delete](/cli/azure/attestation#az-attestation-delete) command:
9595

9696
```azurecli
97-
az attestation delete --name "myattestationprovider" --resource-group "sample-resource-group"
97+
az attestation delete --name "<attestation-provider-name>" --resource-group "<resource-group>"
9898
```
9999

100100
## Policy management
@@ -104,7 +104,7 @@ Use the commands described here to provide policy management for an attestation
104104
The [az attestation policy show](/cli/azure/attestation/policy#az-attestation-policy-show) command returns the current policy for the specified TEE:
105105

106106
```azurecli
107-
az attestation policy show --name "myattestationprovider" --resource-group "MyResourceGroup" --attestation-type SGX-IntelSDK
107+
az attestation policy show --name "<attestation-provider-name>" --resource-group "<resource-group>" --attestation-type SGX-IntelSDK
108108
```
109109

110110
> [!NOTE]
@@ -127,7 +127,7 @@ az attestation policy set --name testatt1 --resource-group testrg --attestation-
127127
To set policy in JWT format for a given kind of attestation type using file path:
128128

129129
```azurecli
130-
az attestation policy set --name "myattestationprovider" --resource-group "MyResourceGroup" \
130+
az attestation policy set --name "<attestation-provider-name>" --resource-group "<resource-group>" \
131131
--attestation-type SGX-IntelSDK -f "{file_path}" --policy-format JWT
132132
```
133133

articles/cloud-hsm/backup-restore.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how to back up and restore your Azure Cloud HSM resources, in
44
author: msmbaldwin
55
ms.service: azure-cloud-hsm
66
ms.topic: tutorial
7-
ms.date: 03/20/2025
7+
ms.date: 03/26/2026
88
ms.author: mbaldwin
99

1010
# Customer intent: As a security administrator, I need to back up and restore Azure Cloud HSM resources to ensure business continuity and facilitate disaster recovery.
@@ -49,10 +49,10 @@ Create a new user-assigned managed identity in your existing Azure Cloud HSM res
4949
```azurepowershell-interactive
5050
# Define parameters for the new managed identity
5151
$identity = @{
52-
Location = "<RegionName>"
53-
ResourceName = "<ManagedIdentityName>"
54-
ResourceGroupName = "<ResourceGroupName>"
55-
SubscriptionID = "<SubscriptionID>"
52+
Location = "<location>"
53+
ResourceName = "<managed-identity-name>"
54+
ResourceGroupName = "<resource-group>"
55+
SubscriptionID = "<subscription-id>"
5656
}
5757
5858
# Create a new user-assigned managed identity in the specified resource group and location
@@ -71,21 +71,21 @@ Each Cloud HSM cluster can have only one managed identity. You can use the same
7171
```azurepowershell-interactive
7272
# Define the parameters for the source Cloud HSM resource
7373
$sourceCloudHSM = @{
74-
Location = "<RegionName>"
74+
Location = "<location>"
7575
Sku = @{ "family" = "B"; "Name" = "Standard_B1" }
76-
ResourceName = "<SourceCloudHSMName>"
76+
ResourceName = "<source-hsm-name>"
7777
ResourceType = "microsoft.hardwaresecuritymodules/cloudHsmClusters"
78-
ResourceGroupName = "<SourceResourceGroupName>"
78+
ResourceGroupName = "<source-resource-group>"
7979
Force = $true
8080
}
8181
8282
# Define the parameters for the destination Cloud HSM resource
8383
$destinationCloudHSM = @{
84-
Location = "<RegionName>"
84+
Location = "<location>"
8585
Sku = @{ "family" = "B"; "Name" = "Standard_B1" }
86-
ResourceName = "<DestinationCloudHSMName>"
86+
ResourceName = "<destination-hsm-name>"
8787
ResourceType = "microsoft.hardwaresecuritymodules/cloudHsmClusters"
88-
ResourceGroupName = "<DestinationResourceGroupName>"
88+
ResourceGroupName = "<destination-resource-group>"
8989
Force = $true
9090
}
9191
@@ -95,11 +95,11 @@ $chsmMSIPatch = '{
9595
"Family": "B",
9696
"Name": "Standard_B1"
9797
},
98-
"Location": "<RegionName>",
98+
"Location": "<location>",
9999
"Identity": {
100100
"type": "UserAssigned",
101101
"userAssignedIdentities": {
102-
"/subscriptions/<SubscriptionID>/resourcegroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<ManagedIdentityName>": {}
102+
"/subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>": {}
103103
}
104104
}
105105
}'
@@ -138,37 +138,37 @@ Read/write access is granted for both the source and the destination.
138138
139139
```azurepowershell-interactive
140140
# Define the subscription ID
141-
$subscriptionId = "<SubscriptionID>"
141+
$subscriptionId = "<subscription-id>"
142142
143143
# Define storage account parameters
144144
$storageAccount = @{
145-
Location = "<RegionName>"
146-
ResourceGroupName = "<BackupResourceGroupName>"
147-
AccountName = "<ResourceName>" # Name of the storage account
148-
SkuName = "<StorageAccountSKU>" # Storage account tier (example: Standard_LRS)
149-
Kind = "<StorageAccountType>" #Type of storage account (example: StorageV2)
145+
Location = "<location>"
146+
ResourceGroupName = "<backup-resource-group>"
147+
AccountName = "<storage-account-name>" # Name of the storage account
148+
SkuName = "<storage-sku>" # Storage account tier (example: Standard_LRS)
149+
Kind = "<storage-type>" #Type of storage account (example: StorageV2)
150150
}
151151
152152
# Define the blob container parameters
153153
$container = @{
154154
ResourceGroupName = $storageAccount.ResourceGroupName # Resource group name where the storage account is located
155155
StorageAccountName = $storageAccount.AccountName # Name of the storage account
156-
ContainerName = "<StorageContainerName>" # Name of the blob container
156+
ContainerName = "<container-name>" # Name of the blob container
157157
}
158158
159159
# Define the private endpoint parameters
160160
# Storage accounts are publicly accessible, so put it behind a private virtual network
161161
$privateEndpoint = @{
162-
Name = "<PrivateEndpointName>"
163-
VnetName = "<ExistingVNetName>" # Name of the existing virtual network
164-
SubnetName = "<ExistingSubnetName>" # Name of the existing subnet within the virtual network
165-
ResourceGroupName = "<ResourceGroupName>" # Resource group for private virtual network and subnet (example: CHSM-CLIENT-RG)
162+
Name = "<private-endpoint-name>"
163+
VnetName = "<vnet-name>" # Name of the existing virtual network
164+
SubnetName = "<subnet-name>" # Name of the existing subnet within the virtual network
165+
ResourceGroupName = "<resource-group>" # Resource group for private virtual network and subnet (example: CHSM-CLIENT-RG)
166166
}
167167
168168
# Define the role assignment parameters
169169
$roleAssignment = @{
170170
RoleDefinitionName = "Storage Blob Data Contributor" # Minimum RBAC role required
171-
PrincipalId = "<PrincipalId>" # The ID of the managed identity or user to assign the role to
171+
PrincipalId = "<principal-id>" # The ID of the managed identity or user to assign the role to
172172
Scope = "/subscriptions/$($subscriptionId)/resourceGroups/$($storageAccount.ResourceGroupName)/providers/Microsoft.Storage/storageAccounts/$($storageAccount.AccountName)"
173173
}
174174

articles/cloud-hsm/pkcs-api-certificate-storage.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: keithp
55
manager: keithp
66
ms.service: azure-cloud-hsm
77
ms.topic: tutorial
8-
ms.date: 03/20/2025
8+
ms.date: 03/26/2026
99
ms.author: keithp
1010
ms.custom: pkcs11, certificate-management, x509-certificates, azure-cloud-hsm
1111

@@ -118,7 +118,7 @@ The following attributes are applicable to X.509 public key certificates.
118118
119119
### C_DestroyObject
120120
121-
The C_DestroyObject API takes a session handle, and the object handle associated with the certificate you want to delete. Invoking this function removes the specified certificate from the Azure Blob Storage Account by deleting the corresponding JWS blob named pkcs11_certificate_<cert_handle>.
121+
The C_DestroyObject API takes a session handle, and the object handle associated with the certificate you want to delete. Invoking this function removes the specified certificate from the Azure Blob Storage Account by deleting the corresponding JWS blob named `pkcs11_certificate_<cert-handle>`.
122122
123123
Below is a code snippet demonstrating how to call C_DestroyObject for certificates (the same approach applies to keys).
124124
@@ -349,7 +349,7 @@ Azure Cloud HSM includes sample application code to help validate certificate st
349349

350350
### Verify certificates in storage
351351

352-
After a successful call to the C_CreateObject() API, the newly created certificate object will appear in your Azure Blob Storage account, as specified in the azcloudhsm_application.cfg file. The blob will be named using the format pkcs11_certificate_\<ObjectHandle\>, as shown below. Certificate objects are assigned object handles ranging from 0xFFF00000 to 0xFFFFFFFF (decimal range: 4,293,918,720 to 4,294,967,295), allowing support for up to 1,048,575 certificates.
352+
After a successful call to the C_CreateObject() API, the newly created certificate object will appear in your Azure Blob Storage account, as specified in the azcloudhsm_application.cfg file. The blob will be named using the format `pkcs11_certificate_<object-handle>`, as shown below. Certificate objects are assigned object handles ranging from 0xFFF00000 to 0xFFFFFFFF (decimal range: 4,293,918,720 to 4,294,967,295), allowing support for up to 1,048,575 certificates.
353353

354354
From both Azure portal as well as from your Azure VM you can see the certificates stored.
355355

articles/cloud-hsm/quickstart-powershell.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: keithp
55
manager: keithp
66
ms.service: azure-cloud-hsm
77
ms.topic: quickstart
8-
ms.date: 03/20/2025
8+
ms.date: 03/26/2026
99
ms.author: keithp
1010

1111
#customer intent: As an IT pro decision-maker, I'm looking for key storage capability within the Azure cloud platform that meets FIPS 140-3 Level 3 certification and that gives me exclusive access to a dedicated hardware security module.
@@ -36,11 +36,11 @@ The following example code creates a resource group and a Cloud HSM instance. Yo
3636
```azurepowershell-interactive
3737
# Define variables for your Cloud HSM deployment
3838
$server = @{
39-
Location = "<RegionName>"
39+
Location = "<location>"
4040
Sku = @{"family" = "B"; "Name" = "Standard_B1" }
41-
ResourceName = "<HSMName>"
41+
ResourceName = "<hsm-name>"
4242
ResourceType = "microsoft.hardwaresecuritymodules/cloudHsmClusters"
43-
ResourceGroupName = "<ResourceGroupName>"
43+
ResourceGroupName = "<resource-group>"
4444
Force = $true
4545
}
4646
@@ -63,9 +63,9 @@ If you plan to use backup and restore functionality, you can create and configur
6363
```azurepowershell-interactive
6464
# Define parameters for the new managed identity
6565
$identity = @{
66-
Location = "<RegionName>"
67-
ResourceName = "<ManagedIdentityName>"
68-
ResourceGroupName = "<ResourceGroupName>"
66+
Location = "<location>"
67+
ResourceName = "<managed-identity-name>"
68+
ResourceGroupName = "<resource-group>"
6969
}
7070
7171
# Create a new user-assigned managed identity
@@ -105,7 +105,7 @@ For production environments, we strongly recommend that you configure a private
105105
```azurepowershell-interactive
106106
# Define private endpoint parameters
107107
$privateEndpoint = @{
108-
Name = "<PrivateEndpointName>"
108+
Name = "<private-endpoint-name>"
109109
ResourceGroupName = $server.ResourceGroupName
110110
Location = $server.Location
111111
Subnet = $subnet # You need to have $subnet defined with your subnet configuration
@@ -128,10 +128,10 @@ New-AzPrivateEndpoint @privateEndpoint
128128
When you run the `New-AzResource` command with the `-AsJob` parameter, it creates a background job to deploy your Cloud HSM resource. You can check the status of the deployment by running:
129129

130130
```azurepowershell-interactive
131-
Get-Job -Id <JobId> | Receive-Job
131+
Get-Job -Id <job-id> | Receive-Job
132132
```
133133

134-
In the preceding command, `<JobId>` is the ID that the system returned when you ran the `New-AzResource` command.
134+
In the preceding command, `<job-id>` is the ID that the system returned when you ran the `New-AzResource` command.
135135

136136
The deployment is complete when you see a successful result from the job or when you can verify that the resource exists in your Azure subscription.
137137

articles/cloud-hsm/synchronize-users-keys.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: keithp
55
manager: davinune
66
ms.service: azure-cloud-hsm
77
ms.topic: how-to
8-
ms.date: 03/20/2025
8+
ms.date: 03/26/2026
99
ms.author: keithp
1010
---
1111

@@ -54,7 +54,7 @@ All users in Azure Cloud HSM are fully managed by the customer. The service does
5454
1. Sign in as a cryptography officer (CO):
5555

5656
```bash
57-
loginHSM CO admin <adminPassword>
57+
loginHSM CO admin <admin-password>
5858
```
5959

6060
Verify that you successfully signed in to all three nodes:
@@ -74,11 +74,11 @@ All users in Azure Cloud HSM are fully managed by the customer. The service does
7474
server 0
7575
```
7676

77-
1. Run the `syncUser` command for each server where the user is missing. Replace `<UserID>` with the actual User ID:
77+
1. Run the `syncUser` command for each server where the user is missing. Replace `<user-id>` with the actual User ID:
7878

7979
```bash
80-
syncUser <UserID> 1
81-
syncUser <UserID> 2
80+
syncUser <user-id> 1
81+
syncUser <user-id> 2
8282
```
8383

8484
> [!NOTE]
@@ -116,7 +116,7 @@ When you create keys, it's your responsibility to ensure keys are present on all
116116
1. Sign in as a cryptography officer (CO):
117117

118118
```bash
119-
loginHSM CO admin <adminPassword>
119+
loginHSM CO admin <admin-password>
120120
```
121121

122122
Verify that you successfully signed in to all three nodes:
@@ -143,11 +143,11 @@ When you create keys, it's your responsibility to ensure keys are present on all
143143
server 0
144144
```
145145

146-
1. Run the `syncKey` command for each server where the key is missing. Replace `<KeyHandle>` with the actual key handle ID:
146+
1. Run the `syncKey` command for each server where the key is missing. Replace `<key-handle>` with the actual key handle ID:
147147

148148
```bash
149-
syncKey <KeyHandle> 1
150-
syncKey <KeyHandle> 2
149+
syncKey <key-handle> 1
150+
syncKey <key-handle> 2
151151
```
152152

153153
For example, to synchronize key handle 262150 to servers 1 and 2:

articles/cloud-hsm/troubleshoot.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: keithp
55
manager: davinune
66
ms.service: azure-cloud-hsm
77
ms.topic: troubleshooting-general
8-
ms.date: 03/20/2025
8+
ms.date: 03/26/2026
99
ms.author: keithp
1010
---
1111

@@ -184,7 +184,7 @@ cd C:\Program Files\Microsoft Azure Cloud HSM Client SDK
184184

185185
The PKCS#11 library knows how to find the client configuration because you must have a copy of your partition owner certificate (`PO.crt`) on the application server that's running your application and using the PKCS#11 library. In addition to the partition owner certificate:
186186

187-
- You have to update `/azcloudhsm_client/azcloudhsm_client.cfg` on the application server that has the SDK installed to point to your Azure Cloud HSM deployment (that is, `hsm1.chsm-<resourcename>-<uniquestring>.privatelink.cloudhsm.azure.net`).
187+
- You have to update `/azcloudhsm_client/azcloudhsm_client.cfg` on the application server that has the SDK installed to point to your Azure Cloud HSM deployment (that is, `hsm1.chsm-<resource-name>-<unique-string>.privatelink.cloudhsm.azure.net`).
188188
- The `azcloudhsm_client` tool must be running on the application server that connects to your Azure Cloud HSM deployment.
189189
- You must specify a PIN within your PKCS#11 application by using the syntax `<username>:<password>`. This PIN is used for calling `C_Login` to your Azure Cloud HSM deployment.
190190
- You must include `pkcs11_headers/include/cryptoki.h` and `pkcs11_headers/include/pkcs11t.h` in your PKCS#11 application to use the PKCS#11 library for Azure Cloud HSM.
@@ -193,7 +193,7 @@ The PKCS#11 library knows how to find the client configuration because you must
193193

194194
The `azcloudhsm_pkcs11.dll` file in the Azure Cloud HSM Windows SDK knows how to find the client configuration because you must have a copy of your partition owner certificate (`PO.crt`) on the application server that's running your application and using the PKCS#11 library. In addition to the partition owner certificate:
195195

196-
- You have to update `/azcloudhsm_client/azcloudhsm_client.cfg` on the application server that has the SDK installed to point to your Azure Cloud HSM deployment (that is, `hsm1.chsm-<resourcename>-<uniquestring>.privatelink.cloudhsm.azure.net`).
196+
- You have to update `/azcloudhsm_client/azcloudhsm_client.cfg` on the application server that has the SDK installed to point to your Azure Cloud HSM deployment (that is, `hsm1.chsm-<resource-name>-<unique-string>.privatelink.cloudhsm.azure.net`).
197197
- The `azcloudhsm_client` tool must run on the application server that connects to your Azure Cloud HSM deployment.
198198
- You must specify a PIN within your PKCS#11 application by using the syntax `<username>:<password>`. This PIN is used for calling `C_Login` to your Azure Cloud HSM deployment.
199199
- You must include `pkcs11_headers\include\cryptoki.h` and `pkcs11_headers\include\pkcs11t.h` in your PKCS#11 application to use the PKCS#11 library for Azure Cloud HSM.

0 commit comments

Comments
 (0)