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ény erőforrástípusa.
A bővítmény típusú erőforrástípusok teljes listáját lásd: Más erőforrások képességeit kiterjesztő erőforrástípusok.
Ez a cikk bemutatja, hogyan állíthatja be a bővítmény erőforrástípusának hatókörét egy Azure Resource Manager-sablonnal (ARM-sablonnal) való üzembe helyezéskor. Ez a cikk azt a hatókörtulajdonságot ismerteti, amely a bővítményerőforrásokhoz érhető el egy erőforrásra való alkalmazáskor.
Megjegyzés
A scope tulajdonság csak bővítmény típusú erőforrástípusokhoz é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ó: Erőforráscsoportok üzembe helyezései, előfizetések központi telepítései, felügyeleti csoportok üzembe helyezései és bérlői telepítések.
Alkalmazás üzembe helyezési hatókörben
Ha bővítményerőforrás-típust szeretne alkalmazni a cél üzembehelyezési hatókörben, adja hozzá az erőforrást a sablonhoz, ahogyan 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."
}
}
]
}
Egy erőforráscsoportban való üzembe helyezéskor 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 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 scope tulajdonságot annak az erőforrásnak a nevére, amelyhez a bővítményt hozzáadja. A scope tulajdonsá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 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
- A paraméterek sablonban való definiálásának megismeréséhez lásd : Az ARM-sablonok szerkezetének és szintaxisának ismertetése.
- A gyakori üzembehelyezési hibák elhárításával kapcsolatos tippekért lásd: Gyakori Azure-beli üzembehelyezési hibák elhárítása az Azure Resource Manager.
- Az SAS-jogkivonatot igénylő sablonok üzembe helyezésével kapcsolatos információkért lásd: Privát ARM-sablon üzembe helyezése SAS-jogkivonattal.