Partager via


Démarrage rapide : Créer et déployer votre premier fichier Bicep avec des ressources Microsoft Graph

Dans ce guide de démarrage rapide, vous créez un fichier Bicep qui déclare un groupe de sécurité Microsoft Entra et une identité de service managé (MSI), représentant respectivement une ressource Microsoft Graph et une ressource Azure. Vous ajoutez ensuite la MSI en tant que propriétaire du groupe. Vous allez également découvrir comment l’extension Bicep simplifie le développement en fournissant une cohérence des types, la validation de syntaxe et l’autocomplétion. Enfin, vous déployez le fichier Bicep à l’aide d’un utilisateur connecté.

Important

Cet article de démarrage rapide utilise des références de types dynamiques au lieu de types intégrés qui sont déconseillés et seront supprimés le 24 janvier 2025. Jusqu’à la date de mise hors service, les types intégrés, indiqués par extension microsoftGraph, coexistent avec les nouveaux types dynamiques. Si l’un de vos fichiers Bicep existants utilise des types intégrés, basculez vers l’utilisation de types dynamiques pour éviter les futurs problèmes de déploiement de fichiers Bicep.

Important

Microsoft Graph Bicep est actuellement en préversion. Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.

Prérequis

Ajouter un groupe d’applications Microsoft Graph

Lancez VS Code et créez deux nouveaux fichiers, main.bicep et bicepconfig.json dans le même dossier.

Ensuite, pour pouvoir déclarer des ressources Microsoft Graph dans un fichier Bicep, vous devez activer la fonctionnalité d’aperçu Bicep et spécifier les versions de type Microsoft Graph Bicep en configurant bicepconfig.json.

Cet exemple utilise les ressources v1.0 et déclare un nom d’extension convivial « microsoftGraphV1 » pour référencer la br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:0.1.8-preview version de type dans le Registre des artefacts Microsoft.

{
    "experimentalFeaturesEnabled": {
        "extensibility": true
    },
    // specify an alias for the version of the v1.0 dynamic types package you want to use
    "extensions": {
      "microsoftGraphV1": "br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:0.1.8-preview"
    }
}

Vous pouvez également déclarer des ressources Microsoft Graph à partir de la version bêta et v1.0 dans le même fichier Bicep en ajoutant une autre référence à une version de type bêta à partir du Registre des artefacts Microsoft.

Dans main.bicep, tapez extension microsoftGraphV1, où microsoftGraphV1 est votre nom convivial pour référencer le package de types dynamiques dans le Registre des artefacts Microsoft. L’instruction extension permet au compilateur Bicep de savoir que vous incluez les types Microsoft Graph que vous avez définis dans bicepconfig.json. Sur la ligne suivante, définissez une ressource à l’aide du resource mot clé. Tapez resource exampleGroup et ajoutez un espace.

extension microsoftGraphV1

resource exampleGroup

Lorsque vous ajoutez un espace après le nom symbolique, une liste de types de ressources s’affiche. Continuez à taper le groupe jusqu’à ce que vous puissiez sélectionner Microsoft.Graph/Groups dans les options disponibles.

Capture d’écran de la sélection de groupes Microsoft Graph pour le type de ressource.

Conseil

Si vous ne voyez pas les options IntelliSense dans VS Code, vérifiez que vous avez installé l’extension Bicep comme spécifié dans Les conditions préalables. Si vous avez installé l’extension, laissez au service de langage Bicep un peu de temps pour démarrer après l’ouverture de votre fichier Bicep. Une notification dans le coin inférieur droit indique que le service est en cours de démarrage. Lorsque cette notification disparaît, le service est en cours d’exécution.

Après avoir sélectionné Microsoft.Graph/Groups, vous êtes présenté avec les versions d’API disponibles - bêta ou v1.0. Sélectionnez toujours v1.0, sauf s’il n’est pas disponible ou si les propriétés de ressource dont vous avez besoin sont disponibles uniquement en version bêta. Pour ce guide de démarrage rapide, utilisez la version 1.0.

Capture d’écran de la sélection de la version API pour le type de ressource.

Après le guillemet simple pour le type de ressource, ajoutez = et un espace. Les options permettant d’ajouter des propriétés à la ressource s’affichent. Sélectionnez required-properties.

Capture d'écran de l'ajout des propriétés requises.

Cette option ajoute toutes les propriétés correspondant au type de ressource requis pour le déploiement. Après avoir sélectionné cette option, votre groupe a les propriétés suivantes :

