Fix Azure HSM Pool Billing: How to Stop Unexpected Charges and Request Refund

If you recently deleted your Azure Managed HSM (Hardware Security Module) Pool and are still being billed — sometimes as high as $80 per day. Many users mistakenly believe that choosing the 90-day retention deletion option will stop all costs. Unfortunately, Azure continues to charge for retained HSM resources until they’re permanently purged.

Fix Azure HSM Pool Billing: How to Stop Unexpected Charges and Request Refund
Fix Azure HSM Pool Billing: How to Stop Unexpected Charges and Request Refund

Why You’re Still Being Charged After Deleting the HSM Pool

When you delete an HSM Pool, Azure doesn’t erase it immediately. Instead, it enters a “soft-deleted” or retention state (typically 90 days) to protect against accidental data loss.

During this retention period:

  • The HSM resource still occupies hardware and billing capacity.
  • You continue to be charged daily costs unless you manually purge it.

So, even though it appears deleted in your dashboard, Azure treats it as “temporarily retained.”

Step-by-Step Fix: Stop Billing and Delete the HSM Pool Permanently

Step 1: Verify if the HSM Resource Still Exists

  1. Go to Azure Portal → All Resources.
  2. Search for “Managed HSM”.
  3. Check both Active and Deleted HSMs.
  4. If it appears under Deleted HSMs, it’s still being retained — and billed.

Note: Take note of the resource group, region, and subscription ID for the next step.

Step 2: Permanently Delete (Purge) the HSM Pool

Deleting isn’t enough — you must purge the resource to fully stop billing.

Option 1: Azure Portal

  1. Navigate to Azure Key Vault → Managed HSM → Deleted HSMs.
  2. Select the retained HSM instance.
  3. Click “Purge” to permanently remove it.

You need Contributor or higher-level permissions to perform this step.

Option 2: Azure CLI (Command Line)

If you prefer command line, run:

az keyvault purge --hsm-name <Your-HSM-Name> --location <Region>

This command immediately removes the HSM from Azure’s retention storage.

Step 3: Confirm Billing Has Stopped

After purging:

  1. Go to Cost Management + Billing → Cost Analysis.
  2. Filter by Service Name: Managed HSM.
  3. Verify that no new usage is recorded after the purge date.
  4. You can also check Usage + Quotas under your subscription to ensure the resource no longer exists.

Step 4: Request a Refund for Unexpected Charges

If you genuinely thought deletion would stop charges, Microsoft Azure may credit or refund those costs.

How to Submit a Billing Dispute:

  1. Visit the Azure Support Portal.
  2. Create a new request:
    • Issue Type: Billing
    • Service: Azure Key Vault → Managed HSM
    • Problem Type: Unexpected Charges / Billing Dispute
  3. Describe your case clearly. Example:

“I deleted my HSM Pool on [date], assuming the 90-day deletion would stop billing. However, I was charged ~$80 per day afterward. I’ve now purged the resource and request a refund or credit for charges incurred between [date] and [date].”

Microsoft Support usually responds within 24–48 hours, and refunds are often granted for accidental retention costs.

Step 5: Prevent Future Billing Mistakes

To avoid such costly surprises in the future:

  • Always Purge Resources after deletion (especially Key Vaults and HSMs).
  • Set up Cost Alerts:
    • Go to Cost Management → Budgets → +Add, then set daily or monthly alerts.
  • Regularly Review Retained Resources:
    • Use the command below to check for any soft-deleted items:
az resource list --include-deleted

Additional Fixes (For Edge Cases)

A. If Purge Fails Due to Permissions or Locks

If you see an error like:

AuthorizationFailed: The client does not have authorization to perform action 'purge'

or

OperationBlockedByResourceLock

Follow these steps:

  1. Go to Azure Portal → Access Control (IAM) on the HSM resource.
  2. Add yourself as Owner or Contributor.
  3. If the subscription or resource group has a Delete Lock, remove it temporarily under Resource Locks.
  4. Retry the purge command.

This resolves most “purge permission” issues immediately.

B. Billing Delay After Purge

After successful purge, billing data may take up to 24 hours to fully update in Cost Management and reflect zero usage.
To confirm:

  • Wait one billing cycle or at least 24 hours.
  • Then recheck Cost Analysis → Managed HSM to ensure no new usage lines appear.

Azure’s Managed HSM service bills at enterprise-grade hardware rates — meaning even short-term retention can lead to hundreds of dollars in charges.

See also: Fix Azure CLI “DLL Load Failed While Importing win32file” Error on Windows

Always purge after deletion, check IAM permissions, and set up cost alerts to avoid future surprises.

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *