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áé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ény erőforrástípusának hatókörét egy Azure Resource Manager-sablonnal (ARM-sablonnal) való üzembe helyezéskor. Az erőforrásra való alkalmazáskor a bővítményerőforrásokhoz elérhető hatókörtulajdonságot ismerteti.
Megjegyzés
A hatókör tulajdonság csak bővítmény típusú erőforrásokhoz é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ény típusú erőforrást 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áscsoportba 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 hatókör tulajdonságot annak az erőforrásnak a nevére, amelybe a bővítményt hozzáadja. A hatókör 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 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 tekintse meg az ARM-sablonok szerkezetét és szintaxisát.
- A gyakori üzembehelyezési hibák elhárításával kapcsolatos tippekért tekintse meg az Azure-beli üzembe helyezés gyakori hibáinak elhárítását az Azure Resource Manager.
- 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.