Nasazení tenantů se souborem Bicep
S tím, jak vaše organizace zralá, možná budete muset definovat a přiřazovat zásady nebo řízení přístupu na základě role v Azure (Azure RBAC) v rámci vašeho tenanta Microsoft Entra. Pomocí šablon na úrovni tenanta můžete deklarativní použít zásady a přiřadit role na globální úrovni.
Školicí materiály
Pokud byste se raději dozvěděli o oborech nasazení prostřednictvím podrobných pokynů, přečtěte si téma Nasazení prostředků do předplatných, skupin pro správu a tenantů pomocí Bicep.
Podporované prostředky
Ne všechny typy prostředků je možné nasadit na úrovni tenanta. Tato část obsahuje seznam podporovaných typů prostředků.
Pro řízení přístupu na základě role v Azure (Azure RBAC) použijte:
Pro vnořené šablony, které se nasazují do skupin pro správu, předplatných nebo skupin prostředků, použijte:
Při vytváření skupin pro správu použijte:
Při vytváření předplatných použijte:
Ke správě nákladů použijte:
Ke konfiguraci portálu použijte:
Předdefinované definice zásad jsou prostředky na úrovni tenanta, ale v tenantovi nemůžete nasadit vlastní definice zásad. Příklad přiřazení předdefinované definice zásad k prostředku najdete v příkladu tenantResourceId.
Nastavit obor
Pokud chcete nastavit obor na tenanta, použijte:
targetScope = 'tenant'
Požadovaný přístup
Objekt zabezpečení, který šablonu nasazuje, musí mít oprávnění k vytváření prostředků v oboru tenanta. Objekt zabezpečení musí mít oprávnění ke spuštění akcí nasazení (Microsoft.Resources/deployments/*
) a k vytvoření prostředků definovaných v šabloně. Pokud například chcete vytvořit skupinu pro správu, musí mít objekt zabezpečení oprávnění Přispěvatel v oboru tenanta. Pokud chcete vytvořit přiřazení rolí, musí mít objekt zabezpečení oprávnění vlastníka.
Globální Správa istrator pro ID Microsoft Entra nemá automaticky oprávnění k přiřazování rolí. Pokud chcete povolit nasazení šablon v oboru tenanta, musí globální Správa istrator provést následující kroky:
Zvyšte úroveň přístupu k účtu, aby globální Správa istrator mohl přiřazovat role. Podrobnosti najdete v tématu Zvýšení úrovně přístupu pro správu všech předplatných Azure a skupin pro správu.
Přiřaďte k objektu zabezpečení vlastníka nebo přispěvatele, který potřebuje nasadit šablony.
New-AzRoleAssignment -SignInName "[userId]" -Scope "/" -RoleDefinitionName "Owner"
az role assignment create --assignee "[userId]" --scope "/" --role "Owner"
Objekt zabezpečení teď má požadovaná oprávnění k nasazení šablony.
Příkazy nasazení
Příkazy pro nasazení tenanta se liší od příkazů pro nasazení skupin prostředků.
Pro Azure CLI použijte příkaz az deployment tenant create:
az deployment tenant create \
--name demoTenantDeployment \
--location WestUS \
--template-file main.bicep
Podrobnější informace opříkazch
- Nasazení prostředků pomocí šablon ARM a Azure CLI
- Nasazení prostředků pomocí šablon ARM a Azure PowerShellu
- Nasazení šablon ARM z Cloud Shellu
Umístění a název nasazení
Pro nasazení na úrovni tenanta musíte zadat umístění pro nasazení. Umístění nasazení je oddělené od umístění prostředků, které nasadíte. Umístění nasazení určuje, kam se mají ukládat data nasazení. Nasazení předplatných a skupin pro správu také vyžadují umístění. Pro nasazení skupin prostředků se umístění skupiny prostředků používá k ukládání dat nasazení.
Můžete zadat název nasazení nebo použít výchozí název nasazení. Výchozí název je název souboru šablony. Například nasazení souboru s názvem main.bicep vytvoří výchozí název nasazení main.
Pro každý název nasazení je umístění neměnné. Nasazení nemůžete vytvořit v jednom umístění, pokud existuje existující nasazení se stejným názvem v jiném umístění. Pokud například vytvoříte nasazení tenanta s názvem deployment1 v centralus, nemůžete později vytvořit jiné nasazení s názvem deployment1, ale umístěním westus. Pokud se zobrazí kód InvalidDeploymentLocation
chyby, použijte pro tento název jiný název nebo stejné umístění jako předchozí nasazení.
Obory nasazení
Při nasazování do tenanta můžete prostředky nasadit do:
- tenant
- skupiny pro správu v rámci tenanta
- předplatnými
- skupiny prostředků
Prostředek rozšíření může být vymezen na cíl, který se liší od cíle nasazení.
Uživatel, který šablonu nasazuje, musí mít přístup k zadanému oboru.
Tato část ukazuje, jak zadat různé obory. Tyto různé obory můžete kombinovat v jedné šabloně.
Rozsah na tenanta
Prostředky definované v souboru Bicep se použijí na tenanta.
targetScope = 'tenant'
// create resource at tenant
resource mgName_resource 'Microsoft.Management/managementGroups@2023-04-01' = {
...
}
Rozsah na skupinu pro správu
Pokud chcete cílit na skupinu pro správu v rámci tenanta, přidejte modul. Pomocí funkce managementGroup nastavte jeho scope
vlastnost. Zadejte název skupiny pro správu.
targetScope = 'tenant'
param managementGroupName string
// create resources at management group level
module 'module.bicep' = {
name: 'deployToMG'
scope: managementGroup(managementGroupName)
}
Rozsah předplatného
Pokud chcete cílit na předplatné v rámci tenanta, přidejte modul. Pomocí funkce předplatného nastavte jeho scope
vlastnost. Zadejte ID předplatného.
targetScope = 'tenant'
param subscriptionID string
// create resources at subscription level
module 'module.bicep' = {
name: 'deployToSub'
scope: subscription(subscriptionID)
}
Rozsah na skupinu prostředků
Pokud chcete cílit na skupinu prostředků v rámci tenanta, přidejte modul. Pomocí funkce resourceGroup nastavte jeho scope
vlastnost. Zadejte ID předplatného a název skupiny prostředků.
targetScope = 'tenant'
param resourceGroupName string
param subscriptionID string
// create resources at resource group level
module 'module.bicep' = {
name: 'deployToRG'
scope: resourceGroup(subscriptionID, resourceGroupName)
}
Vytvoření skupiny pro správu
Následující šablona vytvoří skupinu pro správu.
targetScope = 'tenant'
param mgName string = 'mg-${uniqueString(newGuid())}'
resource mgName_resource 'Microsoft.Management/managementGroups@2023-04-01' = {
name: mgName
properties: {}
}
Pokud váš účet nemá oprávnění k nasazení do tenanta, můžete skupiny pro správu vytvořit nasazením do jiného oboru. Další informace naleznete v tématu Skupina pro správu.
Přiřazení role
Následující šablona přiřadí roli v oboru tenanta.
targetScope = 'tenant'
@description('principalId of the user that will be given contributor access to the resourceGroup')
param principalId string
@description('roleDefinition for the assignment - default is owner')
param roleDefinitionId string = '8e3af657-a8ff-443c-a75c-2fe8c4bcb635'
var roleAssignmentName = guid(principalId, roleDefinitionId)
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
name: roleAssignmentName
properties: {
roleDefinitionId: tenantResourceId('Microsoft.Authorization/roleDefinitions', roleDefinitionId)
principalId: principalId
}
}
Další kroky
Další informace o dalších oborech najdete tady: