Megosztás a következőn keresztül:


Bővítményerőforrások hatókörének beállítása ARM-sablonokban

A bővítményerőforrás egy másik erőforrást módosító erőforrás. Hozzárendelhet például egy szerepkört egy erőforráshoz. A szerepkör-hozzárendelés egy bővítményerőforrás-típus.

A bővítmény típusú erőforrástípusok teljes listájáért tekintse meg az egyéb erőforrások képességeit bővítő erőforrástípusokat.

Ez a cikk bemutatja, hogyan állíthatja be a bővítményerőforrás-típus hatókörét egy Azure Resource Manager-sablonnal (ARM-sablonnal) való üzembe helyezéskor. Az erőforrásra való alkalmazáskor elérhető hatókörtulajdonságot ismerteti.

Feljegyzés

A hatókör tulajdonság csak az erőforrástípusok bővítményéhez érhető el. Ha más hatókört szeretne megadni egy olyan erőforrástípushoz, amely nem bővítménytípus, használjon beágyazott vagy csatolt üzembe helyezést. További információkért tekintse meg az erőforráscsoportok üzembe helyezését, az előfizetések üzembe helyezését, a felügyeleti csoportok üzembe helyezését és a bérlőtelepítéseket.

Alkalmazás üzembe helyezési hatókörben

Ha bővítményerőforrás-típust szeretne alkalmazni a céltelepítési hatókörben, az erőforrást hozzá kell adnia a sablonhoz, akárcsak bármely erőforrástípus esetében. Az elérhető hatókörök az erőforráscsoport, az előfizetés, a felügyeleti csoport és a bérlő. Az üzembehelyezési hatókörnek támogatnia kell az erőforrástípust.

Az alábbi sablon egy zárolást helyez üzembe.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
  },
  "resources": [
    {
      "type": "Microsoft.Authorization/locks",
      "apiVersion": "2016-09-01",
      "name": "rgLock",
      "properties": {
        "level": "CanNotDelete",
        "notes": "Resource Group should not be deleted."
      }
    }
  ]
}

Amikor egy erőforráscsoportban van üzembe helyezve, zárolja az erőforráscsoportot.

az deployment group create \
  --resource-group ExampleGroup \
  --template-uri "https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/scope/locktargetscope.json"

A következő példa egy szerepkört rendel hozzá.

{
  "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
  "contentVersion": "1.0.0.1",
  "parameters": {
    "principalId": {
      "type": "string",
      "metadata": {
        "description": "The principal to assign the role to"
      }
    },
    "builtInRoleType": {
      "type": "string",
      "allowedValues": [
        "Owner",
        "Contributor",
        "Reader"
      ],
      "metadata": {
        "description": "Built-in role to assign"
      }
    },
    "roleNameGuid": {
      "type": "string",
      "metadata": {
        "description": "The role assignment name"
      }
    }
  },
  "variables": {
    "Owner": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]",
    "Contributor": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]",
    "Reader": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'acdd72a7-3385-48ef-bd42-f606fba81ae7')]"
  },
  "resources": [
    {
      "type": "Microsoft.Authorization/roleAssignments",
      "apiVersion": "2020-10-01-preview",
      "name": "[parameters('roleNameGuid')]",
      "properties": {
        "roleDefinitionId": "[variables(parameters('builtInRoleType'))]",
        "principalId": "[parameters('principalId')]"
      }
    }
  ],
  "outputs": {}
}

Az előfizetésben való üzembe helyezéskor hozzárendeli a szerepkört az előfizetéshez.

az deployment sub create \
  --name demoSubDeployment \
  --location centralus \
  --template-uri "https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/scope/roletargetscope.json"

Alkalmazás az erőforrásra

Ha bővítményerőforrást szeretne alkalmazni egy erőforrásra, használja a tulajdonságot scope . Állítsa a hatókör tulajdonságot annak az erőforrásnak a nevére, amelybe a bővítményt hozzáadja. A hatókörtulajdonság a bővítmény erőforrástípusának gyökértulajdonsága.

Az alábbi példa létrehoz egy tárfiókot, és egy szerepkört alkalmaz rá.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "principalId": {
      "type": "string",
      "metadata": {
        "description": "The principal to assign the role to"
      }
    },
    "builtInRoleType": {
      "type": "string",
      "allowedValues": [
        "Owner",
        "Contributor",
        "Reader"
      ],
      "metadata": {
        "description": "Built-in role to assign"
      }
    },
    "roleNameGuid": {
      "type": "string",
      "defaultValue": "[newGuid()]",
      "metadata": {
        "description": "A new GUID used to identify the role assignment"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "variables": {
    "Owner": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]",
    "Contributor": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]",
    "Reader": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'acdd72a7-3385-48ef-bd42-f606fba81ae7')]",
    "storageName": "[concat('storage', uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-04-01",
      "name": "[variables('storageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "Storage",
      "properties": {}
    },
    {
      "type": "Microsoft.Authorization/roleAssignments",
      "apiVersion": "2020-10-01-preview",
      "name": "[parameters('roleNameGuid')]",
      "scope": "[concat('Microsoft.Storage/storageAccounts', '/', variables('storageName'))]",
      "dependsOn": [
        "[variables('storageName')]"
      ],
      "properties": {
        "roleDefinitionId": "[variables(parameters('builtInRoleType'))]",
        "principalId": "[parameters('principalId')]"
      }
    }
  ]
}

A resourceGroup és az előfizetés tulajdonságai csak beágyazott vagy csatolt üzemelő példányokon engedélyezettek. Ezek a tulajdonságok nem engedélyezettek az egyes erőforrásokon. Beágyazott vagy csatolt üzemelő példányokat akkor használjon, ha egy olyan bővítményerőforrást szeretne üzembe helyezni, amelynek hatóköre egy másik erőforráscsoportban lévő erőforrásra van beállítva.

Következő lépések

  • Ha szeretné megtudni, hogyan definiálhat paramétereket a sablonban, olvassa el az ARM-sablonok szerkezetének és szintaxisának ismertetése című témakört.
  • A gyakori üzembehelyezési hibák elhárításával kapcsolatos tippekért tekintse meg az Azure Resource Managerrel kapcsolatos gyakori Azure-telepítési hibák hibaelhárítását.
  • Az SAS-jogkivonatot igénylő sablon üzembe helyezésével kapcsolatos információkért lásd : Privát ARM-sablon üzembe helyezése SAS-jogkivonattal.