クイックスタート: PowerShell を使用して Managed HSM をプロビジョニングしてアクティブにする
このクイックスタートでは、PowerShell を使用して Azure Key Vault Managed HSM (ハードウェア セキュリティ モジュール) を作成してアクティブにします。 Managed HSM は、フル マネージド、高可用性、シングル テナント、標準準拠を特徴とするクラウド サービスで、FIPS 140-2 レベル 3 適合の HSM を使用してクラウド アプリケーションの暗号化キーを保護することができます。 Managed HSM の詳細については、概要に関するページを参照してください。
前提条件
Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
- Azure PowerShell をローカルで使用する場合は、次のようにします。
- Az PowerShell モジュールの最新バージョンをインストールします。
- Connect-AzAccount コマンドレットを使用して、Azure アカウントに接続します。
- Azure Cloud Shell を使用する場合は、次のようにします。
- 詳細については、Azure Cloud Shell の概要に関するページを参照してください。
リソース グループを作成する
リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。 Azure PowerShell の New-AzResourceGroup コマンドレットを使用して、myResourceGroup という名前のリソース グループを norwayeast の場所に作成します。
New-AzResourceGroup -Name "myResourceGroup" -Location "norwayeast"
プリンシパル 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 段階のプロセスで作成します。
- Managed HSM リソースをプロビジョニングします。
- "セキュリティ ドメイン"と呼ばれる成果物をダウンロードして 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
場所: ノルウェー東部。
自分のプリンシパル ID: 前セクションで取得した Microsoft Entra のプリンシパル ID を "Administrator" パラメーターに渡します。
New-AzKeyVaultManagedHsm -Name "your-unique-managed-hsm-name" -ResourceGroupName "myResourceGroup" -Location "norwayeast" -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 およびアプリケーションとの統合方法の詳細については、引き続きこれらの記事を参照してください。
- Azure Key Vault の概要を確認する
- Azure PowerShell の Key Vault コマンドレットのリファレンスを参照する
- Key Vault のセキュリティの概要を確認する