Rövid útmutató: Azure-terv definiálása és hozzárendelése az Azure CLI-vel

Fontos

2026. július 11-én a tervek (előzetes verzió) elavultak lesznek. Migrálja a meglévő tervdefiníciókat és -hozzárendeléseket a sablon specifikációiba és üzembehelyezési vermeibe. A tervösszetevőket ARM JSON-sablonokká vagy Az üzembehelyezési verem definiálásához használt Bicep-fájlokká kell konvertálni. Az összetevők ARM-erőforrásként való létrehozásához lásd:

Ebben az oktatóanyagban megismerkedhet az Azure Blueprints használatával a terv szervezeten belüli létrehozásával, közzétételével és hozzárendelésével kapcsolatos gyakori feladatok némelyikével. Ez a képesség segít meghatározni azokat a gyakori mintákat, amelyek az Azure Resource Manager- (ARM-) sablonok, szabályzatok és biztonság alapján újrahasználható és gyorsan üzembe helyezhető konfigurációkat fejlesztenek.

Előfeltételek

  • Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
  • Ha korábban még nem használta az Azure Blueprintset, regisztrálja az erőforrás-szolgáltatót az Azure CLI-vel az provider register --namespace Microsoft.Blueprint.

Azure Cloud Shell

Az Azure által üzemeltetett Azure Cloud Shell egy interaktív felület, amelyet a böngészőből használhat. A Bash vagy a PowerShell segítségével is használhatja a Cloud Shellt az Azure-szolgáltatásokhoz. A Cloud Shell előre telepített parancsaival futtathatja a jelen cikkben szereplő kódot anélkül, hogy bármit telepítenie kellene a helyi környezetben.

Az Azure Cloud Shell indítása:

Lehetőség Példa/hivatkozás
Válassza a Kipróbálás lehetőséget egy kód vagy parancsblokk jobb felső sarkában. A Kipróbálás lehetőség választása nem másolja automatikusan a kódot vagy a parancsot a Cloud Shellbe. Screenshot that shows an example of Try It for Azure Cloud Shell.
Látogasson el a https://shell.azure.com webhelyre, vagy kattintson a Cloud Shell indítása gombra a böngészőben. Button to launch Azure Cloud Shell.
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. Screenshot that shows the Cloud Shell button in the Azure portal

Az Azure Cloud Shell használata:

  1. Indítsa el a Cloud Shellt.

  2. A kód vagy parancs másolásához kattintson a Másolás gombra egy kódblokkon (vagy parancsblokkon).

  3. Illessze be a kódot vagy parancsot a Cloud Shell-munkamenetbe a Windows és Linux rendszeren a Ctrl Shift+V billentyűkombinációval+, vagy a Cmd+Shift+V macOS rendszeren való kiválasztásával.

  4. A kód vagy parancs futtatásához válassza az Enter lehetőséget .

A tervbővítmény hozzáadása

Ahhoz, hogy az Azure CLI kezelni tudja a tervdefiníciókat és -hozzárendeléseket, hozzá kell adnia a bővítményt. Ez a bővítmény bárhol működik, ahol használhatja az Azure CLI-t. Ez magában foglalja a Bash-t a Windows 10-en, a Cloud Shellt (mind az önálló verziót, mind a portálon belülit), az Azure CLI Docker-rendszerképet vagy egy helyileg telepített bővítményt.

  1. Ellenőrizze, hogy telepítve van-e a legújabb Azure CLI (legalább 2.0.76). Ha még nincs telepítve, kövesse ezeket az utasításokat.

  2. A választott Azure CLI-környezetben importálja a bővítményt a következő paranccsal:

    # Add the Blueprint extension to the Azure CLI environment
    az extension add --name blueprint
    
  3. Győződjön meg arról, hogy a bővítmény telepítve van, és a várt verzió (legalább 0.1.0):

    # Check the extension list (note that you might have other extensions installed)
    az extension list
    
    # Run help for extension options
    az blueprint -h
    

Terv létrehozása

A megfelelőségi szabványminták definiálásának első lépése, hogy összeállítunk egy tervet az elérhető erőforrásokból. Hozzunk létre egy MyBlueprint nevű tervet az előfizetés szerepkör- és szabályzat-hozzárendeléseinek konfigurálásához. Ezután hozzáad egy erőforráscsoportot, egy ARM-sablont és egy szerepkör-hozzárendelést az erőforráscsoporthoz.

Feljegyzés

Az Azure CLI használatakor először a tervobjektum jön létre. Minden olyan összetevőhöz, amely paraméterekkel rendelkezik, előre meg kell határoznia a paramétereket a kezdeti tervben.

  1. Hozza létre a kezdeti terv objektumot. A parameters paraméter egy JSON-fájlt vesz fel, amely tartalmazza az összes tervszintű paramétert. A hozzárendelés során beállítja a paramétereket, és a későbbi lépésekben hozzáadott összetevők használják őket.

    • JSON-fájl – blueprintparms.json

      {
         "storageAccountType": {
             "type": "string",
             "defaultValue": "Standard_LRS",
             "allowedValues": [
                 "Standard_LRS",
                 "Standard_GRS",
                 "Standard_ZRS",
                 "Premium_LRS"
             ],
             "metadata": {
                 "displayName": "storage account type.",
                 "description": null
             }
         },
         "tagName": {
             "type": "string",
             "metadata": {
                 "displayName": "The name of the tag to provide the policy assignment.",
                 "description": null
             }
         },
         "tagValue": {
             "type": "string",
             "metadata": {
                 "displayName": "The value of the tag to provide the policy assignment.",
                 "description": null
             }
         },
         "contributors": {
             "type": "array",
             "metadata": {
                 "description": "List of AAD object IDs that is assigned Contributor role at the subscription",
                 "strongType": "PrincipalId"
             }
         },
         "owners": {
             "type": "array",
             "metadata": {
                 "description": "List of AAD object IDs that is assigned Owner role at the resource group",
                 "strongType": "PrincipalId"
             }
         }
      }
      
    • Azure CLI-parancs

      # Login first with az login if not using Cloud Shell
      
      # Create the blueprint object
      az blueprint create \
         --name 'MyBlueprint' \
         --description 'This blueprint sets tag policy and role assignment on the subscription, creates a ResourceGroup, and deploys a resource template and role assignment to that ResourceGroup.' \
         --parameters blueprintparms.json
      

      Feljegyzés

      A tervdefiníciók importálásakor használja a blueprint.json fájlnevet. Ez a fájlnév az az blueprint import meghívásakor használatos.

      A tervobjektum alapértelmezés szerint az alapértelmezett előfizetésben jön létre. A felügyeleti csoport megadásához használja a paramétert managementgroup. Az előfizetés megadásához használja a paramétert subscription.

  2. Adja hozzá a tárolóösszetevők erőforráscsoportját a definícióhoz.

    az blueprint resource-group add \
       --blueprint-name 'MyBlueprint' \
       --artifact-name 'storageRG' \
       --description 'Contains the resource template deployment and a role assignment.'
    
  3. Szerepkör-hozzárendelés hozzáadása az előfizetéshez. Az alábbi példában a megadott szerepkört kapott egyszerű identitások egy olyan paraméterre vannak konfigurálva, amely a terv hozzárendelése során van beállítva. Ez a példa a Contributor beépített szerepkört használja, amelynek GUID azonosítója a b24988ac-6180-42a0-ab88-20f7382dd24ckövetkező: .

    az blueprint artifact role create \
       --blueprint-name 'MyBlueprint' \
       --artifact-name 'roleContributor' \
       --role-definition-id '/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c' \
       --principal-ids "[parameters('contributors')]"
    
  4. Adjon hozzá egy szabályzat-hozzárendelést az előfizetéshez. Ez a példa a Apply tag and its default value to resource groups beépített szabályzatot használja, amelynek GUID azonosítója a 49c88fc8-6fd1-46fd-a676-f12d1d3a4c71következő: .

    • JSON-fájl – összetevők\policyTags.json

      {
         "tagName": {
            "value": "[parameters('tagName')]"
         },
         "tagValue": {
            "value": "[parameters('tagValue')]"
         }
      }
      
    • Azure CLI-parancs

      az blueprint artifact policy create \
         --blueprint-name 'MyBlueprint' \
         --artifact-name 'policyTags' \
         --policy-definition-id '/providers/Microsoft.Authorization/policyDefinitions/49c88fc8-6fd1-46fd-a676-f12d1d3a4c71' \
         --display-name 'Apply tag and its default value to resource groups' \
         --description 'Apply tag and its default value to resource groups' \
         --parameters artifacts\policyTags.json
      

      Feljegyzés

      Ha Mac gépen használja az blueprint , cserélje le \/ az elérési utat tartalmazó paraméterértékekre. Ebben az esetben az érték parameters a következő lesz artifacts/policyTags.json: .

  5. Adjon hozzá egy másik szabályzat-hozzárendelést a tárcímkéhez (újbóli használattal storageAccountType_ parameter) az előfizetésben. Ez az újabb szabályzat-hozzárendelési összetevő bemutatja, hogy a terveken definiált paramétereket több összetevő is használhatja. A példában a storageAccountType címkét az erőforráscsoporton kell beállítania. Ez az érték információt nyújt a következő lépésben létrehozott tárfiókról. Ez a példa a Apply tag and its default value to resource groups beépített szabályzatot használja, amelynek GUID azonosítója a 49c88fc8-6fd1-46fd-a676-f12d1d3a4c71következő: .

    • JSON-fájl – összetevők\policyStorageTags.json

      {
         "tagName": {
            "value": "StorageType"
         },
         "tagValue": {
            "value": "[parameters('storageAccountType')]"
         }
      }
      
    • Azure CLI-parancs

      az blueprint artifact policy create \
         --blueprint-name 'MyBlueprint' \
         --artifact-name 'policyStorageTags' \
         --policy-definition-id '/providers/Microsoft.Authorization/policyDefinitions/49c88fc8-6fd1-46fd-a676-f12d1d3a4c71' \
         --display-name 'Apply storage tag to resource group' \
         --description 'Apply storage tag and the parameter also used by the template to resource groups' \
         --parameters artifacts\policyStorageTags.json
      

      Feljegyzés

      Ha Mac gépen használja az blueprint , cserélje le \/ az elérési utat tartalmazó paraméterértékekre. Ebben az esetben az érték parameters a következő lesz artifacts/policyStorageTags.json: .

  6. Sablon hozzáadása az erőforráscsoportban. Az template ARM-sablon paramétere tartalmazza a sablon normál JSON-összetevőit. A sablon a sablonnak való átadással újra felhasználja a storageAccountType, tagNameés tagValue a tervparamétereket. A tervparaméterek a paraméterrel parametersérhetők el a sablon számára, és a JSON-sablonon belül a kulcs-érték pár az érték injektálásához használatos. Előfordulhat, hogy a terv- és sablonparaméterek neve megegyezik.

    • JSON ARM-sablonfájl – artifacts\templateStorage.json

      {
          "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
          "contentVersion": "1.0.0.0",
          "parameters": {
              "storageAccountTypeFromBP": {
                  "type": "string",
                  "metadata": {
                      "description": "Storage Account type"
                  }
              },
              "tagNameFromBP": {
                  "type": "string",
                  "defaultValue": "NotSet",
                  "metadata": {
                      "description": "Tag name from blueprint"
                  }
              },
              "tagValueFromBP": {
                  "type": "string",
                  "defaultValue": "NotSet",
                  "metadata": {
                      "description": "Tag value from blueprint"
                  }
              }
          },
          "variables": {
              "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
          },
          "resources": [{
              "type": "Microsoft.Storage/storageAccounts",
              "name": "[variables('storageAccountName')]",
              "apiVersion": "2016-01-01",
              "tags": {
                  "[parameters('tagNameFromBP')]": "[parameters('tagValueFromBP')]"
              },
              "location": "[resourceGroup().location]",
              "sku": {
                  "name": "[parameters('storageAccountTypeFromBP')]"
              },
              "kind": "Storage",
              "properties": {}
          }],
          "outputs": {
              "storageAccountSku": {
                  "type": "string",
                  "value": "[variables('storageAccountName')]"
              }
          }
      }
      
    • JSON ARM-sablon paraméterfájlja – artifacts\templateStorageParams.json

      {
         "storageAccountTypeFromBP": {
            "value": "[parameters('storageAccountType')]"
         },
         "tagNameFromBP": {
            "value": "[parameters('tagName')]"
         },
         "tagValueFromBP": {
            "value": "[parameters('tagValue')]"
         }
      }
      
    • Azure CLI-parancs

      az blueprint artifact template create \
         --blueprint-name 'MyBlueprint' \
         --artifact-name 'templateStorage' \
         --template artifacts\templateStorage.json \
         --parameters artifacts\templateStorageParams.json \
         --resource-group-art 'storageRG'
      

      Feljegyzés

      Ha Mac gépen használja az blueprint , cserélje le \/ az elérési utat tartalmazó paraméterértékekre. Ebben az esetben az érték template a következő leszartifacts/templateStorage.json: .parametersartifacts/templateStorageParams.json

  7. Adjon hozzá egy szerepkör-hozzárendelést az erőforráscsoporthoz. Az előző szerepkör-hozzárendelési bejegyzéshez hasonlóan az alábbi példa a szerepkör definícióazonosítóját Owner használja, és a tervtől eltérő paramétert ad neki. Ez a példa a Owner beépített szerepkört használja, amelynek GUID azonosítója a 8e3af657-a8ff-443c-a75c-2fe8c4bcb635következő: .

    az blueprint artifact role create \
       --blueprint-name 'MyBlueprint' \
       --artifact-name 'roleOwner' \
       --role-definition-id '/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635' \
       --principal-ids "[parameters('owners')]" \
       --resource-group-art 'storageRG'
    

