次の方法で共有


Resource Manager テンプレートを使用して Azure キー コンテナーを作成する方法

Azure Key Vault は、キー、パスワード、証明書などのシークレット向けに Secure Store を提供するクラウド サービスです。 この記事では、Azure Resource Manager テンプレート (ARM テンプレート) をデプロイしてキー コンテナーを作成するプロセスを説明します。

重要

Azure RBAC は、Azure Key Vault に推奨される承認モデルです。 詳細については、 Key Vault の Azure RBAC に関するページを参照してください。 レガシ アクセス ポリシー モデルには既知のセキュリティ脆弱性があり、新しいデプロイには使用しないでください。

Azure Resource Manager テンプレートは JavaScript Object Notation (JSON) ファイルであり、プロジェクトのインフラストラクチャと構成が定義されています。 このテンプレートでは、宣言型の構文が使用されています。 デプロイを作成するための一連のプログラミング コマンドを記述しなくても、意図したデプロイを記述できます。

[前提条件]

この記事の手順を完了するには、次のことが条件となります。

Key Vault Resource Manager テンプレートを作成する

次のテンプレートは、キー ボールトを作成する基本的な方法を示したものです。 一部の値は、テンプレート内で指定されます。

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "keyVaultName": {
      "type": "string",
      "metadata": {
        "description": "Specifies the name of the key vault."
      }
    },
    "skuName": {
      "type": "string",
      "defaultValue": "Standard",
      "allowedValues": [
        "Standard",
        "Premium"
      ],
      "metadata": {
        "description": "Specifies whether the key vault is a standard vault or a premium vault."
      }
    }
   },
  "resources": [
    {
      "type": "Microsoft.KeyVault/vaults",
      "apiVersion": "2023-07-01",
      "name": "[parameters('keyVaultName')]",
      "location": "[resourceGroup().location]",
      "properties": {
        "enabledForDeployment": false,
        "enabledForDiskEncryption": false,
        "enabledForTemplateDeployment": false,
        "tenantId": "[subscription().tenantId]",
        "enableRbacAuthorization": true,
        "enableSoftDelete": true,
        "softDeleteRetentionInDays": 90,
        "enablePurgeProtection": true,
        "sku": {
          "name": "[parameters('skuName')]",
          "family": "A"
        },
        "networkAcls": {
          "defaultAction": "Deny",
          "bypass": "AzureServices"
        }
      }
    }
  ]
}

Key Vault テンプレート設定の詳細については、Key Vault ARM テンプレート リファレンスに関するページを参照してください。

このテンプレートでは、承認に Azure RBAC を使用します。これが推奨される方法です。 Key Vault データへのアクセスを許可するには、Azure RBAC ロール (Key Vault Secrets Officer、Key Vault Crypto Officer など) をユーザー、グループ、またはサービス プリンシパルに割り当てます。 詳細については、 Key Vault の Azure RBAC に関するページを参照してください。

代わりに従来のアクセス ポリシーを使用する必要がある場合は、「 Key Vault アクセス ポリシーの割り当て」を参照してください。 従来のアクセス ポリシー モデルには既知のセキュリティの脆弱性があり、Privileged Identity Management (PIM) のサポートは備えられていないことに注意してください。

その他の Key Vault Resource Manager テンプレート

Key Vault オブジェクトで使用できる Resource Manager テンプレートが他にもあります。

シークレット キー 証明 書
なし なし

その他の Key Vault テンプレートについては、次を参照してください。Key Vault Resource Manager リファレンス

テンプレートの配備

Azure portal を使うと、次に示すように、 [エディターで独自のテンプレートを作成する] オプションを使って上記のテンプレートをデプロイできます。次のページに説明があります:「カスタム テンプレートからリソースをデプロイする」。

また、上記のテンプレートをファイルに保存し、次のコマンドを使用することもできます: New-AzResourceGroupDeployment および az deployment group create:

New-AzResourceGroupDeployment -ResourceGroupName ExampleGroup -TemplateFile key-vault-template.json
az deployment group create --resource-group ExampleGroup --template-file key-vault-template.json

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

後続のクイックスタートおよびチュートリアルで引き続き作業する予定がある場合は、これらのリソースをそのまま残しておくことができます。 リソースが不要になった場合は、リソース グループを削除します。 グループを削除すると、キー コンテナーと関連リソースも削除されます。 Azure CLI または Azure PowerShell を使ってリソース グループを削除するには、次の手順を実行します。

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

リソース

次のステップ