クイック スタート: 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 でテンプレートが開きます。

Resource Manager テンプレートを Azure に配置するボタン。

前提条件

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 テンプレートをデプロイする準備ができました。

  1. Azure にサインインし、テンプレートを開くには次のイメージを選択します。 このテンプレートによって Managed HSM が作成されます。

    Resource Manager テンプレートを Azure に配置するボタン。

  2. 次の値を選択または入力します。 指定されていない限り、既定値を使用して マネージド HSM を作成してください。

    • サブスクリプション:Azure サブスクリプションを選択します。
    • リソース グループ: [新規作成] を選択し、名前として「myResourceGroup」を入力して、[OK] を選択します。
    • [場所] :場所を選択します。 たとえば、米国東部 2 です。
    • managedHSMName: Managed HSM の名前を入力します。
    • テナント ID:テンプレート関数によって自動的にテナント ID が取得されます。既定値を変更しないでください。 値が存在しない場合は、上記で取得したテナント ID を入力します。
    • initialAdminObjectIds: 上記で取得したオブジェクト ID を入力します。
  3. [購入] を選択します。 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 を作成しました。 この Managed HSM は、アクティブにして初めて完全に機能します。 HSM をアクティブにする方法については、Managed HSM をアクティブにする方法に関するページを参照してください。