Rychlý start: Definování a přiřazení podrobného plánu Azure pomocí rozhraní REST API
Článek
Důležité
11. července 2026 se podrobné plány (Preview) přestanou používat. Migrujte existující definice a přiřazení podrobného plánu do šablonových specifikací a zásobníků nasazení. Artefakty podrobného plánu se mají převést na šablony JSON ARM nebo soubory Bicep používané k definování zásobníků nasazení. Informace o vytváření artefaktu jako prostředku ARM najdete tady:
V tomto kurzu se naučíte používat Azure Blueprints k provádění některých běžných úloh souvisejících s vytvářením, publikováním a přiřazením podrobného plánu v rámci vaší organizace. Tato dovednost vám pomůže definovat běžné vzory pro vývoj opakovaně použitelných a rychle nasaditelných konfigurací na základě šablon, zásad a zabezpečení Azure Resource Manageru (ARM).
Požadavky
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. Předinstalované příkazy Cloud Shellu můžete použít ke spuštění kódu v tomto článku, aniž byste museli instalovat cokoli do místního prostředí.
Spuštění služby Azure Cloud Shell:
Možnost
Příklad nebo odkaz
Vyberte Vyzkoušet v pravém horním rohu bloku kódu nebo příkazu. Výběrem možnosti Vyzkoušet se kód ani příkaz automaticky nekopíruje do Cloud Shellu.
Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči.
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal.
Použití Azure Cloud Shellu:
Spusťte Cloud Shell.
Výběrem tlačítka Kopírovat v bloku kódu (nebo bloku příkazů) zkopírujte kód nebo příkaz.
Vložte kód nebo příkaz do relace Cloud Shellu tak, že ve Windows a Linuxu vyberete ctrl+Shift+V nebo vyberete Cmd+Shift+V v macOS.
Stisknutím klávesy Enter spusťte kód nebo příkaz.
Začínáme s rozhraním REST API
Pokud rozhraní REST API neznáte, začněte tím, že si prohlédnete referenční informace k rozhraní Azure REST API, konkrétně části týkající se identifikátoru URI požadavku a textu požadavku. V tomto rychlém startu se tyto koncepty používají k poskytování pokynů pro práci s Azure Blueprints a předpokládá jejich pracovní znalosti. Nástroje, jako je ARMClient , můžou automaticky zpracovávat autorizaci a doporučuje se pro začátečníky.
Specifikace služby Azure Blueprints najdete v rozhraní REST API služby Azure Blueprints.
REST API a PowerShell
Pokud nemáte nástroj na volání REST API, můžete k zadání těchto pokynů použít PowerShell. Následuje ukázková hlavička pro ověřování v Azure. Vygenerujte ověřovací hlavičku, někdy označovanou jako nosný token, a zadejte identifikátor URI rozhraní REST API pro připojení s libovolnými parametry nebo parametrem Request Body:
Azure PowerShell
# Log in first with Connect-AzAccount if not using Cloud Shell$azContext = Get-AzContext$azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile
$profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile)
$token = $profileClient.AcquireAccessToken($azContext.Subscription.TenantId)
$authHeader = @{
'Content-Type'='application/json''Authorization'='Bearer ' + $token.AccessToken
}
# Invoke the REST API$restUri = 'https://management.azure.com/subscriptions/{subscriptionId}?api-version=2020-01-01'$response = Invoke-RestMethod -Uri$restUri -Method Get -Headers$authHeader
Nahraďte {subscriptionId} předchozí $restUri proměnnou, abyste získali informace o vašem předplatném. Proměnná $response obsahuje výsledek Invoke-RestMethod rutiny, kterou můžete parsovat s rutinami, jako je ConvertFrom-Json. Pokud koncový bod služby REST API očekává Request Body, zadejte proměnnou ve formátu JSON parametru -BodyInvoke-RestMethod.
Vytvoření podrobného plánu
Jako první krok při definování standardního vzoru pro dodržování předpisů je sestavení podrobného plánu z dostupných prostředků. Pojďme vytvořit podrobný plán s názvem MyBlueprint pro konfiguraci přiřazení rolí a zásad pro předplatné. Potom do skupiny prostředků přidáte skupinu prostředků, šablonu ARM a přiřazení role.
Poznámka
Při použití rozhraní REST API se nejprve vytvoří objekt podrobného plánu . Pro každý artefakt , který má parametry, definujete parametry předem v počátečním podrobném plánu.
V každém identifikátoru URI rozhraní REST API nahraďte následující proměnné vlastními hodnotami:
Vytvořte počáteční objekt blueprint. Obsahuje Request Body vlastnosti podrobného plánu, všechny skupiny prostředků, které se mají vytvořit, a všechny parametry na úrovni podrobného plánu. Parametry nastavíte během přiřazení a artefakty, které přidáte v dalších krocích.
Identifikátor URI v REST API
HTTP
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint?api-version=2018-11-01-preview
Text požadavku
JSON
{
"properties": {
"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.",
"targetScope": "subscription",
"parameters": {
"storageAccountType": {
"type": "string",
"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"
}
},
"owners": {
"type": "array",
"metadata": {
"description": "List of AAD object IDs that is assigned Owner role at the resource group"
}
}
},
"resourceGroups": {
"storageRG": {
"description": "Contains the resource template deployment and a role assignment."
}
}
}
}
Přidejte přiřazení role v předplatném. Definuje Request Body druh artefaktu, vlastnosti odpovídají identifikátoru definice role a hlavní identity se předávají jako pole hodnot. V následujícím příkladu jsou hlavní identity udělené zadanou rolí nakonfigurovány na parametr, který je nastaven během přiřazení podrobného plánu. V tomto příkladu Contributor se používá předdefinovaná role s identifikátorem GUID b24988ac-6180-42a0-ab88-20f7382dd24c.
Identifikátor URI v REST API
HTTP
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/roleContributor?api-version=2018-11-01-preview
Přidejte přiřazení zásad v předplatném. Definuje Request Body druh artefaktu, vlastnosti odpovídají definici zásady nebo iniciativy a přiřazení zásady je nakonfigurováno tak, aby používalo definované parametry podrobného plánu během přiřazení podrobného plánu. Tento příklad používá Apply tag and its default value to resource groups předdefinované zásady s identifikátorem GUID 49c88fc8-6fd1-46fd-a676-f12d1d3a4c71.
Identifikátor URI v REST API
HTTP
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/policyTags?api-version=2018-11-01-preview
Text požadavku
JSON
{
"kind": "policyAssignment",
"properties": {
"description": "Apply tag and its default value to resource groups",
"policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/49c88fc8-6fd1-46fd-a676-f12d1d3a4c71",
"parameters": {
"tagName": {
"value": "[parameters('tagName')]"
},
"tagValue": {
"value": "[parameters('tagValue')]"
}
}
}
}
Přidejte další přiřazení zásad pro značku úložiště (opětovným použitím storageAccountType_ parameter) v předplatném. Tento další artefakt přiřazené zásady ukazuje, že parametr definovaný v podrobném plánu může používat více artefaktů. V tomto příkladu storageAccountType použijete k nastavení značky ve skupině prostředků. Tato hodnota poskytuje informace o účtu úložiště, který vytvoříte v dalším kroku. Tento příklad používá Apply tag and its default value to resource groups předdefinované zásady s identifikátorem GUID 49c88fc8-6fd1-46fd-a676-f12d1d3a4c71.
Identifikátor URI v REST API
HTTP
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/policyStorageTags?api-version=2018-11-01-preview
Text požadavku
JSON
{
"kind": "policyAssignment",
"properties": {
"description": "Apply storage tag and the parameter also used by the template to resource groups",
"policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/49c88fc8-6fd1-46fd-a676-f12d1d3a4c71",
"parameters": {
"tagName": {
"value": "StorageType"
},
"tagValue": {
"value": "[parameters('storageAccountType')]"
}
}
}
}
Přidejte šablonu do skupiny prostředků. Šablona Request Body ARM obsahuje normální komponentu JSON šablony a definuje cílovou skupinu prostředků pomocí properties.resourceGroup. Šablona také znovu použije storageAccountTypeparametry , tagNamea tagValue podrobného plánu předáním každé šablony. Parametry podrobného plánu jsou k dispozici šabloně definováním properties.parametersa uvnitř souboru JSON šablony, který pár klíč-hodnota použije k vložení hodnoty. Názvy parametrů podrobného plánu a šablony můžou být stejné, ale liší se zde, aby bylo možné znázornit, jak jednotlivé předávají z podrobného plánu do artefaktu šablony.
Identifikátor URI v REST API
HTTP
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/templateStorage?api-version=2018-11-01-preview
Přidejte přiřazení role do skupiny prostředků. Podobně jako u předchozí položky přiřazení role používá následující příklad identifikátor definice pro Owner roli a poskytuje jiný parametr než podrobný plán. V tomto příkladu Owner se používá předdefinovaná role s identifikátorem GUID 8e3af657-a8ff-443c-a75c-2fe8c4bcb635.
Identifikátor URI v REST API
HTTP
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/roleOwner?api-version=2018-11-01-preview
Teď, když jste do podrobného plánu přidali artefakty, je čas ho publikovat. Publikování zpřístupní podrobný plán pro přiřazení k předplatnému.
Identifikátor URI v REST API
HTTP
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/versions/{BlueprintVersion}?api-version=2018-11-01-preview
Hodnota {BlueprintVersion} je řetězec písmen, číslic a pomlček (bez mezer nebo jiných speciálních znaků). Maximální délka je 20 znaků. Použijte něco jedinečného a informativního, například v20180622-135541.
Přiřazení podrobného plánu
Po publikování podrobného plánu pomocí rozhraní REST API je možné ho přiřadit předplatnému. Přiřaďte podrobný plán, který jste vytvořili, k jednomu z předplatných v hierarchii skupin pro správu. Pokud se podrobný plán uloží do předplatného, můžete ho přiřadit jenom k ho. Určuje Request Body podrobný plán, který se má přiřadit, a poskytne název a umístění pro všechny skupiny prostředků v definici podrobného plánu. Request Body poskytuje také všechny parametry definované v podrobném plánu a používané jedním nebo více připojenými artefakty.
V každém identifikátoru URI rozhraní REST API nahraďte následující proměnné vlastními hodnotami:
{tenantId} – Nahraďte ID tenanta.
{YourMG} – Nahraďte ID vaší skupiny pro správu.
{subscriptionId} – Nahraďte ID předplatného.
Zadejte instanční objekt Azure Blueprints roli Owner v cílovém předplatném. Jedná se o AppId statickou (f71766dc-90d9-4b7d-bd9d-4499c4331c3f), ale ID instančního objektu se liší podle tenanta. K vyžádání podrobností pro vašeho tenanta použijte následující rozhraní REST API. Používá rozhraní Graph API služby Azure Active Directory, které má jinou autorizaci.
Identifikátor URI v REST API
HTTP
GET https://graph.windows.net/{tenantId}/servicePrincipals?api-version=1.6&$filter=appId eq 'f71766dc-90d9-4b7d-bd9d-4499c4331c3f'
Spusťte nasazení podrobného plánu tím, že ho přiřadíte k předplatnému. Vzhledem k tomu, že parametry contributorsowners vyžadují udělení přiřazení role pole objectIds objektů zabezpečení, použijte rozhraní Azure Active Directory Graph API ke shromažďování objectIds informací o použití ve Request Body vašich vlastních uživatelích, skupinách nebo instančních objektech.
Identifikátor URI v REST API
HTTP
PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Blueprint/blueprintAssignments/assignMyBlueprint?api-version=2018-11-01-preview
Přiřazení podrobného plánu může také použít spravovanou identitu přiřazenou uživatelem.
V tomto případě se identity část textu požadavku změní následujícím způsobem. Nahraďte {yourRG} název {userIdentity} vaší skupiny prostředků a názvem spravované identity přiřazené uživatelem.
Spravovaná identita přiřazená uživatelem může být v libovolném předplatném a skupině prostředků, ke které má uživatel přiřazení podrobného plánu oprávnění.
Důležité
Azure Blueprints nespravuje spravovanou identitu přiřazenou uživatelem. Uživatelé zodpovídají za přiřazení dostatečných rolí a oprávnění nebo přiřazení podrobného plánu selže.
Vyčištění prostředků
Zrušení přiřazení podrobného plánu
Podrobný plán můžete odebrat z předplatného. Odebrání se často provádí v případě, že už nepotřebujete prostředky artefaktů. Po odebrání podrobného plánu zůstanou přiřazené artefakty, které byly jeho součástí. K odebrání přiřazeného podrobného plánu použijte následující operaci REST API:
V tomto rychlém startu jste vytvořili, přiřadili a odebrali podrobný plán pomocí rozhraní REST API. Další informace o Azure Blueprints najdete v článku o životním cyklu podrobného plánu.
Zjednodušte nasazování sbalením artefaktů, jako jsou šablony Azure Resource Manageru, řízení přístupu na základě rolí v Azure (Azure RBAC) a zásad do jedné definice podrobného plánu.
V tomto kurzu pomocí ukázky podrobného plánu vytvoříte definici podrobného plánu, která nastaví dvě skupiny prostředků a pro každou nakonfiguruje přiřazení role.
Seznamte se s životním cyklem, kterým definice podrobného plánu prochází, a podrobnosti o jednotlivých fázích, včetně aktualizace a odebrání přiřazení podrobných plánů.