Bérlőtelepítések ARM-sablonokkal

A szervezet érettségével előfordulhat, hogy szabályzatokat vagy Azure-szerepköralapú hozzáférés-vezérlést (Azure RBAC) kell meghatároznia és hozzárendelnie a Microsoft Entra-bérlőn. Bérlői szintű sablonokkal deklaratívan alkalmazhat házirendeket, és globális szinten rendelhet hozzá szerepköröket.

Tipp.

A Bicep használatát javasoljuk, mert ugyanazokkal a képességekkel rendelkezik, mint az ARM-sablonok, és a szintaxis használata egyszerűbb. További információkért tekintse meg a bérlői üzembe helyezéseket.

Supported resources

Nem minden erőforrástípus helyezhető üzembe bérlői szinten. Ez a szakasz felsorolja, hogy mely erőforrástípusok támogatottak.

Azure szerepköralapú hozzáférés-vezérlés (Azure RBAC) esetén használja a következőt:

Felügyeleti csoportokban, előfizetésekben vagy erőforráscsoportokban üzembe helyező beágyazott sablonok esetén használja a következőt:

Felügyeleti csoportok létrehozásához használja a következőt:

Előfizetések létrehozásához használja a következőt:

A költségek kezeléséhez használja a következőt:

A portál konfigurálásához használja a következőt:

A beépített szabályzatdefiníciók bérlőszintű erőforrások, de egyéni szabályzatdefiníciók nem helyezhetők üzembe a bérlőben. Egy beépített szabályzatdefiníció erőforráshoz való hozzárendeléséről lásd a tenantResourceId példát.

Schema

A bérlőtelepítésekhez használt séma eltér az erőforráscsoport-üzemelő példányok sémáitól.

Sablonok esetén használja a következőt:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
  ...
}

A paraméterfájl sémája minden üzembe helyezési hatókör esetében megegyezik. Paraméterfájlok esetén használja a következőt:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  ...
}

Szükséges hozzáférés

