Oktatóanyag: Azure Portal űrlapok létrehozása sablonspecifikációkhoz

Létrehozhat egy űrlapot, amely megjelenik a Azure Portal, hogy segítse a felhasználókat a sablonspecifikációk üzembe helyezésében. Az űrlap lehetővé teszi, hogy a felhasználók paraméterekként megadott értékeket adjanak meg a sablonspecifikációnak.

A sablonspecifikáció létrehozásakor csomagolja össze az űrlapot és az Azure Resource Manager sablont (ARM-sablont). A sablonspecifikáció portálon keresztüli üzembe helyezése automatikusan elindítja az űrlapot.

Az alábbi képernyőképen a Azure Portal megnyitott űrlap látható.

Képernyőkép Azure Portal űrlapról, amely értékeket ad meg egy sablonspecifikációnak.

Előfeltételek

Egy Azure-fiók, aktív előfizetéssel. Hozzon létre ingyenes fiókot.

Azure PowerShell használja a 6.0.0-s vagy újabb verziót. Az Azure CLI-hez használja a 2.24.0-s vagy újabb verziót.

Sablon létrehozása

Az űrlapon elérhető különböző portálelemek megjelenítéséhez egy ARM-sablont fog használni több paraméterrel. Az alábbi sablon létrehoz egy kulcstartót, konfigurálja a kulcstartóhoz tartozó engedélyeket egy felhasználó számára, és hozzáad egy titkos kulcsot.

Másolja ki ezt a fájlt, és mentse helyileg. Ez az oktatóanyag feltételezi, hogy keyvault.json nevet adott neki, de bármilyen nevet adhat neki.

{
  "$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."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Specifies the Azure location where the key vault should be created."
      }
    },
    "enabledForDeployment": {
      "type": "bool",
      "defaultValue": false,
      "allowedValues": [
        true,
        false
      ],
      "metadata": {
        "description": "Specifies whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault."
      }
    },
    "enabledForDiskEncryption": {
      "type": "bool",
      "defaultValue": false,
      "allowedValues": [
        true,
        false
      ],
      "metadata": {
        "description": "Specifies whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys."
      }
    },
    "enabledForTemplateDeployment": {
      "type": "bool",
      "defaultValue": false,
      "allowedValues": [
        true,
        false
      ],
      "metadata": {
        "description": "Specifies whether Azure Resource Manager is permitted to retrieve secrets from the key vault."
      }
    },
    "tenantId": {
      "type": "string",
      "defaultValue": "[subscription().tenantId]",
      "metadata": {
        "description": "Specifies the Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Get it by using Get-AzSubscription cmdlet."
      }
    },
    "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."
      }
    },
    "skuName": {
      "type": "string",
      "defaultValue": "standard",
      "allowedValues": [
        "standard",
        "premium"
      ],
      "metadata": {
        "description": "Specifies whether the key vault is a standard vault or a premium vault."
      }
    },
    "secretName": {
      "type": "string",
      "metadata": {
        "description": "Specifies the name of the secret that you want to create."
      }
    },
    "secretValue": {
      "type": "secureString",
      "metadata": {
        "description": "Specifies the value of the secret that you want to create."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.KeyVault/vaults",
      "apiVersion": "2022-07-01",
      "name": "[parameters('keyVaultName')]",
      "location": "[parameters('location')]",
      "properties": {
        "enabledForDeployment": "[parameters('enabledForDeployment')]",
        "enabledForDiskEncryption": "[parameters('enabledForDiskEncryption')]",
        "enabledForTemplateDeployment": "[parameters('enabledForTemplateDeployment')]",
        "tenantId": "[parameters('tenantId')]",
        "accessPolicies": [
          {
            "objectId": "[parameters('objectId')]",
            "tenantId": "[parameters('tenantId')]",
            "permissions": {
              "keys": "[parameters('keysPermissions')]",
              "secrets": "[parameters('secretsPermissions')]"
            }
          }
        ],
        "sku": {
          "name": "[parameters('skuName')]",
          "family": "A"
        },
        "networkAcls": {
          "defaultAction": "Allow",
          "bypass": "AzureServices"
        }
      }
    },
    {
      "type": "Microsoft.KeyVault/vaults/secrets",
      "apiVersion": "2022-07-01",
      "name": "[format('{0}/{1}', parameters('keyVaultName'), parameters('secretName'))]",
      "dependsOn": [
        "[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
      ],
      "properties": {
        "value": "[parameters('secretValue')]"
      }
    }
  ]
}

