Szybki start: definiowanie i przypisywanie strategii platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure
Ważne
11 lipca 2026 r. usługa Blueprints (wersja zapoznawcza) zostanie wycofana. Przeprowadź migrację istniejących definicji strategii i przypisań do specyfikacji szablonu i stosów wdrażania. Artefakty strategii mają być konwertowane na szablony JSON usługi ARM lub pliki Bicep używane do definiowania stosów wdrażania. Aby dowiedzieć się, jak utworzyć artefakt jako zasób usługi ARM, zobacz:
Z tego samouczka dowiesz się, jak używać usługi Azure Blueprints do wykonywania niektórych typowych zadań związanych z tworzeniem, publikowaniem i przypisywaniem strategii w organizacji. Ta umiejętność ułatwia definiowanie typowych wzorców w celu opracowywania konfiguracji wielokrotnego użytku i szybkiego wdrażania na podstawie szablonów, zasad i zabezpieczeń usługi Azure Resource Manager (ARM).
Wymagania wstępne
- Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Jeśli wcześniej nie użyto usługi Azure Blueprints, zarejestruj dostawcę zasobów za pomocą interfejsu wiersza polecenia platformy Azure za pomocą polecenia
az provider register --namespace Microsoft.Blueprint
.
Azure Cloud Shell
Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.
Aby uruchomić środowisko Azure Cloud Shell:
Opcja | Przykład/link |
---|---|
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. | |
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. | |
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. |
Aby użyć usługi Azure Cloud Shell:
Uruchom usługę Cloud Shell.
Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.
Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając Ctrl+Shift V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift++V w systemie macOS.
Wybierz Enter, aby uruchomić kod lub polecenie.
Dodawanie rozszerzenia strategii
Aby umożliwić interfejsowi wiersza polecenia platformy Azure zarządzanie definicjami i przypisaniami strategii, należy dodać rozszerzenie. To rozszerzenie działa wszędzie tam, gdzie można użyć interfejsu wiersza polecenia platformy Azure. Obejmuje to powłokę bash w systemie Windows 10, usługę Cloud Shell (zarówno autonomiczną, jak i w portalu), obraz platformy Docker interfejsu wiersza polecenia platformy Azure lub zainstalowane lokalnie rozszerzenie.
Sprawdź, czy zainstalowano najnowszy interfejs wiersza polecenia platformy Azure (co najmniej 2.0.76). Jeśli jeszcze go nie zainstalowano, postępuj zgodnie z tymi instrukcjami.
W wybranym środowisku interfejsu wiersza polecenia platformy Azure zaimportuj rozszerzenie za pomocą następującego polecenia:
# Add the Blueprint extension to the Azure CLI environment az extension add --name blueprint
Sprawdź, czy rozszerzenie zostało zainstalowane i czy jest to oczekiwana wersja (co najmniej 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
Tworzenie strategii
Pierwszym krokiem podczas definiowania standardowego wzorca zgodności jest utworzenie strategii z dostępnych zasobów. Utwórzmy strategię o nazwie MyBlueprint , aby skonfigurować przypisania ról i zasad dla subskrypcji. Następnie dodasz grupę zasobów, szablon usługi ARM i przypisanie roli w grupie zasobów.
Uwaga
Podczas korzystania z interfejsu wiersza polecenia platformy Azure obiekt strategii jest tworzony jako pierwszy. Dla każdego artefaktu , który ma zostać dodany, który ma parametry, należy zdefiniować parametry z wyprzedzeniem w początkowej strategii.
Utwórz obiekt strategii początkowej. Parametr
parameters
przyjmuje plik JSON zawierający wszystkie parametry poziomu strategii. Parametry są ustawiane podczas przypisywania i są używane przez artefakty dodawane w kolejnych krokach.Plik JSON — 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" } } }
Polecenie interfejsu wiersza polecenia platformy Azure
# 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
Uwaga
Użyj nazwy pliku blueprint.json podczas importowania definicji strategii. Ta nazwa pliku jest używana podczas wywoływania polecenia az blueprint import.
Obiekt strategii jest tworzony domyślnie w domyślnej subskrypcji. Aby określić grupę zarządzania, użyj parametru
managementgroup
. Aby określić subskrypcję, użyj parametrusubscription
.
Dodaj grupę zasobów dla artefaktów magazynu do definicji.
az blueprint resource-group add \ --blueprint-name 'MyBlueprint' \ --artifact-name 'storageRG' \ --description 'Contains the resource template deployment and a role assignment.'
Dodaj przypisanie roli w subskrypcji. W poniższym przykładzie tożsamości podmiotów zabezpieczeń, którym udzielono określonej roli, są skonfigurowane do parametru ustawionego podczas przypisywania strategii. W tym przykładzie użyto wbudowanej
Contributor
roli z identyfikatorem GUID .b24988ac-6180-42a0-ab88-20f7382dd24c
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')]"
Dodaj przypisanie zasad w subskrypcji. W tym przykładzie użyto wbudowanych
Apply tag and its default value to resource groups
zasad z identyfikatorem GUID .49c88fc8-6fd1-46fd-a676-f12d1d3a4c71
Plik JSON — artifacts\policyTags.json
{ "tagName": { "value": "[parameters('tagName')]" }, "tagValue": { "value": "[parameters('tagValue')]" } }
Polecenie interfejsu wiersza polecenia platformy Azure
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
Uwaga
Gdy używasz
az blueprint
na komputerze Mac, zastąp ciąg\
wartościami/
parametrów, które zawierają ścieżkę. W tym przypadku wartość parametruparameters
ma wartośćartifacts/policyTags.json
.
Dodaj kolejne przypisanie zasad dla tagu magazynu (przez ponowne użycie
storageAccountType_ parameter
) w subskrypcji. Ten dodatkowy artefakt przypisania zasad pokazuje, że parametr zdefiniowany w strategii może być używany przez więcej niż jeden artefakt. W tym przykładzie użyj polecenia ,storageAccountType
aby ustawić tag w grupie zasobów. Ta wartość zawiera informacje o koncie magazynu utworzonym w następnym kroku. W tym przykładzie użyto wbudowanychApply tag and its default value to resource groups
zasad z identyfikatorem GUID .49c88fc8-6fd1-46fd-a676-f12d1d3a4c71
Plik JSON — artifacts\policyStorageTags.json
{ "tagName": { "value": "StorageType" }, "tagValue": { "value": "[parameters('storageAccountType')]" } }
Polecenie interfejsu wiersza polecenia platformy Azure
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
Uwaga
Gdy używasz
az blueprint
na komputerze Mac, zastąp ciąg\
wartościami/
parametrów, które zawierają ścieżkę. W tym przypadku wartość parametruparameters
ma wartośćartifacts/policyStorageTags.json
.
Dodaj szablon w grupie zasobów. Parametr
template
szablonu usługi ARM zawiera normalne składniki JSON szablonu. Szablon używastorageAccountType
również parametrów strategii ,tagName
itagValue
, przekazując je do szablonu. Parametry strategii są dostępne dla szablonu przy użyciu parametruparameters
, a wewnątrz szablonu JSON, że para klucz-wartość jest używana do wstrzykiwania wartości. Nazwy parametrów strategii i szablonu mogą być takie same.Plik szablonu arm w formacie JSON — 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')]" } } }
Plik parametrów szablonu usługi ARM w formacie JSON — artifacts\templateStorageParams.json
{ "storageAccountTypeFromBP": { "value": "[parameters('storageAccountType')]" }, "tagNameFromBP": { "value": "[parameters('tagName')]" }, "tagValueFromBP": { "value": "[parameters('tagValue')]" } }
Polecenie interfejsu wiersza polecenia platformy Azure
az blueprint artifact template create \ --blueprint-name 'MyBlueprint' \ --artifact-name 'templateStorage' \ --template artifacts\templateStorage.json \ --parameters artifacts\templateStorageParams.json \ --resource-group-art 'storageRG'
Uwaga
Gdy używasz
az blueprint
na komputerze Mac, zastąp ciąg\
wartościami/
parametrów, które zawierają ścieżkę. W takim przypadku wartość parametrutemplate
artifacts/templateStorage.json
staje się wartością iparameters
staje się .artifacts/templateStorageParams.json
Dodaj przypisanie roli w grupie zasobów. Podobnie jak w poprzednim wpisie przypisania roli, w poniższym przykładzie użyto identyfikatora definicji roli
Owner
i podano inny parametr niż strategia. W tym przykładzie użyto wbudowanejOwner
roli z identyfikatorem GUID .8e3af657-a8ff-443c-a75c-2fe8c4bcb635
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'
Publikowanie strategii
Teraz, po dodaniu artefaktów do strategii, nadszedł czas, aby go opublikować. Publikowanie udostępnia strategię przypisywania do subskrypcji.
az blueprint publish --blueprint-name 'MyBlueprint' --version '{BlueprintVersion}'
Wartość parametru {BlueprintVersion}
to ciąg liter, cyfr i łączników (bez spacji ani innych znaków specjalnych). Maksymalna długość wynosi 20 znaków. Użyj czegoś unikatowego i informacyjnego, takiego jak v20200605-135541
.
Przypisywanie strategii
Po opublikowaniu strategii przy użyciu interfejsu wiersza polecenia platformy Azure można przypisać ją do subskrypcji. Przypisz strategię utworzoną do jednej z subskrypcji w hierarchii grup zarządzania. Jeśli strategia została zapisana w subskrypcji, można ją przypisać tylko do tej subskrypcji. Parametr blueprint-name
określa strategię do przypisania. Aby podać name
parametry , , identity
location
, lock
i blueprint
, użyj pasujących parametrów interfejsu wiersza polecenia platformy Azure w poleceniu az blueprint assignment create
lub podaj je w pliku JSON parametrów.
Uruchom wdrażanie strategii, przypisując ją do subskrypcji.
contributors
Ponieważ parametry iowners
wymagają tablicyobjectIds
podmiotów zabezpieczeń, które mają zostać przyznane przypisaniu roli, użyj interfejsu API programu Graph usługi Azure Active Directory, aby zebrać elementobjectIds
do użycia weparameters
własnych użytkownikach, grupach lub jednostkach usługi.Plik JSON — 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" ] } }
Polecenie interfejsu wiersza polecenia platformy Azure
az blueprint assignment create \ --name 'assignMyBlueprint' \ --location 'westus' \ --resource-group-value artifact_name=storageRG name=StorageAccount location=eastus \ --parameters blueprintAssignment.json
Tożsamość zarządzana przypisana przez użytkownika
W przypisaniu strategii można również użyć tożsamości zarządzanej przypisanej przez użytkownika. W tym przypadku
identity-type
parametr jest ustawiony naUserAssigned
wartość , auser-assigned-identities
parametr określa tożsamość. Zastąp{userIdentity}
ciąg nazwą tożsamości zarządzanej przypisanej przez użytkownika.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
Tożsamość zarządzana przypisana przez użytkownika może znajdować się w dowolnej subskrypcji i grupie zasobów, do której użytkownik przypisujący strategię ma uprawnienia.
Ważne
Usługa Azure Blueprints nie zarządza tożsamością zarządzaną przypisaną przez użytkownika. Użytkownicy są odpowiedzialni za przypisywanie wystarczających ról i uprawnień lub przypisanie strategii zakończy się niepowodzeniem.
Czyszczenie zasobów
Strategię można usunąć z subskrypcji. Usunięcie często przeprowadza się, gdy zasoby artefaktu przestają być potrzebne. Po usunięciu strategii artefakty przypisane w jej ramach są pozostawiane. Aby usunąć przypisanie strategii, użyj az blueprint assignment delete
polecenia :
az blueprint assignment delete --name 'assignMyBlueprint'
Następne kroki
W tym przewodniku Szybki start utworzono, przypisano i usunięto strategię za pomocą interfejsu wiersza polecenia platformy Azure. Aby dowiedzieć się więcej o usłudze Azure Blueprints, przejdź do artykułu cyklu życia strategii.