Terv közzététele

Most, hogy hozzáadta az összetevőket a tervhez, ideje közzétenni. A közzététel elérhetővé teszi a tervet egy előfizetéshez való hozzárendeléshez.

az blueprint publish --blueprint-name 'MyBlueprint' --version '{BlueprintVersion}'

A függvény {BlueprintVersion} értéke betűk, számok és kötőjelek sztringje (szóközök és egyéb speciális karakterek nélkül). A maximális hossz 20 karakter. Használjon egyedi és tájékoztató jellegűt, például v20200605-135541.

Terv hozzárendelése

Miután közzétett egy tervet az Azure CLI használatával, az hozzárendelhető egy előfizetéshez. Rendelje hozzá a létrehozott tervet a felügyeleti csoport hierarchiájának egyik előfizetéséhez. Ha a terv egy előfizetésbe van mentve, csak az adott előfizetéshez rendelhető hozzá. A blueprint-name paraméter megadja a hozzárendelni kívánt tervet. A , , , és paraméterek megadásához használja a parancs megfelelő az blueprint assignment create Azure CLI-paramétereit, vagy adja meg őket a paraméterek JSON-fájljában.blueprintlockidentitylocationname

  1. A tervpéldányt a futtatásához rendelje hozzá egy előfizetéshez. Mivel a és a contributorsowners paraméterek megkövetelik, hogy a tagok egy tömbje objectIds megkapja a szerepkör-hozzárendelést, használja az Azure Active Directory Graph API-t a objectIdsparameters saját felhasználók, csoportok vagy szolgáltatásnevek számára való használatra.

    • JSON-fájl – blueprintAssignment.json

      {
         "storageAccountType": {
             "value": "Standard_GRS"
         },
         "tagName": {
             "value": "CostCenter"
         },
         "tagValue": {
             "value": "ContosoIT"
         },
         "contributors": {
             "value": [
                 "7be2f100-3af5-4c15-bcb7-27ee43784a1f",
                 "38833b56-194d-420b-90ce-cff578296714"
             ]
         },
         "owners": {
             "value": [
                 "44254d2b-a0c7-405f-959c-f829ee31c2e7",
                 "316deb5f-7187-4512-9dd4-21e7798b0ef9"
             ]
         }
      }
      
    • Azure CLI-parancs

      az blueprint assignment create \
         --name 'assignMyBlueprint' \
         --location 'westus' \
         --resource-group-value artifact_name=storageRG name=StorageAccount location=eastus \
         --parameters blueprintAssignment.json
      
    • Felhasználó által hozzárendelt felügyelt identitás

      A tervhozzárendelések felhasználó által hozzárendelt felügyelt identitást is használhatnak. Ebben az esetben a paraméter a identity-type következőre UserAssignedvan állítva, és a user-assigned-identities paraméter megadja az identitást. Cserélje le {userIdentity} a felhasználó által hozzárendelt felügyelt identitás nevére.

      az blueprint assignment create \
         --name 'assignMyBlueprint' \
         --location 'westus' \
         --identity-type UserAssigned \
         --user-assigned-identities {userIdentity} \
         --resource-group-value artifact_name=storageRG name=StorageAccount location=eastus \
         --parameters blueprintAssignment.json
      

      A felhasználó által hozzárendelt felügyelt identitás bármely előfizetésben és erőforráscsoportban lehet, amelyhez a tervet hozzárendelő felhasználó rendelkezik engedélyekkel.

      Fontos

      Az Azure Blueprints nem kezeli a felhasználó által hozzárendelt felügyelt identitást. A felhasználók felelősek a megfelelő szerepkörök és engedélyek hozzárendeléséért, vagy a terv hozzárendelése meghiúsul.

Az erőforrások eltávolítása

Eltávolíthatja a terveket az előfizetésekből. Az eltávolítás gyakori művelet az összetevők már szükségtelen erőforrásai esetén. Az egyes tervek eltávolításakor az adott tervek keretében hozzárendelt összetevők megmaradnak. Terv-hozzárendelés eltávolításához használja a az blueprint assignment delete következő parancsot:

az blueprint assignment delete --name 'assignMyBlueprint'

Következő lépések

Ebben a rövid útmutatóban létrehozott, hozzárendelt és eltávolított egy tervet az Azure CLI-vel. Ha többet szeretne megtudni az Azure Blueprintsről, folytassa a terv életciklusával foglalkozó cikkben.