Alapértelmezett űrlap létrehozása

A Azure Portal egy tesztkörnyezetet biztosít az űrlapok létrehozásához és előnézetéhez. Ez a tesztkörnyezet megjeleníthet egy űrlapot egy meglévő ARM-sablonból. Ezt az alapértelmezett űrlapot fogja használni a sablonspecifikációhoz tartozó űrlap létrehozásának első lépéseihez. Az űrlapstruktúrával kapcsolatos további információkért lásd: FormViewType.

  1. Nyissa meg az Űrlapnézet tesztkörnyezetet.

    Képernyőkép Azure Portal űrlapnézet tesztkörnyezeti felületéről.

  2. A Csomag típusa területen válassza a CustomTemplate lehetőséget. Az üzembehelyezési sablon megadása előtt győződjön meg arról, hogy a csomagtípust választja.

  3. Az Üzembe helyezési sablon (nem kötelező) területen válassza ki a helyileg mentett kulcstartósablont. Amikor a rendszer kéri, hogy felülírja az aktuális módosításokat, válassza az Igen lehetőséget. Az automatikusan létrehozott űrlap megjelenik a kódablakban. Az űrlap szerkeszthető a portálról. Az űrlap testreszabásához lásd: űrlap testreszabása. Ha alaposan betekint az automatikusan létrehozott űrlapba, az alapértelmezett cím a Test Form View ( Tesztűrlap nézet) lesz, és csak egy , az alapoknak nevezett lépés van definiálva.

    {
      "$schema": "https://schema.management.azure.com/schemas/2021-09-09/uiFormDefinition.schema.json",
      "view": {
        "kind": "Form",
        "properties": {
          "title": "Test Form View",
          "steps": [
            {
              "name": "basics",
              "label": "Basics",
              "elements": [
                ...
              ]
            }
          ]
        },
        "outputs": {
          ...
        }
      }
    }
    
  4. Ha azt szeretné, hogy ez módosítás nélkül is működjön, válassza az Előzetes verzió lehetőséget.

    Képernyőkép a létrehozott alapszintű Azure Portal űrlapról.

    A tesztkörnyezet megjeleníti az űrlapot. Az előfizetés, az erőforráscsoport és a régió kiválasztására szolgáló mezőket tartalmaz. Emellett a sablon összes paraméterét is beszűkiti.

    A mezők többsége szövegdoboz, de egyes mezők a paraméter típusára vonatkoznak. Ha a sablon egy paraméter engedélyezett értékeit tartalmazza, az automatikusan létrehozott űrlap egy legördülő elemet használ. A legördülő elem előre fel van töltve az engedélyezett értékekkel.

    A cím és a Projekt részletei között nincsenek lapok, mert az alapértelmezett űrlapon csak egy lépés van megadva. Az Űrlap testreszabása szakaszban a paramétereket több lapra bontja.

    Figyelmeztetés

    Ne válassza a Létrehozás lehetőséget, mert valós üzembe helyezést indít el. Az oktatóanyag későbbi részében lehetősége lesz a sablonspecifikáció üzembe helyezésére.

  5. Az előzetes verzióból való kilépéshez válassza a Mégse lehetőséget.

Űrlap testreszabása

