canonical: https://jentic.com/apis/azure.com/azure-dedicated-hsm-resource-provider

# Microsoft Azure Azure Dedicated HSM Resource Provider

The Azure Dedicated HSM Resource Provider API manages single-tenant Hardware Security Module appliances (Microsoft.HardwareSecurityModules/dedicatedHSMs) provisioned into a customer's virtual network. It exposes operations to list, create, update, and delete HSM resources scoped to a subscription or resource group. Dedicated HSMs are FIPS 140-2 Level 3 validated and intended for workloads that need direct, exclusive control of cryptographic hardware rather than the multi-tenant Key Vault service.

## For AI agents

Provision and manage single-tenant FIPS 140-2 Level 3 HSM appliances under Microsoft.HardwareSecurityModules. Supports six endpoints for listing, retrieving, creating, patching, and deleting dedicated HSM resources.

## Scope

Does not perform key generation, signing, or encryption operations and does not manage Key Vault or Managed HSM resources - use for Dedicated HSM appliance lifecycle only.

## Capabilities

- Provision a single-tenant Dedicated HSM appliance into a customer subnet
- List all Dedicated HSMs across a subscription or scoped to a resource group
- Retrieve a specific Dedicated HSM to inspect SKU, location, and network profile
- Patch tags or zone information on an existing Dedicated HSM
- Delete a Dedicated HSM that is no longer required
- Bind a Dedicated HSM to a stable management network interface within the customer VNet

## Use cases

### Provision a Compliance-Grade HSM Appliance

Deploy a single-tenant Dedicated HSM into a customer-owned subnet so cryptographic keys never leave FIPS 140-2 Level 3 hardware controlled by the customer. The Resource Provider API takes a single PUT with location, SKU (SafeNet Luna Network HSM A790), and a network profile referencing the target subnet and stable IP. After provisioning, application servers connect to the HSM directly via the appliance's documented client tooling.

Example prompt: PUT /subscriptions/{subscriptionId}/resourceGroups/rg-crypto/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/payments-hsm with location=eastus2, sku.name=SafeNet Luna Network HSM A790, and a networkProfile pointing at subnet hsm-subnet.

### Cryptographic Hardware Inventory

Produce a portfolio inventory of every Dedicated HSM across subscriptions to satisfy compliance reporting. The API's DedicatedHsm_ListBySubscription returns each HSM with its location, SKU, zones, and network profile, which is enough to build an audit-ready table. The same flow applies for resource-group scoped queries and is callable from any pipeline that has reader access.

Example prompt: List all Dedicated HSMs in subscription 1111-2222 and emit a row per HSM with name, location, sku.name, zones, and networkProfile.subnet.

### Decommission Replaced HSM Appliances

Cleanly remove Dedicated HSMs that have been replaced with newer hardware or migrated to managed HSM offerings. The DELETE operation tears down the resource at the resource provider level, after which the customer is no longer billed for the appliance. This complements out-of-band procedures for key migration, which the API does not manage directly.

Example prompt: DELETE /subscriptions/{subscriptionId}/resourceGroups/rg-crypto/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/legacy-hsm.

### Agent-Driven HSM Lifecycle Reporting

A Jentic agent runs a recurring job that lists every Dedicated HSM, checks zones and SKUs against a compliance baseline, and either patches non-compliant tags or escalates the resource for review. The agent uses the same six endpoints in this spec to enumerate, inspect, and patch HSMs without portal access.

Example prompt: List Dedicated HSMs in subscription 1111-2222, find any without the tag environment=production, and PATCH each to add the missing tag.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /subscriptions/{subscriptionId}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs | List Dedicated HSMs across the subscription |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs | List Dedicated HSMs in a resource group |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name} | Get a single Dedicated HSM |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name} | Create or update a Dedicated HSM |
| PATCH | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name} | Patch tags or zones on an HSM |
| DELETE | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name} | Delete a Dedicated HSM |

## Key resources

- **dedicatedHSMs** — CRUD on Microsoft.HardwareSecurityModules dedicated HSM resources
- **subscription scope** — Subscription-wide listing of dedicated HSM appliances
- **resource group scope** — Listing and management of HSMs within a resource group

## Why Jentic

- **Setup:** Wiring the Azure Dedicated HSM Resource Provider by hand means registering an Azure AD app, exchanging OAuth 2.0 tokens for management.azure.com, validating the networkProfile against a customer subnet, and building the Azure Resource Manager plumbing that polls long-running appliance provisioning and retries on throttling. Through Jentic you install once, import the Azure Dedicated HSM Resource Provider from the API Directory, store the Azure AD credential once, and your agent calls it.
- **Permission scoping:** This API puts the subscription, resource group, and HSM name in the URL path (for example /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}), so a rule can pin your agent to a specific HSM resource. You choose the operations it may call, so ones like deleting an HSM appliance or overwriting it with a create-or-update are not included unless you add them.
- **Credential handling:** Your Azure AD credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'provision a dedicated HSM in Azure' or 'list dedicated HSMs in a subscription', and Jentic returns the matching DedicatedHsm operation with its full request schema, including the networkProfile and SKU fields, so the agent does not read ARM docs.

## Related APIs

- **Azure Key Vault Management** — Provisions multi-tenant Key Vault and Managed HSM resources for most workloads.
- **Azure Network Management** — Manages the virtual networks and subnets that Dedicated HSMs attach to.
- **Azure Key Vault Data Plane** — Performs key, secret, and certificate operations against a managed Key Vault.

## FAQ

### What authentication does the Azure Dedicated HSM API use?

Azure Active Directory OAuth 2.0 via the azure_auth scheme (user_impersonation scope) on https://management.azure.com/. With Jentic, AAD client credentials live in your Jentic One instance and the agent receives a runtime bearer token rather than the secret itself.

### Can I provision a Dedicated HSM with this API?

Yes. PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name} with location, sku.name (SafeNet Luna Network HSM A790), and a networkProfile that references the target subnet plus an optional stable IP.

### What are the rate limits for the Azure Dedicated HSM API?

It shares Azure Resource Manager subscription throttling, typically 12,000 reads and 1,200 writes per hour per subscription. HSM provisioning itself is a long-running operation; clients should poll the resource until provisioningState reaches Succeeded.

### How do I list every Dedicated HSM in my subscription through Jentic?

Search Jentic for "list azure dedicated hsm", load the schema for DedicatedHsm_ListBySubscription, then execute with subscriptionId. Run it through Jentic One, the self-hosted execution layer to obtain an API key.

### How does this differ from Azure Key Vault?

Azure Key Vault and Managed HSM are multi-tenant or pooled services managed by Microsoft. Dedicated HSM gives the customer exclusive use of an appliance attached to their VNet, with direct cryptographic protocol access for workloads that require single-tenant hardware and explicit compliance control.

### Are HSM key operations performed through this API?

No. This is a control plane that provisions the appliance. Cryptographic operations (key generation, signing, encryption) happen via the HSM vendor's client tooling and protocol stack against the appliance's network address inside your VNet.

### Can I limit what my agent is allowed to do with the Azure Dedicated HSM Resource Provider API?

Yes. Jentic One is self-hosted by you, so your own rules decide which operations and credentials the agent may use. Because this API puts the subscription, resource group, and HSM name in the URL path, a rule can pin your agent to a single HSM resource. You also choose which operations it may call, so destructive ones like deleting an HSM appliance or overwriting it with a create-or-update PUT stay unavailable unless you explicitly grant them.
