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/key-vault/includes/key-management-policy-grammar.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -257,7 +257,7 @@ The encoding is as follows:
257
257
An Environment Assertion is a signed assertion, in JSON Web Token form, from a trusted authority. An Environment Asserting contains at least a key encryption key and one or more claims about the target environment (for example, TEE type, publisher, version) that are matched against the Key Release Policy. The key encryption key is a public RSA key owned and protected by the target execution environment that is used for key export. It must appear in the TEE keys claim (x-ms-runtime/keys). This claim is a JSON object representing a JSON Web Key Set. Within the JWKS, one of the keys must meet the requirements for use as an encryption key (key_use is "enc", or key_ops contains "encrypt"). The first suitable key is chosen.
258
258
259
259
## Key Vault and Managed HSM Attestation Token Requirements
260
-
Azure Key Vault Premium and Managed HSM Secure Key Release were designed alongside [Microsoft Azure Attestation Service](../../attestation/overview.md) but may work with any attestation server’s tokens if it conforms to the expected token structure, supports OpenID connect, and has the expected claims. DigiCert is presently the only public CA that Azure Key Vault Premium and Managed HSM trust for attestation token signing certificates.
260
+
Azure Key Vault Premium and Managed HSM Secure Key Release were designed alongside [Microsoft Azure Attestation Service](/azure/attestation/overview) but may work with any attestation server's tokens if it conforms to the expected token structure, supports OpenID connect, and has the expected claims. DigiCert is presently the only public CA that Azure Key Vault Premium and Managed HSM trust for attestation token signing certificates.
261
261
262
262
263
263
@@ -279,4 +279,4 @@ The full set of requirements are:
279
279
280
280
- Marked with **key_use** of encryption or a **key_ops** array containing the Encrypt operation.
281
281
282
-
For a sample token see [Examples of an Azure Attestation token](../../attestation/attestation-token-examples.md#sample-jwt-generated-for-sev-snp-attestation).
282
+
For a sample token see [Examples of an Azure Attestation token](/azure/attestation/attestation-token-examples#sample-jwt-generated-for-sev-snp-attestation).
> Deleting the resource group puts the Managed HSM into a soft-deleted state. The Managed HSM continues to be billed until it's purged. See [Managed HSM soft-delete and purge protection](/azure/key-vault/managed-hsm/recovery)
Managed HSM is a fully managed, highly available, single-tenant, standards-compliant cloud service that enables you to safeguard cryptographic keys for your cloud applications, using **FIPS 140-3 Level 3** validated HSMs. For more information on Managed HSM, review the [Overview](/azure/key-vault/managed-hsm/overview).
- An Azure subscription. [Create one for free](https://azure.microsoft.com/free/).
12
+
- A provisioned and activated Managed HSM. See [Quickstart: Provision and activate a managed HSM using Azure CLI](/azure/key-vault/managed-hsm/quick-create-cli).
13
+
- A key created in your Managed HSM. See [Manage keys in a Managed HSM](/azure/key-vault/managed-hsm/key-management).
14
+
- An Azure resource with a managed identity (such as a VM, App Service, or Azure Function) or Azure CLI for local development.
15
+
- The managed identity must have the appropriate Managed HSM local RBAC role assigned. See [Secure access to your managed HSMs](/azure/key-vault/managed-hsm/how-to-secure-access).
- The minimum number of keys required to decrypt the security domain (called a *quorum*)
15
+
16
+
You send at least three (maximum 10) RSA public keys to the HSM. The HSM encrypts the security domain with these keys and sends it back. Once the security domain download completes successfully, your HSM is ready to use. You also need to specify the quorum, which is the minimum number of private keys required to decrypt the security domain.
17
+
18
+
The following example shows how to use `openssl` to generate three self-signed certificates:
The certificate expiration date doesn't affect security domain operations—even an "expired" certificate can still be used to restore the security domain.
27
+
28
+
> [!IMPORTANT]
29
+
> These RSA private keys are the root of trust for your Managed HSM. For production environments, generate these keys using an air-gapped system or on-premises HSM, and store them securely. See [Security domain best practices](/azure/key-vault/managed-hsm/security-domain#generating-the-rsa-key-pairs-securely) for detailed guidance.
Copy file name to clipboardExpand all lines: articles/key-vault/managed-hsm/how-to-secure-access.md
+60-1Lines changed: 60 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ ms.custom: devx-track-azurecli
7
7
ms.service: azure-key-vault
8
8
ms.subservice: managed-hsm
9
9
ms.topic: how-to
10
-
ms.date: 01/30/2026
10
+
ms.date: 03/13/2026
11
11
ms.author: mbaldwin
12
12
# Customer intent: As a managed HSM administrator, I want to set access control and configure the Managed HSM, so that I can ensure it's secure and auditors can properly monitor all activities for this Managed HSM.
az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto Service Encryption User" --assignee $storage_account_principal
145
145
```
146
146
147
+
## Configure Privileged Identity Management for just-in-time access
148
+
149
+
For highly sensitive environments, use [Microsoft Entra Privileged Identity Management (PIM)](/entra/id-governance/privileged-identity-management/pim-configure) to enforce just-in-time access for the Managed HSM Administrator role. PIM reduces the attack surface by eliminating standing administrative privileges.
150
+
151
+
### Prerequisites for PIM integration
152
+
153
+
- Microsoft Entra ID P2 or Microsoft Entra ID Governance license
154
+
- Privileged Role Administrator or Global Administrator role in Microsoft Entra ID
155
+
156
+
### Enable PIM for Managed HSM Administrator role
157
+
158
+
1. Sign in to the [Microsoft Entra admin center](https://entra.microsoft.com).
1. Select **Roles** and search for roles that include "Managed HSM". While the data plane roles (Managed HSM Administrator, Crypto User, etc.) are managed through Managed HSM local RBAC, you can use PIM for the control plane **Managed HSM Contributor** role.
163
+
164
+
1. Select the role and configure:
165
+
-**Activation maximum duration**: Set to a limited time window (for example, 4-8 hours)
166
+
-**Require justification**: Enable to require users to provide a reason for activation
167
+
-**Require approval**: Enable and specify approvers from your security team
168
+
-**Require MFA**: Enable for an additional security layer
169
+
170
+
### Use Microsoft Entra security groups with PIM
171
+
172
+
For data plane roles managed through Managed HSM local RBAC, combine PIM with Microsoft Entra security groups:
173
+
174
+
1. Create a Microsoft Entra security group for HSM administrators (for example, "Contoso HSM Admins").
175
+
176
+
1. Assign the Managed HSM Administrator role to this security group:
177
+
178
+
```azurecli-interactive
179
+
az keyvault role assignment create --hsm-name ContosoMHSM \
180
+
--assignee $(az ad group show -g 'Contoso HSM Admins' --query 'id' -o tsv) \
181
+
--scope / --role "Managed HSM Administrator"
182
+
```
183
+
184
+
1. Configure the security group as PIM-eligible in Microsoft Entra admin center:
1. When administrators need access, they activate their group membership through PIM, which temporarily grants them the Managed HSM Administrator role.
190
+
191
+
### Monitor PIM activations
192
+
193
+
Configure alerts for PIM role activations to maintain visibility:
194
+
195
+
1. In Microsoft Entra admin center, navigate to **Privileged Identity Management** > **Microsoft Entra roles** > **Alerts**.
196
+
197
+
1. Configure alerts for:
198
+
- Roles being activated too frequently
199
+
- Roles being assigned outside of PIM
200
+
- Eligible assignments being created
201
+
202
+
For comprehensive security monitoring, integrate these alerts with [Microsoft Sentinel](sentinel.md) alongside your Managed HSM audit logs.
203
+
147
204
## Considerations for production environments
148
205
149
206
This tutorial demonstrates a simplified scenario to illustrate access control implementation.
@@ -156,6 +213,8 @@ Adjust permissions for your managed HSM based on your specific requirements. In
156
213
- For a getting-started tutorial for an administrator, see [What is Managed HSM?](overview.md)
157
214
- For more information about usage logging for Managed HSM logging, see [Managed HSM logging](logging.md).
158
215
- To learn about managing roles in Managed HSM, see [Managed HSM local RBAC](role-management.md).
216
+
- Learn about [Microsoft Entra Privileged Identity Management](/entra/id-governance/privileged-identity-management/pim-configure).
217
+
- Review [Secure your Azure Managed HSM deployment](secure-managed-hsm.md).
159
218
- See [Azure RBAC documentation](/azure/role-based-access-control/overview).
160
219
- See [Azure RBAC: Built-in roles](/azure/role-based-access-control/built-in-roles).
161
220
- See [Manage Azure RBAC with Azure CLI](/azure/role-based-access-control/role-assignments-cli).
Copy file name to clipboardExpand all lines: articles/key-vault/managed-hsm/key-management.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,6 +27,7 @@ To complete the steps in this article, you must have the following items:
27
27
* A Microsoft Azure subscription. If you don't have one, you can sign up for a [free trial](https://azure.microsoft.com/pricing/free-trial).
28
28
* The Azure CLI version 2.25.0 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install the Azure CLI](/cli/azure/install-azure-cli).
29
29
* A managed HSM in your subscription. See [Quickstart: Provision and activate a managed HSM using Azure CLI](quick-create-cli.md) to provision and activate a managed HSM.
30
+
* To access keys using Azure SDKs, see [.NET](quickstart-dotnet.md) | [Python](quickstart-python.md) | [JavaScript](quickstart-javascript.md)
Copy file name to clipboardExpand all lines: articles/key-vault/managed-hsm/quick-create-cli.md
+1-19Lines changed: 1 addition & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -84,25 +84,7 @@ Your Azure account is now authorized to perform any operations on this Managed H
84
84
85
85
All data plane commands are disabled until the HSM is activated. For example, you are not able to create keys or assign roles. Only the designated administrators that were assigned during the create command can activate the HSM. To activate the HSM, you must download the [Security Domain](security-domain.md).
86
86
87
-
To activate your HSM, you need:
88
-
- To provide a minimum of three RSA key-pairs (up to a maximum of 10)
89
-
- To specify the minimum number of keys required to decrypt the security domain (called a *quorum*)
90
-
91
-
To activate the HSM, you send at least three (maximum 10) RSA public keys to the HSM. The HSM encrypts the security domain with these keys and sends it back. Once this security domain download is successfully completed, your HSM is ready to use. You also need to specify quorum, which is the minimum number of private keys required to decrypt the security domain.
92
-
93
-
The following example shows how to use `openssl` to generate three self-signed certificates.
Use the `az keyvault security-domain download` command to download the security domain and activate your Managed HSM. The following example uses three RSA key pairs (only public keys are needed for this command) and sets the quorum to two.
0 commit comments