Az alapértelmezett űrlap jó kiindulási pont az űrlapok megértéséhez, de általában testre szeretné szabni. Szerkesztheti a tesztkörnyezetben vagy a Visual Studio Code-ban. Az előzetes verzió csak a tesztkörnyezetben érhető el.

  1. Adjon meg egy címet az űrlapnak, amely leírja annak használatát.

    {
      "$schema": "https://schema.management.azure.com/schemas/2021-09-09/uiFormDefinition.schema.json#",
      "view": {
        "kind": "Form",
        "properties": {
          "title": "Key Vault and secret",
    
  2. Az alapértelmezett űrlapon a sablon összes mezőjét egyetlen , Alapismeretek nevű lépésben egyesítette. Annak érdekében, hogy a felhasználók megértsék az általuk megadott értékeket, ossza fel az űrlapot lépésekre. Minden lépés az üzembe helyezendő megoldás logikai részéhez kapcsolódó mezőket tartalmaz.

    Keresse meg az Alapok címkével ellátott lépést. Ezt a lépést megtartja, de az alatta lévő lépéseket is hozzáadja. Az új lépések a kulcstartó konfigurálására, a felhasználói engedélyek beállítására és a titkos kód megadására összpontosítanak. Győződjön meg arról, hogy az alapszintű lépés után vesszőt ad hozzá.

    {
      "$schema": "https://schema.management.azure.com/schemas/2021-09-09/uiFormDefinition.schema.json#",
      "view": {
        "kind": "Form",
        "properties": {
          "title": "Key Vault and secret",
          "steps": [
            {
              "name": "basics",
              "label": "Basics",
              "elements": [
                ...
              ]
            },
            {
              "name": "keyvault",
              "label": "Key Vault",
              "elements": [
              ]
            },
            {
              "name": "permissions",
              "label": "Permissions",
              "elements": [
              ]
            },
            {
              "name": "secret",
              "label": "Secret",
              "elements": [
              ]
            }
          ]
        },
        "outputs": {
          ...
        }
      }
    }
    

    Fontos

    Az űrlap tulajdonságai megkülönböztetik a kis- és nagybetűket. Győződjön meg arról, hogy a példákban látható burkolatot használja.

  3. Válassza az Előnézet lehetőséget. Látni fogja a lépéseket, de legtöbbjüknek nincsenek elemei.

    Képernyőkép Azure Portal űrlapról több lépésben.

  4. Most helyezze át az elemeket a megfelelő lépésekre. Kezdje a Titkos kód neve és titkos értéke címkével ellátott elemekkel. Távolítsa el ezeket az elemeket az Alapszintű lépésből, és adja hozzá őket a Titkos lépéshez.

    {
      "name": "secret",
      "label": "Secret",
      "elements": [
      {
          "name": "secretName",
          "type": "Microsoft.Common.TextBox",
          "label": "Secret Name",
          "defaultValue": "",
          "toolTip": "Specifies the name of the secret that you want to create.",
          "constraints": {
            "required": true,
            "regex": "",
            "validationMessage": ""
          },
          "visible": true
        },
        {
          "name": "secretValue",
          "type": "Microsoft.Common.PasswordBox",
          "label": {
            "password": "Secret Value",
            "confirmPassword": "Confirm password"
          },
          "toolTip": "Specifies the value of the secret that you want to create.",
          "constraints": {
            "required": true,
            "regex": "",
            "validationMessage": ""
          },
          "options": {
            "hideConfirmation": true
          },
          "visible": true
        }
      ]
    }
    
  5. Elemek áthelyezésekor ki kell javítania a szakaszt outputs . A kimenetek szakasz jelenleg úgy hivatkozik ezekre az elemekre, mintha még az alapszintű lépésben lennének. Javítsa ki a szintaxist, hogy a lépés elemeire secret hivatkozik.

    "outputs": {
      "parameters": {
        ...
        "secretName": "[steps('secret').secretName]",
        "secretValue": "[steps('secret').secretValue]"
      }
    
  6. Folytassa az elemek áthelyezését a megfelelő lépésekre. Ahelyett, hogy végigmennél mindegyiken, tekintse meg a frissített űrlapot.

    {
      "$schema": "https://schema.management.azure.com/schemas/2021-09-09/uiFormDefinition.schema.json#",
      "view": {
        "kind": "Form",
        "properties": {
          "title": "Key Vault and secret",
          "steps": [
            {
              "name": "basics",
              "label": "Basics",
              "elements": [
                {
                  "name": "resourceScope",
                  "type": "Microsoft.Common.ResourceScope",
                  "location": {
                    "resourceTypes": [
                      "microsoft.resources/resourcegroups"
                    ]
                  }
                }
              ]
            },
            {
              "name": "keyvault",
              "label": "Key Vault",
              "elements": [
                {
                  "name": "keyVaultName",
                  "type": "Microsoft.Common.TextBox",
                  "label": "Key Vault Name",
                  "defaultValue": "",
                  "toolTip": "Specifies the name of the key vault.",
                  "constraints": {
                    "required": true,
                    "regex": "",
                    "validationMessage": ""
                  },
                  "visible": true
                },
                {
                  "name": "skuName",
                  "type": "Microsoft.Common.DropDown",
                  "label": "Sku Name",
                  "defaultValue": "Standard",
                  "toolTip": "Specifies whether the key vault is a standard vault or a premium vault.",
                  "constraints": {
                    "required": false,
                    "allowedValues": [
                      {
                        "label": "Standard",
                        "value": "Standard"
                      },
                      {
                        "label": "Premium",
                        "value": "Premium"
                      }
                    ]
                  },
                  "visible": true
                },
                {
                  "name": "location",
                  "type": "Microsoft.Common.TextBox",
                  "label": "Location",
                  "defaultValue": "[[resourceGroup().location]",
                  "toolTip": "Specifies the Azure location where the key vault should be created.",
                  "constraints": {
                    "required": false,
                    "regex": "",
                    "validationMessage": ""
                  },
                  "visible": true
                },
                {
                  "name": "enabledForDeployment",
                  "type": "Microsoft.Common.DropDown",
                  "label": "Enabled For Deployment",
                  "defaultValue": "false",
                  "toolTip": "Specifies whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault.",
                  "constraints": {
                    "required": false,
                    "allowedValues": [
                      {
                        "label": "true",
                        "value": true
                      },
                      {
                        "label": "false",
                        "value": false
                      }
                    ]
                  },
                  "visible": true
                },
                {
                  "name": "enabledForDiskEncryption",
                  "type": "Microsoft.Common.DropDown",
                  "label": "Enabled For Disk Encryption",
                  "defaultValue": "false",
                  "toolTip": "Specifies whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys.",
                  "constraints": {
                    "required": false,
                    "allowedValues": [
                      {
                        "label": "true",
                        "value": true
                      },
                      {
                        "label": "false",
                        "value": false
                      }
                    ]
                  },
                  "visible": true
                },
                {
                  "name": "enabledForTemplateDeployment",
                  "type": "Microsoft.Common.DropDown",
                  "label": "Enabled For Template Deployment",
                  "defaultValue": "false",
                  "toolTip": "Specifies whether Azure Resource Manager is permitted to retrieve secrets from the key vault.",
                  "constraints": {
                    "required": false,
                    "allowedValues": [
                      {
                        "label": "true",
                        "value": true
                      },
                      {
                        "label": "false",
                        "value": false
                      }
                    ]
                  },
                  "visible": true
                }
              ]
            },
            {
              "name": "permissions",
              "label": "Permissions",
              "elements": [
                {
                  "name": "tenantId",
                  "type": "Microsoft.Common.TextBox",
                  "label": "Tenant Id",
                  "defaultValue": "[[subscription().tenantId]",
                  "toolTip": "Specifies the Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Get it by using Get-AzSubscription cmdlet.",
                  "constraints": {
                    "required": false,
                    "regex": "",
                    "validationMessage": ""
                  },
                  "visible": true
                },
                {
                  "name": "objectId",
                  "type": "Microsoft.Common.TextBox",
                  "label": "Object Id",
                  "defaultValue": "",
                  "toolTip": "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.",
                  "constraints": {
                    "required": true,
                    "regex": "",
                    "validationMessage": ""
                  },
                  "visible": true
                },
                {
                  "name": "keysPermissions",
                  "type": "Microsoft.Common.TextBox",
                  "label": "Keys Permissions",
                  "defaultValue": "[[\"list\"]",
                  "toolTip": "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.",
                  "constraints": {
                    "required": false,
                    "regex": "",
                    "validationMessage": ""
                  },
                  "visible": true
                },
                {
                  "name": "secretsPermissions",
                  "type": "Microsoft.Common.TextBox",
                  "label": "Secrets Permissions",
                  "defaultValue": "[[\"list\"]",
                  "toolTip": "Specifies the permissions to secrets in the vault. Valid values are: all, get, list, set, delete, backup, restore, recover, and purge.",
                  "constraints": {
                    "required": false,
                    "regex": "",
                    "validationMessage": ""
                  },
                  "visible": true
                }
              ]
            },
            {
              "name": "secret",
              "label": "Secret",
              "elements": [
                {
                  "name": "secretName",
                  "type": "Microsoft.Common.TextBox",
                  "label": "Secret Name",
                  "defaultValue": "",
                  "toolTip": "Specifies the name of the secret that you want to create.",
                  "constraints": {
                    "required": true,
                    "regex": "",
                    "validationMessage": ""
                  },
                  "visible": true
                },
                {
                  "name": "secretValue",
                  "type": "Microsoft.Common.PasswordBox",
                  "label": {
                    "password": "Secret Value",
                    "confirmPassword": "Confirm password"
                  },
                  "toolTip": "Specifies the value of the secret that you want to create.",
                  "constraints": {
                    "required": true,
                    "regex": "",
                    "validationMessage": ""
                  },
                  "options": {
                    "hideConfirmation": true
                  },
                  "visible": true
                }
              ]
            }
          ]
        },
        "outputs": {
          "parameters": {
            "keyVaultName": "[steps('keyvault').keyVaultName]",
            "location": "[steps('keyvault').location]",
            "enabledForDeployment": "[steps('keyvault').enabledForDeployment]",
            "enabledForDiskEncryption": "[steps('keyvault').enabledForDiskEncryption]",
            "enabledForTemplateDeployment": "[steps('keyvault').enabledForTemplateDeployment]",
            "tenantId": "[steps('permissions').tenantId]",
            "objectId": "[steps('permissions').objectId]",
            "keysPermissions": "[steps('permissions').keysPermissions]",
            "secretsPermissions": "[steps('permissions').secretsPermissions]",
            "skuName": "[steps('keyvault').skuName]",
            "secretName": "[steps('secret').secretName]",
            "secretValue": "[steps('secret').secretValue]"
          },
          "kind": "ResourceGroup",
          "location": "[steps('basics').resourceScope.location.name]",
          "resourceGroupId": "[steps('basics').resourceScope.resourceGroup.id]"
        }
      }
    }
    
  7. Mentse a fájlt helyileg a keyvaultform.json névvel.

Sablonspecifikáció létrehozása

A sablonspecifikáció létrehozásakor adja meg mindkét fájlt.

PowerShell esetén használja a New-AzTemplateSpec parancsot, és adja meg az űrlapot a -UIFormDefinitionFile paraméterben.

New-AzTemplateSpec `
  -name keyvaultspec `
  -version 1 `
  -ResourceGroupName templateSpecRG `
  -location westus2 `
  -templatefile keyvault.json `
  -UIFormDefinitionFile keyvaultform.json

Az Azure CLI-hez használja az az ts create parancsot , és adja meg az űrlapot a --ui-form-definition paraméterben.

az ts create \
  --name keyvaultspec \
  --version 1 \
  --resource-group templatespecRG \
  --location westus2 \
  --template-file keyvault.json \
  --ui-form-definition keyvaultform.json

Üzembe helyezés a portálon keresztül

Az űrlap teszteléséhez lépjen a portálra, és keresse meg a sablon specifikációját. Válassza az Üzembe helyezés lehetőséget.

Képernyőkép az Azure-sablon specifikációinak áttekintéséről, kiemelt üzembe helyezési lehetőséggel.

Ekkor megjelenik a létrehozott űrlap. Haladjon végig a lépéseken, és adja meg a mezők értékeit.

Az Alapok lépésben megjelenik a Régió mező. Ez a mező az erőforráscsoport helyére szolgál. A Key Vault lépésben megjelenik a Hely mező. Ez a mező a kulcstartó helyéhez használatos.

Az Engedélyek lépésben saját felhasználói azonosítót adhat meg az objektumazonosítóhoz. Használja az alapértelmezett értéket (["list"]) a kulcs- és titkoskód-engedélyekhez. Ezt a lehetőséget a következő szakaszban javíthatja.

Ha befejezte az értékek megadását, válassza a Létrehozás lehetőséget a sablonspecifikáció üzembe helyezéséhez.

Az űrlap továbbfejlesztése

Az előző szakaszban lépéseket adott hozzá, és elemeket helyezett át, de nem módosította az alapértelmezett viselkedést. Ebben a szakaszban olyan módosításokat hajt végre, amelyek javítják a sablonspecifikáció felhasználóinak nyújtott élményt.

Korábban a két engedélymező szövegdoboz volt. Most egy legördülő menüt fog használni. Állítsa a típust a következőre: Microsoft.Common.DropDown.

Frissítés keysPermissions:

{
  "name": "keysPermissions",
  "type": "Microsoft.Common.DropDown",

És secretsPermissions:

{
  "name": "secretsPermissions",
  "type": "Microsoft.Common.DropDown",

Ezeknek a mezőknek át kell adniuk egy tömböt a sablonnak. A normál legördülő lista nem működik, mert csak egy érték kiválasztását teszi lehetővé. Ha egynél több értéket szeretne kijelölni, és tömbként át szeretné adni őket, adja hozzá a mezőt, és állítsa a multiselect értékre.true

{
  "name": "keysPermissions",
  "type": "Microsoft.Common.DropDown",
  "label": "Keys Permissions",
  "multiselect": true,
{
  "name": "secretsPermissions",
  "type": "Microsoft.Common.DropDown",
  "label": "Secrets Permissions",
  "multiselect": true,

Végül meg kell adnia a legördülő lista engedélyezett értékeit és egy alapértelmezett értéket.

{
  "name": "keysPermissions",
  "type": "Microsoft.Common.DropDown",
  "label": "Keys Permissions",
  "multiselect": true,
  "defaultValue":{
    "value": "list"
  },
  "toolTip": "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.",
  "constraints": {
    "required": false,
    "allowedValues":[
      {
        "label": "all",
        "value": "all"
      },
      {
        "label": "encrypt",
        "value": "encrypt"
      },
      {
        "label": "decrypt",
        "value": "decrypt"
      },
      {
        "label": "list",
        "value": "list"
      },
      {
        "label": "delete",
        "value": "delete"
      },
      {
        "label": "backup",
        "value": "backup"
      },
      {
        "label": "restore",
        "value": "restore"
      },
      {
        "label": "recover",
        "value": "recover"
      },
      {
        "label": "purge",
        "value": "purge"
      },
      {
        "label": "wrapKey",
        "value": "wrapKey"
      },
      {
        "label": "unwrapKey",
        "value": "unwrapKey"
      },
      {
        "label": "sign",
        "value": "sign"
      },
      {
        "label": "verify",
        "value": "verify"
      },
      {
        "label": "get",
        "value": "get"
      },
      {
        "label": "create",
        "value": "create"
      },
      {
        "label": "update",
        "value": "update"
      },
      {
        "label": "import",
        "value": "import"
      }
    ]
  },
  "visible": true
},
{
  "name": "secretsPermissions",
  "type": "Microsoft.Common.DropDown",
  "label": "Secrets Permissions",
  "multiselect": true,
  "defaultValue":{
    "value": "list"
  },
  "toolTip": "Specifies the permissions to secrets in the vault. Valid values are: all, get, list, set, delete, backup, restore, recover, and purge.",
  "constraints": {
    "required": false,
    "allowedValues":[
      {
        "label": "all",
        "value": "all"
      },
      {
        "label": "get",
        "value": "get"
      },
      {
        "label": "list",
        "value": "list"
      },
      {
        "label": "set",
        "value": "set"
      },
      {
        "label": "delete",
        "value": "delete"
      },
      {
        "label": "backup",
        "value": "backup"
      },
      {
        "label": "restore",
        "value": "restore"
      },
      {
        "label": "recover",
        "value": "recover"
      },
      {
        "label": "purge",
        "value": "purge"
      }
    ]
  },
  "visible": true
}

Hozzon létre egy új sablonspecifikáció-verziót.

A PowerShell használatával:

New-AzTemplateSpec `
  -name keyvaultspec `
  -version 2 `
  -ResourceGroupName templateSpecRG `
  -location westus2 `
  -templatefile keyvault.json `
  -UIFormDefinitionFile keyvaultform.json

Vagy az Azure CLI-vel:

az ts create \
  --name keyvaultspec \
  --version 2 \
  --resource-group templatespecRG \
  --location westus2 \
  --template-file keyvault.json \
  --ui-form-definition keyvaultform.json

Helyezze újra üzembe a sablonspecifikációt a továbbfejlesztett portálűrlappal.

Képernyőkép Azure Portal űrlapról, amely értékeket ad meg egy sablonspecifikációnak.

Figyelje meg, hogy az engedélymezők mostantól legördülő menüben több értéket is engedélyeznek.

Következő lépések

A sablonspecifikáció csatolt sablonként való üzembe helyezéséről az Oktatóanyag: Sablonspecifikáció üzembe helyezése csatolt sablonként című témakörben olvashat.