resource exampleGroup 'Microsoft.Graph/groups@v1.0' = {
  displayName: 
  mailEnabled: 
  mailNickname: 
  securityEnabled: 
  uniqueName: 
}

Fournissez des valeurs pour ces propriétés, en définissant mailEnabled sur false et securityEnabled true sur . uniqueName représente une clé fournie par le client immuable pour cette ressource de groupe.

Ajouter une ressource d’identité managée

VS Code avec l’extension Bicep simplifie le développement en fournissant des extraits de code prédéfinis, tels qu’un extrait de code qui crée une identité managée. Dans main.bicep, tapez l’homme, puis sélectionnez res-managed-identity dans la liste, puis appuyez sur [TAB] ou [ENTRÉE].

Capture d’écran de l’ajout d’un extrait de code de ressource.

Remarque : Les extraits de ressource pour les ressources extensibles , comme les ressources Microsoft Graph, ne sont actuellement pas pris en charge.

Votre fichier Bicep contient maintenant le code suivant :

resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2018-11-30' = {
  name: 'name'
  location: location
}

Vous pouvez corriger l’erreur de définition de paramètre manquante en ajoutant une définition de paramètre pour location. Sous la définition d’extension, ajoutez param location string = resourceGroup().location. Pour plus d’informations sur la fonction utilisée ici, consultez resourceGroup(). Remplacez le nom de l’identité managée par name exampleManagedIdentity.

Rendre l’identité managée propriétaire de la ressource de groupe

Dans la exampleGroup ressource, créez une ligne sous uniqueName, tapez ow, qui affiche les propriétaires comme seule option de propriété correspondante, puis appuyez sur [TAB] ou [ENTRÉE].

Capture d’écran de l’ajout d’une propriété propriétaires.

La propriété propriétaires est un tableau. [] Ajoutez et référencez maintenant l’ID principal de l’identité managée à l’aide d’IntelliSense, en tapant m et en sélectionnant managedIdentity (le nom symbolique de l’identité managée), en tapant des propriétés . et en sélectionnant un autre principalId.

Capture d’écran du référencement de l’identité managée.

Votre fichier main.bicep doit maintenant ressembler à ceci :

extension microsoftGraphV1

param location string = resourceGroup().location

resource exampleGroup 'Microsoft.Graph/groups@v1.0' = {
  displayName: 'My example group'
  mailEnabled: false
  mailNickname: 'my-example-group'
  securityEnabled: true
  uniqueName: 'myExampleGroup'
  owners: [managedIdentity.properties.principalId]
}

resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2018-11-30' = {
  name: 'exampleManagedIdentity'
  location: location
}

Déployer le fichier Bicep à l’aide d’un utilisateur connecté

Déployez le fichier Bicep en vous connectant à Azure CLI ou à Azure PowerShell à l’aide des exemples suivants. Les exemples Azure CLI de cette documentation utilisent la console Bash.

## Sign in to Azure CLI
az login

## Create a resource group
az group create --name exampleRG --location eastus

## Deploy the Bicep file
az deployment group create --resource-group exampleRG --template-file main.bicep

Une fois le déploiement terminé, un message doit s’afficher pour indiquer que le déploiement a réussi.

Remarque

En raison des retards de réplication, l’ajout de l’identité de service managé (MSI) en tant que propriétaire du groupe Microsoft Entra peut entraîner l’échec du déploiement. Attendez un peu, puis déployez à nouveau le même fichier Bicep.

Nettoyer les ressources

Lorsque les ressources Azure ne sont plus nécessaires, utilisez Azure CLI ou le module Azure PowerShell afin de supprimer le groupe de ressources qui a été utilisé pour ce guide de démarrage rapide.

Remarque

Les groupes de ressources sont un concept Azure et n’ont aucun impact sur les ressources Microsoft Graph. Les ressources Microsoft Graph doivent être nettoyées avec une demande supplémentaire adressée à Microsoft Graph. Pour cela, vous pouvez utiliser Azure CLI ou Azure PowerShell, Microsoft Graph CLI ou Microsoft Graph PowerShell.

Les exemples suivants montrent des commandes pour supprimer la ressource Azure, puis la ressource Microsoft Graph à l’aide d’Azure CLI et d’Azure PowerShell.

## Delete the resource group
az group delete --name exampleRG

## Delete the Microsoft Graph group
az rest --method delete --url 'https://graph.microsoft.com/v1.0/groups%28uniqueName=%27myExampleGroup%27%29'

Étape suivante