次の方法で共有


クイック スタート: Azure PowerShell を使用して Azure Cloud HSM をデプロイする

Azure Cloud HSM は、さまざまな方法を使用してハードウェア セキュリティ モジュール (HSM) をデプロイできるようにする、高可用性の FIPS 140-3 レベル 3 で検証されたシングルテナント サービスです。 これらの方法には、Azure CLI、Azure PowerShell、Azure Resource Manager テンプレート (ARM テンプレート)、Terraform、または Azure portal が含まれます。 このクイック スタートでは、Azure PowerShell のデプロイ プロセスについて説明します。

[前提条件]

  • アクティブなサブスクリプションを持つ Azure アカウント。 アカウントをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
  • インストールされている Azure PowerShell の最新バージョン。
  • HSM リソースなど、サブスクリプションにリソースを作成するための適切なアクセス許可。
  • 運用環境では、 プライベート エンドポイントを構成するための既存の仮想ネットワークとサブネット。

Azure Cloud HSM インスタンスを作成する

次のコード例では、リソース グループと Cloud HSM インスタンスを作成します。 ご利用の環境に合わせて、サブスクリプション、リソース グループ、場所、HSM 名を更新する必要があります。

重要

HSM 名は一意である必要があります。 選択したリージョンに既に存在する HSM 名を指定すると、デプロイは失敗します。

# Define variables for your Cloud HSM deployment
$server = @{
    Location = "<RegionName>"
    Sku = @{"family" = "B"; "Name" = "Standard_B1" }
    ResourceName = "<HSMName>"
    ResourceType = "microsoft.hardwaresecuritymodules/cloudHsmClusters"
    ResourceGroupName = "<ResourceGroupName>"
    Force = $true
}

# Create an HSM cluster resource group
New-AzResourceGroup -Name $server.ResourceGroupName -Location $server.Location -Force

# Create an HSM cluster
New-AzResource @server -AsJob -Verbose

Cloud HSM リソースは、関連するクライアント仮想ネットワークおよび仮想マシン (VM) リソースとは別のリソース グループにデプロイすることをお勧めします。 別のリソース グループを使用すると、管理とセキュリティの分離が向上します。

マネージド ID の構成 (省略可能)

Azure Cloud HSM でのバックアップと復元の操作には、ユーザー割り当てマネージド ID を作成する必要があります。 この ID は、ビジネス継続性とディザスター リカバリー (BCDR) シナリオで、指定されたストレージ アカウントに Cloud HSM バックアップを転送するために使用されます。

バックアップと復元の機能を使用する場合は、次の Azure PowerShell コマンドを使用してマネージド ID を作成および構成できます。

# Define parameters for the new managed identity
$identity = @{
    Location          = "<RegionName>"                                         
    ResourceName      = "<ManagedIdentityName>"                                         
    ResourceGroupName = "<ResourceGroupName>"
}

# Create a new user-assigned managed identity
New-AzUserAssignedIdentity -Name $identity.ResourceName -ResourceGroupName $identity.ResourceGroupName -Location $identity.Location

# Get the subscription ID
$subscriptionId = (Get-AzContext).Subscription.Id

# Define the Cloud HSM managed identity's patch payload
$chsmMSIPatch = @{
    Sku = @{
        Family = "B"
        Name = "Standard_B1"
    }
    Location = $server.Location
    Identity = @{
        type = "UserAssigned"
        userAssignedIdentities = @{
            "/subscriptions/$subscriptionId/resourcegroups/$($identity.ResourceGroupName)/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$($identity.ResourceName)" = @{}
        }
    }
} | ConvertTo-Json -Depth 4

# Construct the URI for the Cloud HSM resource
$resourceURI = "/subscriptions/$subscriptionId/resourceGroups/$($server.ResourceGroupName)/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/$($server.ResourceName)?api-version=2025-03-31"

# Update the Cloud HSM resource with the managed identity
Invoke-AzRestMethod -Path $resourceURI -Method Put -Payload $chsmMSIPatch

