Felügyeleti csoportok üzembe helyezése Bicep-fájlokkal
Ez a cikk azt ismerteti, hogyan állíthatja be a hatókört a Bicep-lel egy felügyeleti csoportban való üzembe helyezéskor.
A szervezet érettségével üzembe helyezhet egy Bicep-fájlt, hogy erőforrásokat hozzon létre a felügyeleti csoport szintjén. Előfordulhat például, hogy szabályzatokat vagy Azure-szerepköralapú hozzáférés-vezérlést (Azure RBAC) kell meghatároznia és hozzárendelnie egy felügyeleti csoporthoz. A felügyeleti csoportszintű sablonok használatával deklaratív módon alkalmazhat házirendeket, és szerepköröket rendelhet hozzá a felügyeleti csoport szintjén.
Képzési erőforrások
Ha lépésről lépésre szeretne tájékozódni az üzembehelyezési hatókörökről, olvassa el az Erőforrások üzembe helyezése előfizetések, felügyeleti csoportok és bérlők számára a Bicep használatával című témakört.
Támogatott erőforrások
Nem minden erőforrástípus helyezhető üzembe a felügyeleti csoport szintjén. Ez a szakasz felsorolja, hogy mely erőforrástípusok támogatottak.
Az Azure Blueprints esetében használja a következőt:
Az Azure Policy esetében használja a következőt:
Hozzáférés-vezérléshez használja a következőt:
- privateLinkAssociations
- roleAssignments
- roleAssignmentScheduleRequests
- roleDefinitions
- roleEligibilityScheduleRequests
- roleManagementPolicyAssignments
Előfizetésekben vagy erőforráscsoportokban üzembe helyező beágyazott sablonok esetén használja a következőt:
Az erőforrások kezeléséhez használja a következőt:
A felügyeleti csoportok bérlőszintű erőforrások. Felügyeleti csoportokat azonban létrehozhat a felügyeleti csoportok üzembe helyezésében úgy, hogy az új felügyeleti csoport hatókörét a bérlőre állítja. Lásd: Felügyeleti csoport.
Hatókör beállítása
A hatókör felügyeleti csoportra való beállításához használja a következőt:
targetScope = 'managementGroup'
Üzembehelyezési parancsok
A felügyeleti csoporton való üzembe helyezéshez használja a felügyeleti csoport üzembehelyezési parancsát.
Az Azure CLI-hez használja az az deployment mg create parancsot:
az deployment mg create \
--name demoMGDeployment \
--location WestUS \
--management-group-id myMG \
--template-uri "https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/management-level-deployment/azuredeploy.json"
Az üzembehelyezési parancsokkal és az ARM-sablonok üzembe helyezési lehetőségével kapcsolatos további információkért lásd:
- Erőforrások üzembe helyezése ARM-sablonokkal és Azure CLI-vel
- Erőforrások üzembe helyezése ARM-sablonokkal és Azure PowerShell-lel
- ARM-sablonok üzembe helyezése a Cloud Shellből
Üzembe helyezés helye és neve
A felügyeleti csoportszintű üzemelő példányok esetében meg kell adnia az üzembe helyezés helyét. Az üzembe helyezés helye eltér az üzembe helyezhető erőforrások helyétől. Az üzembehelyezési hely határozza meg, hogy hol tárolja az üzembehelyezési adatokat. Az előfizetések és bérlők üzembe helyezéséhez hely is szükséges. Az erőforráscsoport üzemelő példányai esetében az erőforráscsoport helye az üzembehelyezési adatok tárolására szolgál.
Megadhat egy nevet az üzembe helyezéshez, vagy használhatja az alapértelmezett üzembe helyezési nevet. Az alapértelmezett név a sablonfájl neve. Egy main.bicep nevű sablon üzembe helyezése például létrehozza a fő alapértelmezett üzembehelyezési nevét.
Minden üzembe helyezési név esetében a hely nem módosítható. Nem hozhat létre üzembe helyezést egy helyen, ha egy másik helyen azonos nevű meglévő üzembe helyezés van. Ha például létrehoz egy felügyeleticsoport-üzembe helyezést az 1. névvel a Centralusban, később nem hozhat létre egy másik üzembe helyezést az üzembe helyezés1 névvel, hanem a westus helyével. Ha a hibakódot InvalidDeploymentLocation
kapja, használjon másik nevet, vagy ugyanazt a helyet, mint az előző üzembe helyezés.
Üzembehelyezési hatókörök
Felügyeleti csoportban való üzembe helyezéskor az erőforrásokat a következőre helyezheti üzembe:
- a művelet célfelügyeleti csoportja
- egy másik felügyeleti csoport a bérlőben
- előfizetések a felügyeleti csoportban
- erőforráscsoportok a felügyeleti csoportban
- az erőforráscsoport bérlője
A bővítményerőforrás hatóköre az üzembehelyezési céltól eltérő célra terjedhet ki.
A sablont üzembe helyező felhasználónak hozzáféréssel kell rendelkeznie a megadott hatókörhöz.
Hatókör a felügyeleti csoporthoz
Ha erőforrásokat szeretne üzembe helyezni a célfelügyeleti csoportban, adja hozzá ezeket az erőforrásokat a resource
kulcsszóval.
targetScope = 'managementGroup'
// policy definition created in the management group
resource policyDefinition 'Microsoft.Authorization/policyDefinitions@2023-04-01' = {
...
}
Egy másik felügyeleti csoport megcélzásához adjon hozzá egy modult. A tulajdonság beállításához használja a managementGroup függvénytscope
. Adja meg a felügyeleti csoport nevét.
targetScope = 'managementGroup'
param otherManagementGroupName string
// module deployed at management group level but in a different management group
module exampleModule 'module.bicep' = {
name: 'deployToDifferentMG'
scope: managementGroup(otherManagementGroupName)
}
Hatókör az előfizetéshez
A felügyeleti csoporton belüli előfizetéseket is megcélzhatja. A sablont üzembe helyező felhasználónak hozzáféréssel kell rendelkeznie a megadott hatókörhöz.
A felügyeleti csoporton belüli előfizetések megcélzásához adjon hozzá egy modult. A tulajdonság beállításához használja az előfizetési függvénytscope
. Adja meg az előfizetés azonosítóját.
targetScope = 'managementGroup'
param subscriptionID string
// module deployed to subscription in the management group
module exampleModule 'module.bicep' = {
name: 'deployToSub'
scope: subscription(subscriptionID)
}
Hatókör az erőforráscsoporthoz
A felügyeleti csoporton belül is megcélozhat erőforráscsoportokat. A sablont üzembe helyező felhasználónak hozzáféréssel kell rendelkeznie a megadott hatókörhöz.
Ha egy erőforráscsoportot meg szeretne célozni a felügyeleti csoportban, adjon hozzá egy modult. A tulajdonság beállításához használja a resourceGroup függvénytscope
. Adja meg az előfizetés azonosítóját és az erőforráscsoport nevét.
targetScope = 'managementGroup'
param subscriptionID string
param resourceGroupName string
// module deployed to resource group in the management group
module exampleModule 'module.bicep' = {
name: 'deployToRG'
scope: resourceGroup(subscriptionID, resourceGroupName)
}
Hatókör a bérlőhöz
Ha erőforrásokat szeretne létrehozni a bérlőben, adjon hozzá egy modult. A bérlői függvény használatával állítsa be a tulajdonságátscope
. A sablont üzembe helyező felhasználónak rendelkeznie kell a bérlőn való üzembe helyezéshez szükséges hozzáféréssel.
targetScope = 'managementGroup'
// module deployed at tenant level
module exampleModule 'module.bicep' = {
name: 'deployToTenant'
scope: tenant()
}
Vagy beállíthatja a hatókört /
bizonyos erőforrástípusokra, például felügyeleti csoportokra. Az új felügyeleti csoport létrehozását a következő szakaszban ismertetjük.
Felügyeleti csoport
Ha felügyeleti csoportot szeretne létrehozni egy felügyeleti csoport üzemelő példányában, a hatókört a bérlőre kell beállítania.
Az alábbi példa létrehoz egy új felügyeleti csoportot a gyökérszintű felügyeleti csoportban.
targetScope = 'managementGroup'
param mgName string = 'mg-${uniqueString(newGuid())}'
resource newMG 'Microsoft.Management/managementGroups@2023-04-01' = {
scope: tenant()
name: mgName
properties: {}
}
output newManagementGroup string = mgName
A következő példa létrehoz egy új felügyeleti csoportot az üzembe helyezésre megcélzott felügyeleti csoportban. A felügyeleti csoport függvényt használja.
targetScope = 'managementGroup'
param mgName string = 'mg-${uniqueString(newGuid())}'
resource newMG 'Microsoft.Management/managementGroups@2023-04-01' = {
scope: tenant()
name: mgName
properties: {
details: {
parent: {
id: managementGroup().id
}
}
}
}
output newManagementGroup string = mgName
Előfizetések
Ha ARM-sablont szeretne használni egy új Azure-előfizetés létrehozásához egy felügyeleti csoportban, tekintse meg a következőt:
- Azure Nagyvállalati Szerződés-előfizetések programozott létrehozása
- Azure-előfizetések programozott létrehozása egy Microsoft Ügyfélszerződés
- Azure-előfizetések programozott létrehozása egy Microsoft Partnerszerződés
Ha egy meglévő Azure-előfizetést új felügyeleti csoportba áthelyező sablont szeretne üzembe helyezni, olvassa el az ELŐFIZETÉSek áthelyezése ARM-sablonban című témakört .
Azure Policy
A felügyeleti csoportban üzembe helyezett egyéni szabályzatdefiníciók a felügyeleti csoport bővítményei. Az egyéni szabályzatdefiníció azonosítójának lekéréséhez használja a extensionResourceId() függvényt. A beépített szabályzatdefiníciók bérlőszintű erőforrások. Egy beépített szabályzatdefiníció azonosítójának lekéréséhez használja a tenantResourceId() függvényt.
Az alábbi példa bemutatja, hogyan definiálhat egy szabályzatot a felügyeleti csoport szintjén, és hogyan rendelheti hozzá.
targetScope = 'managementGroup'
@description('An array of the allowed locations, all other locations will be denied by the created policy.')
param allowedLocations array = [
'australiaeast'
'australiasoutheast'
'australiacentral'
]
resource policyDefinition 'Microsoft.Authorization/policyDefinitions@2023-04-01' = {
name: 'locationRestriction'
properties: {
policyType: 'Custom'
mode: 'All'
parameters: {}
policyRule: {
if: {
not: {
field: 'location'
in: allowedLocations
}
}
then: {
effect: 'deny'
}
}
}
}
resource policyAssignment 'Microsoft.Authorization/policyAssignments@2024-04-01' = {
name: 'locationAssignment'
properties: {
policyDefinitionId: policyDefinition.id
}
}
Következő lépések
Az egyéb hatókörökről az alábbiakban olvashat: