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. | |
Látogasson el a https://shell.azure.com webhelyre, vagy kattintson a Cloud Shell indítása gombra a böngészőben. | |
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. |
Az Azure Cloud Shell használata:
Indítsa el a Cloud Shellt.
A kód vagy parancs másolásához kattintson a Másolás gombra egy kódblokkon (vagy parancsblokkon).
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.
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.
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.
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
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.
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étertsubscription
.
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.'
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 ab24988ac-6180-42a0-ab88-20f7382dd24c
kö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')]"
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 a49c88fc8-6fd1-46fd-a676-f12d1d3a4c71
kö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ékparameters
a következő leszartifacts/policyTags.json
: .
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 astorageAccountType
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 aApply tag and its default value to resource groups
beépített szabályzatot használja, amelynek GUID azonosítója a49c88fc8-6fd1-46fd-a676-f12d1d3a4c71
kö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ékparameters
a következő leszartifacts/policyStorageTags.json
: .
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 astorageAccountType
,tagName
éstagValue
a tervparamétereket. A tervparaméterek a paraméterrelparameters
é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éktemplate
a következő leszartifacts/templateStorage.json
: .parameters
artifacts/templateStorageParams.json
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 aOwner
beépített szerepkört használja, amelynek GUID azonosítója a8e3af657-a8ff-443c-a75c-2fe8c4bcb635
kö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.blueprint
lock
identity
location
name
A tervpéldányt a futtatásához rendelje hozzá egy előfizetéshez. Mivel a és a
contributors
owners
paraméterek megkövetelik, hogy a tagok egy tömbjeobjectIds
megkapja a szerepkör-hozzárendelést, használja az Azure Active Directory Graph API-t aobjectIds
parameters
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őreUserAssigned
van állítva, és auser-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.