Définir des ressources d’extension
Les ressources d’extension sont toujours jointes à d’autres ressources Azure. Elles étendent le comportement de ces ressources en ajoutant des fonctionnalités supplémentaires.
Voici quelques exemples de ressources d’extension courantes :
Nom | Type de ressource |
---|---|
Attributions de rôles | Microsoft.Authorization/roleAssignments |
Attributions de stratégies | Microsoft.Authorization/policyAssignments |
Verrous | Microsoft.Authorization/locks |
Paramètres de diagnostic | Microsoft.Insights/diagnosticSettings |
Par exemple, imaginez un verrou qui peut être utilisé pour empêcher la suppression ou la modification d’une ressource Azure. Il n’est pas judicieux de déployer un verrou seul. Celui-ci doit toujours être déployé sur une autre ressource.
Notes
Les commandes de cette unité sont présentées pour illustrer les concepts. N’exécutez pas encore les commandes. Vous allez bientôt mettre en pratique ce que vous apprenez ici.
Comment les ressources d’extension sont-elles définies ?
Dans Bicep, vous définissez principalement une ressource d’extension de la même façon que vous définissez une ressource normale. Toutefois, vous ajoutez la scope
propriété pour informer Bicep que la ressource doit être attachée à une autre ressource définie ailleurs dans le fichier Bicep. Vous utilisez le nom symbolique de la ressource pour y faire référence. Par exemple, voici la définition d’un compte Azure Cosmos DB que vous avez créé précédemment :
resource cosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2024-05-15' = {
name: cosmosDBAccountName
location: location
properties: {
// ...
}
}
Vous pouvez ajouter un verrou de ressource, ce qui empêche toute personne de supprimer le compte Azure Cosmos DB :
resource lockResource 'Microsoft.Authorization/locks@2020-05-01' = {
scope: cosmosDBAccount
name: 'DontDelete'
properties: {
level: 'CanNotDelete'
notes: 'Prevents deletion of the toy data Cosmos DB account.'
}
}
Notez que l’exemple utilise la propriété scope
avec le nom symbolique du compte Azure Cosmos DB. Ce paramètre de propriété informe Bicep de déployer le verrou de ressource sur le compte Azure Cosmos DB, afin que le compte ne puisse plus être supprimé.
ID de ressource d’extension
Un ID pour une ressource d’extension est légèrement différent des ID d’autres ressources. Il se compose de l’ID de ressource parent, du séparateur /providers/
et de l’ID de ressource d’extension.
Supposons que vous avez déployé le compte Azure Cosmos DB mentionné précédemment et que le compte a été nommé toyrnd
. Voici à quoi ressemble l’ID de ressource du verrou :
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ToyDevelopment/providers/Microsoft.DocumentDB/databaseAccounts/toyrnd/providers/Microsoft.Authorization/locks/DontDelete
Voici une représentation visuelle :
Si vous voyez un ID de ressource qui commence par un ID de ressource normal, puis inclut /providers/
et un autre type de ressource et un autre nom, vous examinez un ID de ressource d’extension.