Azure Blueprints končí 31. ledna 2027: migrační plán na Deployment Stacks a template specs
Azure Blueprints končí 31. ledna 2027: migrační plán na Deployment Stacks a template specs
Retirement Blueprints se posunul z července 2026 na 31. ledna 2027, což zní jako odklad. Není. Je to postupné zamykání, které už běží — a část dveří je zavřená od července.
Tenhle článek není novinka, je to migrační plán: co přesně kdy přestane jít, jak namapovat jednotlivé typy artefaktů, a jak si data vyexportovat dřív, než je Microsoft smaže.
Časová osa, která už běží
| Datum | Co přestane jít |
|---|---|
| 31. 7. 2026 | Nové definice a nové verze (už platí) |
| 31. 10. 2026 | Editace definic, nová přiřazení |
| 31. 12. 2026 | Editace přiřazení |
| 31. 1. 2027 | API mrtvé, blade pryč, neexportovaná data trvale smazána, blueprint locky přestanou fungovat |
Dvě věci na tom stojí za zvýraznění.
Neexportovaná data budou trvale smazána. Ne archivovaná, ne read-only. Pokud máte v blueprintech definice, které nikde jinde neexistují — a v mnoha organizacích jsou blueprinty jediné místo, kde ta governance logika žije — po 31. lednu 2027 je nemáte.
Blueprint locky přestanou fungovat. Tohle je z provozního hlediska nejostřejší položka celého útlumu. Pokud jste přes blueprint aplikovali Do Not Delete nebo Read Only na produkční zdroje, tyhle locky prostě přestanou platit. Zdroje se nesmažou, ale přestanou být chráněné — a nikdo vám o tom nepošle zprávu.
Zdroje samotné migraci přežijí. Nic se nemaže a nic se nepřenasazuje.
Náhrada je dvojice, ne jedna služba
Blueprint dělal dvě věci najednou, a proto ho nahrazují dva nástroje:
Azure Blueprint
│
├─→ Template spec (nebo Git) ← uložení a verzování šablony
│ „co se nasazuje"
│
└─→ Deployment Stack ← přiřazení, lifecycle, denySettings
„kam, s jakými parametry, a co se nesmí"Na první pohled to vypadá jako komplikace. V praxi je to zjednodušení, protože přestáváte používat samostatnou governance technologii a používáte stejný nástroj jako na zbytek infrastruktury. Deployment Stacks jsem rozebíral samostatně v článku o Deployment Stacks — tady jde jen o mapování.
Mapování artefaktů
Tohle je jádro práce. Projděte si každý blueprint artefakt po artefaktu:
| Blueprint artefakt | Náhrada |
|---|---|
policyAssignment | Microsoft.Authorization/policyAssignments v Bicep modulu |
roleAssignment | Microsoft.Authorization/roleAssignments v Bicep modulu |
template (vnořená ARM šablona) | Bicep modul, případně vlastní template spec |
| resource group placeholder | Microsoft.Resources/resourceGroups na subscription scope |
| verze blueprintu | verze template specu, nebo tag v Gitu |
| přiřazení blueprintu | deployment stack |
| parametry přiřazení | soubor .bicepparam |
lock Do Not Delete | denySettings se mode: denyDelete |
lock Read Only | denySettings se mode: denyWriteAndDelete |
Poslední dva řádky nedělejte na konci. Locky migrujte jako první, protože jsou to jediná položka, kde má prodlení reálný bezpečnostní dopad.
Výsledný stack vypadá takhle:
targetScope = 'managementGroup'
// Co blueprint dělal jako "artefakty", je tady prostě
// několik modulů. Pořadí řeší Bicep sám přes reference.
module policies 'modules/policy-assignments.bicep' = {
name: 'lz-policies'
params: { mgScope: managementGroupId }
}
module rbac 'modules/role-assignments.bicep' = {
name: 'lz-rbac'
params: { platformTeamObjectId: platformTeamObjectId }
}
param managementGroupId string
param platformTeamObjectId stringA nasazení jako stack, včetně náhrady za blueprint lock:
az stack mg create \
--name 'lz-governance-baseline' \
--management-group-id 'mg-platform' \
--location westeurope \
--template-file main.bicep \
--parameters main.bicepparam \
--deny-settings-mode denyDelete \
--deny-settings-excluded-principals "$BREAKGLASS_OBJECT_ID" \
--action-on-unmanage detachAllDvě volby v tom příkazu stojí za komentář:
--deny-settings-excluded-principals— vždycky si vyjměte break-glass identitu. Blueprint locky se daly obejít přes Owner role;denySettingsje přísnější a bez výjimky se můžete zamknout ven.--action-on-unmanage detachAllpři prvním nasazení. Až si ověříte, že stack spravuje přesně to, co má, můžete přejít nadeleteResources. Naopak to nedělejte —deleteResourcesu špatně nastaveného rozsahu je nevratná operace.
Export: udělejte to teď, ne v lednu
Neexportovaná data se smažou. az blueprint extension nemusí být všude nainstalovaná, takže nejspolehlivější cesta je REST — funguje z jakéhokoliv prostředí s az:
MG='mg-platform'
API='2018-11-01-preview'
BASE="https://management.azure.com/providers/Microsoft.Management/managementGroups/$MG/providers/Microsoft.Blueprint"
mkdir -p blueprint-export
# 1. Seznam definic
az rest --method get --url "$BASE/blueprints?api-version=$API" \
> blueprint-export/_definitions.json
# 2. Pro každou definici její artefakty a verze
for BP in $(jq -r '.value[].name' blueprint-export/_definitions.json); do
az rest --method get --url "$BASE/blueprints/$BP?api-version=$API" \
> "blueprint-export/${BP}.json"
az rest --method get --url "$BASE/blueprints/$BP/artifacts?api-version=$API" \
> "blueprint-export/${BP}.artifacts.json"
az rest --method get --url "$BASE/blueprints/$BP/versions?api-version=$API" \
> "blueprint-export/${BP}.versions.json"
donePřiřazení žijí na subskripcích, ne na management group, takže je vypište zvlášť:
for SUB in $(az account list --query "[?state=='Enabled'].id" -o tsv); do
az rest --method get \
--url "https://management.azure.com/subscriptions/$SUB/providers/Microsoft.Blueprint/blueprintAssignments?api-version=$API" \
> "blueprint-export/assignments-${SUB}.json"
doneTen adresář commitněte do Gitu. I když z něj nikdy nic nepřepíšete, je to jediná evidence toho, jak vaše governance vypadala — a po lednu 2027 už jinde nebude.
Co ztratíte a co získáte
Na rovinu, protože migrace, která slibuje jen výhody, obvykle něco zamlčuje.
Ztrácíte:
- Balení artefaktů do jednoho publikovaného objektu s verzí. Tohle byl hlavní důvod, proč lidé Blueprints používali, a přímý ekvivalent neexistuje — template spec drží šablonu, stack drží přiřazení, ale ta „krabice" kolem toho je pryč.
- Portálové UX. Blueprint šel proklikat. Deployment stack je nástroj pro lidi, kteří píšou IaC.
Získáváte:
- Skutečný lifecycle. Stack ví, co spravuje. Když ze šablony odeberete zdroj, stack ho umí odstranit — blueprint tohle neuměl nikdy a nechával po sobě sirotky.
- Granulárnější zamykání.
denySettingsumí vyjmout konkrétní principaly a konkrétní akce, což blueprint lock neuměl. - Jeden nástroj místo dvou. Vaše landing zone už Bicep nejspíš používá. Governance přestane být výjimka s vlastním nasazovacím modelem.
Plán do konce roku
Zbývá vám něco přes dva měsíce do 31. října, kdy zmizí možnost dělat nová přiřazení. To je reálný deadline, ne leden.
- Tento týden: export. Skript výš, výstup do Gitu. Nejlevnější krok s nejvyšší cenou za odklad.
- Do konce září: inventura locků. Vypište si všechny zdroje chráněné blueprint lockem. To je seznam, který musí být pokrytý
denySettings, než API zmizí. - Říjen: pilot. Jeden blueprint přepsaný do Bicepu a nasazený jako stack, na nevýrobním prostředí. Ověřte hlavně
denySettingsa break-glass výjimku. - Listopad–prosinec: zbytek. Blueprint po blueprintu, produkce naposled.
- Leden 2027: kontrola, že žádné přiřazení nezůstalo, a odstranění starých definic.
Nejhorší varianta je čekat do ledna. V ten moment už nejdou dělat nová přiřazení, takže nemáte jak paralelně ověřit, že náhrada dělá totéž.
Pokud stavíte nebo revidujete landing zone a tahle migrace do toho spadá, sepsal jsem strukturu v článku o Azure Landing Zone v Bicepu. S konkrétním prostředím rád pomůžu — viz služby cloudové architektury.
Zdroje
- Azure update 564806 — oznámení z 25. 6. 2026
- Blueprint retirement — dokumentace, ms.date 26. 6. 2026
O autorovi

Martin Rylko
Senior Cloud Architect & DevOps Engineer
Více než 14 let v IT – od on-premises datacenter a Hyper-V clusteringu po cloudovou infrastrukturu v Microsoft Azure. Specializuji se na Landing Zones, IaC automatizaci, Kubernetes a bezpečnostní compliance.
Nejcastejsi dotazy
Zmizí mi zdroje, které blueprint vytvořil?▾
Co přesně se stane 31. ledna 2027?▾
Čím se Blueprints nahrazují?▾
Co migrací ztratím a co získám?▾
Mohlo by vás zajímat
Foundational CSPM přestane být default: co dopsat do subscription vendingu do 27. října 2026
Od 27. října 2026 se Foundational CSPM na nových Azure subskripcích nezapne sám. Není to problém bezpečnostního týmu, ale vaší landing zone továrny. Bicep, policy a ARG dotaz na audit.
ČístBicep Deployment Stacks: Lifecycle management bez ručního cleanupu
Deployment Stacks v Bicepu jsou způsob, jak Azure resources spravovat jako koherentní celek s denyAssignments, auto-cleanup a controlled deletion. Praktický průvodce s migration plánem z klasických deploymentů.
ČístAzure Landing Zone Governance: Policy ve velkém
Azure Policy governance pro Landing Zones ve velkém měřítku. Vlastní definice politik, přiřazení iniciativ, compliance dashboardy a nákladové guardrails.
Číst