クイック スタート: ARM テンプレートを使用してマネージド HSM を作成する
このクイックスタートでは、Azure Resource Manager テンプレート (ARM テンプレート) を使用して Azure Key Vault マネージド HSM を作成する方法について説明します。 Managed HSM は、フル マネージド、高可用性、シングル テナント、標準準拠を特徴とするクラウド サービスで、FIPS 140-2 レベル 3 適合の HSM を使用してクラウド アプリケーションの暗号化キーを保護することができます。
Azure Resource Manager テンプレートは JavaScript Object Notation (JSON) ファイルであり、プロジェクトのインフラストラクチャと構成が定義されています。 このテンプレートでは、宣言型の構文が使用されています。 デプロイしようとしているものを、デプロイを作成する一連のプログラミング コマンドを記述しなくても記述できます。
環境が前提条件を満たしていて、ARM テンプレートの使用に慣れている場合は、 [Azure へのデプロイ] ボタンを選択します。 Azure portal でテンプレートが開きます。
前提条件
Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。
CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。
ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。
初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。
az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。
テンプレートを確認する
このクイックスタートで使用されるテンプレートは Azure クイックスタート テンプレートに関するページに記載されています。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.5.6.12127",
"templateHash": "9933229425431379390"
}
},
"parameters": {
"managedHSMName": {
"type": "string",
"metadata": {
"description": "String specifying the name of the managed HSM."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "String specifying the Azure location where the managed HSM should be created."
}
},
"initialAdminObjectIds": {
"type": "array",
"metadata": {
"description": "Array specifying the objectIDs associated with a list of initial administrators."
}
},
"tenantId": {
"type": "string",
"defaultValue": "[subscription().tenantId]",
"metadata": {
"description": "String specifying the Azure Active Directory tenant ID that should be used for authenticating requests to the managed HSM."
}
},
"softRetentionInDays": {
"type": "int",
"defaultValue": 7,
"maxValue": 90,
"minValue": 7,
"metadata": {
"description": "Specifies the number of days that managed Key Vault will be kept recoverable if deleted. If you do not want to have soft delete enabled, set value to 0."
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/managedHSMs",
"apiVersion": "2021-04-01-preview",
"name": "[parameters('managedHSMName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_B1",
"family": "B"
},
"properties": {
"enableSoftDelete": "[greater(parameters('softRetentionInDays'), 0)]",
"softDeleteRetentionInDays": "[if(equals(parameters('softRetentionInDays'), 0), null(), parameters('softRetentionInDays'))]",
"enablePurgeProtection": false,
"tenantId": "[parameters('tenantId')]",
"initialAdminObjectIds": "[parameters('initialAdminObjectIds')]",
"publicNetworkAccess": "Enabled",
"networkAcls": {
"bypass": "None",
"defaultAction": "Allow"
}
}
}
]
}
このテンプレートで定義されている Azure リソースは次のとおりです。
- Microsoft.KeyVault/managedHSMs: Azure Key Vault マネージド HSM を作成します。
テンプレートのデプロイ
このテンプレートには、アカウントに関連付けられたオブジェクト ID が必要です。 これを見つけるには、Azure CLI の az ad user show コマンドを使用します。お使いのメール アドレスを --id
パラメーターに渡してください。 --query
パラメーターを使用すると、オブジェクト ID のみに出力を制限することができます。
az ad user show --id <your-email-address> --query "objectId"
さらに、テナント ID も必要になることがあります。 これを見つけるには、Azure CLI の az ad user show コマンドを使用します。 --query
パラメーターを使用すると、テナント ID のみに出力を制限することができます。
az account show --query "tenantId"
ARM テンプレートをデプロイする準備ができました。
Azure にサインインし、テンプレートを開くには次のイメージを選択します。 このテンプレートによって Managed HSM が作成されます。
次の値を選択または入力します。 指定されていない限り、既定値を使用して マネージド HSM を作成してください。
- サブスクリプション:Azure サブスクリプションを選択します。
- リソース グループ: [新規作成] を選択し、名前として「myResourceGroup」を入力して、[OK] を選択します。
- [場所] :場所を選択します。 たとえば、ノルウェー東部。
- managedHSMName: Managed HSM の名前を入力します。
- テナント ID:テンプレート関数によって自動的にテナント ID が取得されます。既定値を変更しないでください。 値が存在しない場合は、上記で取得したテナント ID を入力します。
- initialAdminObjectIds: 上記で取得したオブジェクト ID を入力します。
[購入] を選択します。 Managed HSM が正常にデプロイされると、次の通知が表示されます。
テンプレートをデプロイするには Azure portal を使用します。 Azure portal だけでなく、Azure PowerShell、Azure CLI、および REST API を使用することもできます。 他のデプロイ方法については、「テンプレートのデプロイ」を参照してください。
デプロイの検証
Azure CLI az keyvault list コマンドを使用して、マネージド HSM が作成されたことを確認できます。 結果を表として書式設定すると、出力が読みやすくなります。
az keyvault list -o table
新しく作成したマネージド HSM の名前が表示されます。
リソースをクリーンアップする
このコレクションの他のクイックスタートとチュートリアルは、このクイックスタートに基づいています。 後続のクイック スタートおよびチュートリアルを引き続き実行する場合は、これらのリソースをそのまま残しておくことをお勧めします。
必要がなくなったら、Azure CLI の az group delete コマンドを使用して、リソース グループおよびすべての関連リソースを削除できます。
az group delete --name "myResourceGroup"
警告
リソース グループを削除すると、Managed HSM は論理的に削除された状態になります。 Managed HSM は、消去されるまで引き続き課金されます。 「Managed HSM の論理的削除と消去保護」を参照してください。
次のステップ
このクイックスタートでは、Managed HSM を作成しました。 このマネージド HSM は、アクティブにして初めて完全に機能します。 HSM をアクティブにする方法については、Managed HSM をアクティブにする方法に関するページを参照してください。
- Managed HSM の概要に関するページを読む
- Managed HSM におけるキーの管理について学習する
- Managed HSM のベスト プラクティスを確認する