Resource Manager şablonu kullanarak Azure anahtar kasası ve kasa erişim ilkesi oluşturma

Azure Key Vault anahtarlar, parolalar ve sertifikalar gibi gizli diziler için güvenli bir depo sağlayan bir bulut hizmetidir. Bu makalede, anahtar kasası oluşturmak için Azure Resource Manager şablonu (ARM şablonu) dağıtma işlemi açıklanmaktadır.

Azure Resource Manager şablonu, projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Bu şablonda, bildirim temelli sözdizimi kullanılır. Dağıtımı oluşturmak için programlama komutlarının sırasını yazmadan hedeflenen dağıtımınızı açıklarsınız.

Önkoşullar

Bu makaledeki adımları tamamlamak için:

  • Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Key Vault Resource Manager şablonu oluşturma

Aşağıdaki şablonda anahtar kasası oluşturmanın temel bir yolu gösterilmektedir. Şablonda bazı değerler belirtilir.

{
  "$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": "2019-09-01",
      "name": "[parameters('keyVaultName')]",
      "location": "[resourceGroup().location]",
      "properties": {
        "enabledForDeployment": "false",
        "enabledForDiskEncryption": "false",
        "enabledForTemplateDeployment": "false",
        "tenantId": "[subscription().tenantId]",
        "accessPolicies": [],
        "sku": {
          "name": "[parameters('skuName')]",
          "family": "A"
        },
        "networkAcls": {
          "defaultAction": "Allow",
          "bypass": "AzureServices"
        }
      }
    }
  ]
}

Key Vault şablon ayarları hakkında daha fazla bilgi için bkz . Key Vault ARM şablon başvurusu.

Önemli

Şablon yeniden dağıtılırsa, anahtar kasasında var olan erişim ilkeleri geçersiz kılınacaktır. Anahtar kasasına accessPolicies erişimi kaybetmemek için özelliği mevcut erişim ilkeleriyle doldurmanızı öneririz.

Key Vault Resource Manager şablonuna erişim ilkesi ekleme

Erişim ilkelerini, anahtar kasası şablonunun tamamını yeniden dağıtmadan mevcut bir anahtar kasasına dağıtabilirsiniz. Aşağıdaki şablon, erişim ilkeleri oluşturmanın temel bir yolunu gösterir:

{
  "$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."
      }
    },
    "objectId": {
      "type": "string",
      "metadata": {
        "description": "Specifies the object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID must be unique for the list of access policies. Get it by using Get-AzADUser or Get-AzADServicePrincipal cmdlets."
      }
    },
    "keysPermissions": {
      "type": "array",
      "defaultValue": [
        "list"
      ],
      "metadata": {
        "description": "Specifies the permissions to keys in the vault. Valid values are: all, encrypt, decrypt, wrapKey, unwrapKey, sign, verify, get, list, create, update, import, delete, backup, restore, recover, and purge."
      }
    },
    "secretsPermissions": {
      "type": "array",
      "defaultValue": [
        "list"
      ],
      "metadata": {
        "description": "Specifies the permissions to secrets in the vault. Valid values are: all, get, list, set, delete, backup, restore, recover, and purge."
      }
    },
    "certificatePermissions": {
      "type": "array",
      "defaultValue": [
        "list"
      ],
      "metadata": {
        "description": "Specifies the permissions to certificates in the vault. Valid values are: all,  create, delete, update, deleteissuers, get, getissuers, import, list, listissuers, managecontacts, manageissuers,  recover, backup, restore, setissuers, and purge."
      }
    }
  },
  "resources": [
     {
      "type": "Microsoft.KeyVault/vaults/accessPolicies",
      "name": "[concat(parameters('keyVaultName'), '/add')]",
      "apiVersion": "2019-09-01",
      "properties": {
        "accessPolicies": [
          {
            "tenantId": "[subscription().tenantId]",
            "objectId": "[parameters('objectId')]",
            "permissions": {
              "keys": "[parameters('keysPermissions')]",
              "secrets": "[parameters('secretsPermissions')]",
              "certificates": "[parameters('certificatePermissions')]"
            }
          }
        ]
      }
    }
  ]
}

Key Vault şablon ayarları hakkında daha fazla bilgi için bkz . Key Vault ARM şablon başvurusu.

Diğer Key Vault Resource Manager şablonları

Key Vault nesneleri için kullanılabilecek başka Resource Manager şablonları da vardır:

Gizli Diziler Anahtarlar Sertifikalar
Yok Yok

Daha fazla Key Vault şablonuna buradan ulaşabilirsiniz: Key Vault Resource Manager başvurusu.

Şablonları dağıtma

Burada açıklandığı gibi Düzenleyicide kendi şablonunuzu oluşturun seçeneğini kullanarak önceki şablonları dağıtmak için Azure portalını kullanabilirsiniz: Özel bir şablondan kaynak dağıtma.

Ayrıca, önceki şablonları dosyalara kaydedebilir ve şu komutları kullanabilirsiniz: New-AzResourceGroupDeployment ve 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

Kaynakları temizleme

Sonraki hızlı başlangıçlar ve öğreticilerle devam etmek istiyorsanız, bu kaynakları yerinde bırakabilirsiniz. Kaynaklara artık ihtiyacınız kalmadığında kaynak grubunu silin. Grubu silerseniz anahtar kasası ve ilgili kaynaklar da silinir. Azure CLI veya Azure PowerShell kullanarak kaynak grubunu silmek için şu adımları tamamlayın:

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

Kaynaklar

  • Azure Key Vault'a Genel Bakış'a göz atın.
  • Azure Resource Manager hakkında daha fazla bilgi edinin.
  • Azure Key Vault güvenliğine genel bakış'a göz atın

Sonraki adımlar