A sablont üzembe helyező egyszerű felhasználónak engedéllyel kell rendelkeznie az erőforrások bérlői hatókörben való létrehozásához. Az egyszerű felhasználónak engedéllyel kell rendelkeznie az üzembehelyezési műveletek végrehajtásához (Microsoft.Resources/deployments/*) és a sablonban definiált erőforrások létrehozásához. Felügyeleti csoport létrehozásához például az egyszerű felhasználónak közreműködői engedéllyel kell rendelkeznie a bérlő hatókörében. Szerepkör-hozzárendelések létrehozásához az egyszerű felhasználónak tulajdonosi engedéllyel kell rendelkeznie.

A Microsoft Entra-azonosító globális Rendszergazda istratorának nincs automatikus engedélye szerepkörök hozzárendelésére. A sablontelepítések bérlői hatókörben való engedélyezéséhez a globális Rendszergazda istratornak a következő lépéseket kell végrehajtania:

  1. Emelje a fiókhozzáférést, hogy a globális Rendszergazda istrator szerepköröket rendelhessen hozzá. További információért tekintse meg a Hozzáférési jogosultságszint emelése az összes Azure-előfizetés és felügyeleti csoport kezeléséhez szakaszt.

  2. Tulajdonos vagy közreműködő hozzárendelése a sablonok üzembe helyezéséhez szükséges taghoz.

    New-AzRoleAssignment -SignInName "[userId]" -Scope "/" -RoleDefinitionName "Owner"
    
    az role assignment create --assignee "[userId]" --scope "/" --role "Owner"
    

Az egyszerű felhasználó most már rendelkezik a sablon üzembe helyezéséhez szükséges engedélyekkel.

Üzembehelyezési parancsok

A bérlőtelepítések parancsai eltérnek az erőforráscsoport-üzemelő példányok parancsaitól.

Az Azure CLI-hez használja az az deployment tenant create (Üzembe helyezési bérlő létrehozása) lehetőséget:

az deployment tenant create \
  --name demoTenantDeployment \
  --location WestUS \
  --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/tenant-deployments/new-mg/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:

Üzembe helyezés helye és neve

Bérlői szintű üzemelő példányok esetén 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ési és felügyeleti csoportok ü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. Az azuredeploy.json nevű sablon üzembe helyezése például létrehozza az azuredeploy 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 bérlői ü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 InvalidDeploymentLocationkapja, használjon másik nevet, vagy ugyanazt a helyet, mint az előző üzembe helyezés.

Üzembehelyezési hatókörök

Bérlőn való üzembe helyezéskor az erőforrásokat a következő célokra helyezheti üzembe:

  • a bérlő
  • felügyeleti csoportok a bérlőn belül
  • előfizetések
  • erőforráscsoportok

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.

Ez a szakasz bemutatja, hogyan adhat meg különböző hatóköröket. Ezeket a különböző hatóköröket egyetlen sablonban kombinálhatja.

Hatókör a bérlőhöz

A sablon erőforrások szakaszában definiált erőforrások a bérlőre lesznek alkalmazva.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    tenant-resources
  ],
  "outputs": {}
}

Hatókör a felügyeleti csoporthoz

Ha meg szeretne célozni egy felügyeleti csoportot a bérlőn belül, adjon hozzá egy beágyazott üzembe helyezést, és adja meg a tulajdonságot scope .

{
  "$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "mgName": {
      "type": "string"
    }
  },
  "variables": {
    "mgId": "[concat('Microsoft.Management/managementGroups/', parameters('mgName'))]"
  },
  "resources": [
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2022-09-01",
      "name": "nestedMG",
      "scope": "[variables('mgId')]",
      "location": "eastus",
      "properties": {
        "mode": "Incremental",
        "template": {
          management-group-resources
        }
      }
    }
  ],
  "outputs": {}
}

Hatókör az előfizetéshez

A bérlőn belül is megcélozhat előfizetéseket. A sablont üzembe helyező felhasználónak hozzáféréssel kell rendelkeznie a megadott hatókörhöz.

A bérlőn belüli előfizetések megcélzásához használjon beágyazott üzembe helyezést és a tulajdonságot subscriptionId .

{
  "$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2021-04-01",
      "name": "nestedSub",
      "location": "westus2",
      "subscriptionId": "00000000-0000-0000-0000-000000000000",
      "properties": {
        "mode": "Incremental",
        "template": {
          "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
          "contentVersion": "1.0.0.0",
          "resources": [
            {
              subscription-resources
            }
          ]
        }
      }
    }
  ]
}

Hatókör az erőforráscsoporthoz

A bérlőn 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.

A bérlőn belüli erőforráscsoport megcélzásához használjon beágyazott üzembe helyezést. Adja meg a tulajdonságokat és resourceGroup a subscriptionId tulajdonságokat. Ne állítson be helyet a beágyazott üzembe helyezéshez, mert az az erőforráscsoport helyén van üzembe helyezve.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2021-04-01",
      "name": "nestedRGDeploy",
      "subscriptionId": "00000000-0000-0000-0000-000000000000",
      "resourceGroup": "demoResourceGroup",
      "properties": {
        "mode": "Incremental",
        "template": {
          "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
          "contentVersion": "1.0.0.0",
          "resources": [
            {
              resource-group-resources
            }
          ]
        }
      }
    }
  ]
}

Felügyeleti csoport létrehozása

Az alábbi sablon létrehoz egy felügyeleti csoportot.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "mgName": {
        "type": "string",
        "defaultValue": "[concat('mg-', uniqueString(newGuid()))]"
      }
    },
    "resources": [
      {
        "type": "Microsoft.Management/managementGroups",
        "apiVersion": "2020-02-01",
        "name": "[parameters('mgName')]",
        "properties": {
        }
      }
    ]
  }

Ha a fiókja nem rendelkezik engedéllyel a bérlőn való üzembe helyezéshez, akkor is létrehozhat felügyeleti csoportokat egy másik hatókörbe való üzembe helyezéssel. További információ: Felügyeleti csoport.

Szerepkör hozzárendelése

Az alábbi sablon hozzárendel egy szerepkört a bérlői hatókörhöz.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.5.6.12127",
      "templateHash": "17107802581699825924"
    }
  },
  "parameters": {
    "principalId": {
      "type": "string",
      "metadata": {
        "description": "principalId if the user that will be given contributor access to the tenant"
      }
    },
    "roleDefinitionId": {
      "type": "string",
      "defaultValue": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
      "metadata": {
        "description": "roleDefinition for the assignment - default is owner"
      }
    }
  },
  "variables": {
    "roleAssignmentName": "[guid('/', parameters('principalId'), parameters('roleDefinitionId'))]"
  },
  "resources": [
    {
      "type": "Microsoft.Authorization/roleAssignments",
      "apiVersion": "2020-03-01-preview",
      "name": "[variables('roleAssignmentName')]",
      "properties": {
        "roleDefinitionId": "[tenantResourceId('Microsoft.Authorization/roleDefinitions', parameters('roleDefinitionId'))]",
        "principalId": "[parameters('principalId')]"
      }
    }
  ]
}

Következő lépések