バックアップ操作と復元操作の構成の詳細な手順については、「 Azure Cloud HSM リソースのバックアップと復元」を参照してください。

ネットワークの設定

運用環境では、セキュリティで保護された通信を確保するために、Cloud HSM デプロイのプライベート エンドポイントを構成することを強くお勧めします。 次の Azure PowerShell コマンドを使用して、プライベート エンドポイントを作成できます。

# Define private endpoint parameters
$privateEndpoint = @{
    Name = "<PrivateEndpointName>"
    ResourceGroupName = $server.ResourceGroupName
    Location = $server.Location
    Subnet = $subnet # You need to have $subnet defined with your subnet configuration
    PrivateLinkServiceConnection = @{
        Name = "$($server.ResourceName)-connection"
        PrivateLinkServiceId = "/subscriptions/$subscriptionId/resourceGroups/$($server.ResourceGroupName)/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/$($server.ResourceName)"
        GroupId = "cloudhsmclusters"
    }
}

# Create the private endpoint
New-AzPrivateEndpoint @privateEndpoint

ヒント

プライベート エンドポイントは、セキュリティにとって非常に重要です。 プライベート リンクを使用して Azure Cloud HSM インスタンスへのセキュリティで保護された接続を有効にします。 これらの接続により、仮想ネットワークとサービス間のトラフィックが Microsoft バックボーン ネットワークを通過することが保証されます。 この構成により、「 Azure Cloud HSM のネットワーク セキュリティ」で説明されているように、パブリック インターネットへの露出がなくなります。

Cloud HSM リソースをデプロイする

New-AzResource パラメーターを使用して -AsJob コマンドを実行すると、Cloud HSM リソースをデプロイするためのバックグラウンド ジョブが作成されます。 次を実行して、デプロイの状態を確認できます。

Get-Job -Id <JobId> | Receive-Job

上記のコマンドでは、 <JobId> は、 New-AzResource コマンドの実行時にシステムが返した ID です。

デプロイは、ジョブの結果が正常に表示された場合、またはリソースが Azure サブスクリプションに存在することを確認できる場合に完了します。

HSM を初期化して構成する

Azure PowerShell を使用して Azure Cloud HSM のアクティブ化と構成を直接行うことはできません。 Azure Cloud HSM SDK とクライアント ツールが必要です。

Azure PowerShell を使用して Cloud HSM リソースをデプロイした後、次の手順に従います。

  1. AZURE Cloud HSM SDK を GitHub から、HSM へのネットワーク接続を持つ VM にダウンロードしてインストールします。

  2. Azure Cloud HSM オンボード ガイドの詳細な手順に従って、HSM を初期化して構成します。

  3. Azure Cloud HSM でのユーザー管理の説明に従って、適切な暗号化担当者とユーザー によるユーザー管理を確立します

  4. Azure Cloud HSM でのキー管理に関するページで説明されているように、最適なセキュリティとパフォーマンスを確保するために、適切なキー管理プラクティスを実装します。

リソースをクリーンアップする

このクイック スタート専用のリソース グループを作成し、これらのリソースを保持する必要がない場合は、リソース グループ全体を削除できます。

Remove-AzResourceGroup -Name $server.ResourceGroupName -Force

デプロイに関する一般的な問題のトラブルシューティング

デプロイ中に問題が発生した場合:

  • リソース名の競合: HSM 名がリージョン内で一意であることを確認します。 名前付けの競合でデプロイが失敗した場合は、別の名前を試してください。
  • ネットワーク接続の問題: プライベート エンドポイントを使用している場合は、VM に HSM への適切なネットワーク アクセスがあることを確認します。 ベスト プラクティスについては、 Azure Cloud HSM のネットワーク セキュリティに関するページを参照してください。
  • 認証エラー: HSM を初期化するときは、「 Azure Cloud HSM での認証」で詳しく説明されているように、資格情報に正しい形式を使用してください。
  • マネージド ID の問題: バックアップ操作が失敗した場合は、マネージド ID が適切に割り当てられ、必要なアクセス許可があることを確認します。