次の方法で共有


クイックスタート: PowerShell を使用して Managed HSM をプロビジョニングしてアクティブにする

このクイックスタートでは、PowerShell を使用して Azure Key Vault Managed HSM (ハードウェア セキュリティ モジュール) を作成してアクティブにします。 Managed HSM は、フル マネージド、高可用性、シングル テナント、標準準拠を特徴とするクラウド サービスで、FIPS 140-2 レベル 3 適合の HSM を使用してクラウド アプリケーションの暗号化キーを保護することができます。 Managed HSM の詳細については、概要に関するページを参照してください。

前提条件

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。

リソース グループを作成する

リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。 Azure PowerShell の New-AzResourceGroup コマンドレットを使用して、myResourceGroup という名前のリソース グループを eastus2 の場所に作成します。

New-AzResourceGroup -Name "myResourceGroup" -Location "eastus2"

プリンシパル ID を取得する

マネージド HSMを作成するには、Microsoft Entra プリンシパル ID が必要です。 ID を取得するには、Azure PowerShell の Get-AzADUser コマンドレットを使用して、電子メール アドレスを "UserPrincipalName" パラメーターに渡します。

Get-AzADUser -UserPrincipalName "<your@email.address>"

プリンシパル ID は、「xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx」という形式で返されます。

Managed HSM を作成する

Managed HSM は、次の 2 段階のプロセスで作成します。

  1. Managed HSM リソースをプロビジョニングします。
  2. "セキュリティ ドメイン"と呼ばれる成果物をダウンロードして Managed HSM をアクティブにします。

Managed HSM をプロビジョニングする

新しい Managed HSM を作成するには、Azure PowerShell の New-AzKeyVaultManagedHsm コマンドレットを使用します。 いくつかの情報を指定する必要があります。

  • マネージド HSM 名: 数字 (0-9)、文字 (a-z、A-Z)、ハイフン (-) のみを含んだ 3 から 24 文字の文字列

    重要

    各 Managed HSM には一意の名前が必要です。 次の例の <your-unique-managed-hsm-name> は、お使いの Managed HSM の名前に置き換えてください。

  • リソース グループ名: myResourceGroup

  • 場所: 米国東部 2

  • 自分のプリンシパル ID: 前セクションで取得した Microsoft Entra のプリンシパル ID を "Administrator" パラメーターに渡します。

New-AzKeyVaultManagedHsm -Name "your-unique-managed-hsm-name" -ResourceGroupName "myResourceGroup" -Location "eastus2" -Administrator "your-principal-ID" -SoftDeleteRetentionInDays "# of days to retain the managed hsm after softdelete"

Note

create コマンドには数分かかることがあります。 正常に制御が戻ったら、HSM をアクティブにする準備が整います。

このコマンドレットの出力では、新しく作成した Managed HSM のプロパティが示されます。 これらの 2 つのプロパティをメモします。

  • Name: Managed HSM に指定した名前。
  • HsmUri: この例では、HsmUri は、https://<your-unique-managed-hsm-name>.managedhsm.azure.net/ です。 その REST API から資格情報コンテナーを使用するアプリケーションは、この URI を使用する必要があります。

この時点で、お使いの Azure アカウントのみが、この新しい HSM で任意の操作を実行することを許可されています。

Managed HSM をアクティブにする

HSM をアクティブにするまでは、データ プレーンのコマンドはすべて無効です。 キーを作成することはできず、ロールを割り当てることもできません。 HSM をアクティブにできるのは、create コマンドの実行時に割り当てられた指定された管理者だけです。 HSM をアクティブにするには、セキュリティ ドメインをダウンロードする必要があります。

HSM をアクティブにするための要件は次のとおりです。

  • 少なくとも 3 つ (最大 10 個) の RSA キー ペアを提供します
  • セキュリティ ドメインの暗号化を解除するために必要なキーの最小数 ("クォーラム" と呼ばれます) を指定します

HSM をアクティブにするには、少なくとも 3 つ (最大 10 個) の RSA 公開キーを HSM に送信する必要があります。 HSM は、それらのキーでセキュリティ ドメインを暗号化して返します。 このセキュリティ ドメインのダウンロードが正常に完了したら、HSM を使用する準備は完了です。 加えて、クォーラムの指定も必要となります。クォーラムは、セキュリティ ドメインの暗号化を解除するために必要な秘密キーの最小数です。

次の例は、openssl (こちらから Windows 版を入手可能) を使用して 3 つの自己署名証明書を生成する方法を示しています。

openssl req -newkey rsa:2048 -nodes -keyout cert_0.key -x509 -days 365 -out cert_0.cer
openssl req -newkey rsa:2048 -nodes -keyout cert_1.key -x509 -days 365 -out cert_1.cer
openssl req -newkey rsa:2048 -nodes -keyout cert_2.key -x509 -days 365 -out cert_2.cer

重要

この手順で生成した RSA キー ペアとセキュリティ ドメイン ファイルは、安全に作成、保存してください。

セキュリティ ドメインをダウンロードして、Managed HSM をアクティブにするには、Azure PowerShell の Export-AzKeyVaultSecurityDomain コマンドレットを使用します。 次の例では、3 つの RSA キー ペア (このコマンドで必要なのは公開キーのみ) を使用し、クォーラムは 2 に設定しています。

Export-AzKeyVaultSecurityDomain -Name "<your-unique-managed-hsm-name>" -Certificates "cert_0.cer", "cert_1.cer", "cert_2.cer" -OutputPath "MHSMsd.ps.json" -Quorum 2

セキュリティ ドメイン ファイルと RSA キー ペアは安全に保存してください。 これらは、ディザスター リカバリーに必要となります。また、同じセキュリティ ドメインを共有する別の Managed HSM を作成し、それら 2 つがキーを共有できるようにする際にも必要となります。

セキュリティ ドメインを正常にダウンロードすると、HSM がアクティブな状態となり、いつでも使用することができます。

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

このコレクションの他のクイックスタートとチュートリアルは、このクイックスタートに基づいています。 他のクイック スタートおよびチュートリアルを引き続き実行する場合は、これらのリソースをそのまま残しておくことをお勧めします。

必要がなくなったら、Azure PowerShell の Remove-AzResourceGroup コマンドレットを使用して、リソース グループとすべての関連リソースを削除できます。

Remove-AzResourceGroup -Name "myResourceGroup"

警告

リソース グループを削除すると、Managed HSM は論理的に削除された状態になります。 Managed HSM は、消去されるまで引き続き課金されます。 「Managed HSM の論理的削除と消去保護」を参照してください。

次のステップ

このクイックスタートでは、Managed HSM を作成してアクティブにしました。 Managed HSM およびアプリケーションとの統合方法の詳細については、引き続きこれらの記事を参照してください。