11. července 2026 budou podrobné plány (Preview) zastaralé. Migrujte existující definice a přiřazení podrobných plánů do specifikací šablon a zásobníků nasazení. Artefakty podrobného plánu se mají převést na šablony JSON ARM nebo soubory Bicep, které se používají k definování zásobníků nasazení. Informace o tom, jak vytvořit artefakt jako prostředek ARM, najdete tady:
Přiřazení podrobného plánu je možné spravovat pomocí modulu Az.Blueprint Azure PowerShell. Modul podporuje načítání, vytváření, aktualizaci a odebírání přiřazení. Modul může také načíst podrobnosti o existujících definicích podrobných plánů. Tento článek popisuje, jak modul nainstalovat a začít ho používat.
Přidání modulu Az.Blueprint
Pokud chcete Azure PowerShell povolit správu přiřazení podrobných plánů, je nutné přidat modul. Tento modul je možné použít s místně nainstalovaným Prostředím PowerShell, s Azure Cloud Shell nebo s imagí Azure PowerShell Dockeru.
Základní požadavky
Modul Azure Blueprints vyžaduje následující software:
Azure PowerShell 1.5.0 nebo vyšší. Pokud ještě není nainstalovaný, postupujte podle těchto pokynů.
PowerShellGet 2.0.1 nebo novější. Pokud není nainstalovaný nebo aktualizovaný, postupujte podle těchto pokynů.
Instalace modulu
Modul Azure Blueprints pro PowerShell je Az.Blueprint.
Na příkazovém řádku PowerShellu pro správu spusťte následující příkaz:
Azure PowerShell
# Install the Azure Blueprints module from PowerShell GalleryInstall-Module -Name Az.Blueprint
Poznámka
Pokud je az.Accounts už nainstalovaný, může být nutné použít -AllowClobber k vynucení instalace.
Ověřte, že se modul naimportoval a má správnou verzi (0.2.6):
Azure PowerShell
# Get a list of commands for the imported Az.Blueprint moduleGet-Command -Module'Az.Blueprint' -CommandType'Cmdlet'
Získání definic podrobného plánu
Prvním krokem při práci s přiřazením je často získání odkazu na definici podrobného plánu.
Rutina Get-AzBlueprint získá jednu nebo více definic podrobného plánu. Rutina může získat definice podrobného plánu ze skupiny pro správu nebo -ManagementGroupId {mgId} předplatného pomocí -SubscriptionId {subId}. Parametr Name získá definici podrobného plánu, ale musí se použít s ManagementGroupId nebo SubscriptionId.
Verzi je možné použít s názvem , aby byla explicitnější o tom, která definice podrobného plánu se vrátí. Místo verze přepínač -LatestPublished uchopí naposledy publikovanou verzi.
Následující příklad používá Get-AzBlueprint k získání všech verzí definice podrobného plánu s názvem "101-blueprints-definition-subscription" z konkrétního předplatného reprezentované jako {subId}:
Azure PowerShell
# Login first with Connect-AzAccount if not using Cloud Shell# Get all versions of the blueprint definition in the specified subscription$blueprints = Get-AzBlueprint -SubscriptionId'{subId}' -Name'101-blueprints-definition-subscription'# Display the blueprint definition object$blueprints
Příklad výstupu definice podrobného plánu s více verzemi vypadá takto:
Pokud přiřazení podrobného plánu již existuje, můžete na něj získat odkaz pomocí rutiny Get-AzBlueprintAssignment . Rutina přebírá id předplatného a název jako volitelné parametry. Pokud id předplatného není zadané, použije se aktuální kontext předplatného.
Následující příklad používá Get-AzBlueprintAssignment k získání jednoho přiřazení podrobného plánu s názvem Assignment-lock-resource-groups z konkrétního předplatného reprezentované jako {subId}:
Azure PowerShell
# Login first with Connect-AzAccount if not using Cloud Shell# Get the blueprint assignment in the specified subscription$blueprintAssignment = Get-AzBlueprintAssignment -SubscriptionId'{subId}' -Name'Assignment-lock-resource-groups'# Display the blueprint assignment object$blueprintAssignment
Příklad výstupu přiřazení podrobného plánu vypadá takto:
Pokud přiřazení podrobného plánu ještě neexistuje, můžete ho vytvořit pomocí rutiny New-AzBlueprintAssignment . Tato rutina používá následující parametry:
Název [povinné]
Určuje název přiřazení podrobného plánu.
Musí být jedinečný a v Id předplatného ještě neexistuje.
Podrobný plán [povinný]
Určuje definici podrobného plánu, která se má přiřadit.
Slouží k získání referenčního objektu.Get-AzBlueprint
Umístění [povinné]
Určuje oblast pro spravovanou identitu přiřazenou systémem a objekt nasazení předplatného, ve které se má vytvořit.
Předplatné (volitelné)
Určuje předplatné, do které se přiřazení nasadí.
Pokud není zadaný, ve výchozím nastavení se nastaví kontext aktuálního předplatného.
Každý zástupný symbol artefaktu skupiny prostředků obsahuje páry klíč/hodnota pro dynamické nastavení názvu a umístění v artefaktu dané skupiny prostředků.
Pokud parametr skupiny prostředků není zadaný a nemá žádnou hodnotu defaultValue, parametr skupiny prostředků není volitelný.
AssignmentFile (volitelné)
Cesta k souboru JSON reprezentace přiřazení podrobného plánu
Tento parametr je součástí sady parametrů PowerShellu, která obsahuje jenom name, blueprint a SubscriptionId a společné parametry.
Příklad 1: Zadání parametrů
Následující příklad vytvoří nové přiřazení verze 1.1 definice podrobného plánu my-blueprint načtené pomocí Get-AzBlueprint, nastaví spravovanou identitu a umístění objektu přiřazení na westus2, uzamkne prostředky pomocí AllResourcesReadOnly a nastaví tabulky hash pro Parametr i ResourceGroupParameter u konkrétního předplatného reprezentovaného jako {subId}:
Azure PowerShell
# Login first with Connect-AzAccount if not using Cloud Shell# Get version '1.1' of the blueprint definition in the specified subscription$bpDefinition = Get-AzBlueprint -SubscriptionId'{subId}' -Name'my-blueprint' -Version'1.1'# Create the hash table for Parameters$bpParameters = @{storageAccount_storageAccountType='Standard_GRS'}
# Create the hash table for ResourceGroupParameters# ResourceGroup is the resource group artifact placeholder name$bpRGParameters = @{ResourceGroup=@{name='storage_rg';location='westus2'}}
# Create the new blueprint assignment$bpAssignment = New-AzBlueprintAssignment -Name'my-blueprint-assignment' -Blueprint$bpDefinition `
-SubscriptionId'{subId}' -Location'westus2' -Lock AllResourcesReadOnly `
-Parameter$bpParameters -ResourceGroupParameter$bpRGParameters
Ukázkový výstup pro vytvoření přiřazení podrobného plánu vypadá takto:
Příklad 2: Použití souboru definice přiřazení JSON
Následující příklad vytvoří téměř stejné přiřazení jako příklad 1. Místo předání parametrů rutině ukazuje příklad použití souboru definice přiřazení JSON a parametru AssignmentFile . Vlastnost excludedPrincipals je navíc nakonfigurována jako součást zámků. Pro excludedPrincipals neexistuje parametr PowerShellu a vlastnost se dá nakonfigurovat pouze nastavením prostřednictvím souboru definice přiřazení JSON.
# Login first with Connect-AzAccount if not using Cloud Shell# Create the new blueprint assignment$bpAssignment = New-AzBlueprintAssignment -Name'my-blueprint-assignment' -SubscriptionId'{subId}' `
-AssignmentFile'.\assignment.json'
Někdy je potřeba aktualizovat přiřazení podrobného plánu, které už bylo vytvořeno. Rutina Set-AzBlueprintAssignment tuto akci zpracuje. Rutina přijímá většinu stejných parametrů jako rutina New-AzBlueprintAssignment a umožňuje aktualizaci všeho, co bylo u přiřazení nastaveno. Mezi výjimky patří Název, Podrobný plán a Id předplatného. Aktualizují se jenom zadané hodnoty.
Každý zástupný symbol artefaktu skupiny prostředků obsahuje páry klíč/hodnota pro dynamické nastavení názvu a umístění v artefaktu dané skupiny prostředků.
Pokud parametr skupiny prostředků není zadaný a nemá žádnou hodnotu defaultValue, parametr skupiny prostředků není volitelný.
Následující příklad aktualizuje přiřazení verze 1.1 definice podrobného plánu my-blueprint načtené Get-AzBlueprint změnou režimu uzamčení:
Azure PowerShell
# Login first with Connect-AzAccount if not using Cloud Shell# Get version '1.1' of the blueprint definition in the specified subscription$bpDefinition = Get-AzBlueprint -SubscriptionId'{subId}' -Name'my-blueprint' -Version'1.1'# Update the existing blueprint assignment$bpAssignment = Set-AzBlueprintAssignment -Name'my-blueprint-assignment' -Blueprint$bpDefinition `
-SubscriptionId'{subId}' -Lock AllResourcesDoNotDelete
Ukázkový výstup pro vytvoření přiřazení podrobného plánu vypadá takto:
Když nastane čas na odebrání přiřazení podrobného plánu, rutina Remove-AzBlueprintAssignment tuto akci zpracuje. Rutina přijme název nebo InputObject a určí, které přiřazení podrobného plánu se má odebrat.
Id předplatného je povinné a musí být zadané ve všech případech.
Následující příklad načte existující přiřazení podrobného plánu pomocí Get-AzBlueprintAssignment a pak ho odebere z konkrétního předplatného reprezentované jako {subId}:
Azure PowerShell
# Login first with Connect-AzAccount if not using Cloud Shell# Get the blueprint assignment in the specified subscription$blueprintAssignment = Get-AzBlueprintAssignment -Name'Assignment-lock-resource-groups'# Remove the existing blueprint assignmentRemove-AzBlueprintAssignment -InputObject$blueprintAssignment -SubscriptionId'{subId}'
Příklad kódu
Když všechny kroky spojíte dohromady, následující příklad získá definici podrobného plánu, pak vytvoří, aktualizuje a odebere přiřazení podrobného plánu v konkrétním předplatném reprezentované jako {subId}:
Azure PowerShell
# Login first with Connect-AzAccount if not using Cloud Shell#region GetBlueprint# Get version '1.1' of the blueprint definition in the specified subscription$bpDefinition = Get-AzBlueprint -SubscriptionId'{subId}' -Name'my-blueprint' -Version'1.1'#endregion#region CreateAssignment# Create the hash table for Parameters$bpParameters = @{storageAccount_storageAccountType='Standard_GRS'}
# Create the hash table for ResourceGroupParameters# ResourceGroup is the resource group artifact placeholder name$bpRGParameters = @{ResourceGroup=@{name='storage_rg';location='westus2'}}
# Create the new blueprint assignment$bpAssignment = New-AzBlueprintAssignment -Name'my-blueprint-assignment' -Blueprint$bpDefinition `
-SubscriptionId'{subId}' -Location'westus2' -Lock AllResourcesReadOnly `
-Parameter$bpParameters -ResourceGroupParameter$bpRGParameters#endregion CreateAssignment# Wait for the blueprint assignment to finish deployment prior to the next steps#region UpdateAssignment# Update the existing blueprint assignment$bpAssignment = Set-AzBlueprintAssignment -Name'my-blueprint-assignment' -Blueprint$bpDefinition `
-SubscriptionId'{subId}' -Lock AllResourcesDoNotDelete
#endregion UpdateAssignment# Wait for the blueprint assignment to finish deployment prior to the next steps#region RemoveAssignment# Remove the existing blueprint assignmentRemove-AzBlueprintAssignment -InputObject$bpAssignment -SubscriptionId'{subId}'#endregion
Syntaxe a vlastnosti Azure Microsoft.Authorization/policyAssignments pro použití v šablonách Azure Resource Manageru pro nasazení prostředku Nejnovější verze rozhraní API