How to change the performance level of a payment HSM

Azure Payment HSM supports several SKUs; for a list, see Azure Payment HSM overview: supported SKUs. The SKU you specify during the creation process initially determines the performance license level of your payment HSM.

You can change performance level of an existing payment HSM by changing its SKU. There is no interruption in your production payment HSMs while performance level is being updated.

The SKU of a payment HSM can be updated through ARMClient and PowerShell.

Updating the SKU via ARMClient

You can update the SKU of your payment HSM using the Azure Resource Manager client tool, which is a simple command line tool that calls the Azure Resource Manager API. Installation instructions are at https://github.com/projectkudu/ARMClient.

Once installed, you can use the following command:

armclient PATCH <resource-id>?api-version=2021-11-30 "{ 'sku': { 'name': '<sku>' } }" 

For example:

armclient PATCH /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/myPaymentHSM?api-version=2021-11-30 "{ 'sku': { 'name': 'payShield10K_LMK1_CPS60' } }"

Updating the SKU directly via PowerShell

You can update the SKU of your payment HSM using the Azure PowerShell Invoke-RestMethod cmdlet:

$sku="<sku>" 
$resourceId="<resource-id>" 
Invoke-RestMethod -Headers @{Authorization = "Bearer $((Get-AzAccessToken).Token)"} -Method PATCH -Uri "https://management.azure.com$($resourceId)?api-version=2021-11-30" -ContentType application/json -Body "{ 'sku': { 'name': '$sku' } }" 

For example:

$sku="payShield10K_LMK1_CPS60" 
$resourceId="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/myPaymentHSM" 
Invoke-RestMethod -Headers @{Authorization = "Bearer $((Get-AzAccessToken).Token)"} -Method PATCH -Uri "https://management.azure.com$($resourceId)?api-version=2021-11-30" -ContentType application/json -Body "{ 'sku': { 'name': '$sku' } }" 

Next steps