Delen via


Quickstart: Uw eerste Bicep-bestand maken en implementeren met Microsoft Graph-resources

In deze quickstart maakt u een Bicep-bestand dat een Microsoft Entra-beveiligingsgroep en een beheerde service-identiteit (MSI) declareert, die respectievelijk een Microsoft Graph-resource en een Azure-resource vertegenwoordigt. Vervolgens voegt u de MSI toe als eigenaar van de groep. U leert ook hoe de Bicep-extensie de ontwikkeling vereenvoudigt door typeveiligheid, syntaxisvalidatie en automatisch aanvullen te bieden. Ten slotte implementeert u het Bicep-bestand met behulp van een aangemelde gebruiker.

Belangrijk

In dit quickstart-artikel worden dynamische typeverwijzingen gebruikt in plaats van ingebouwde typen die zijn afgeschaft en die op 24 januari 2025 buiten gebruik worden gesteld. Tot de buitengebruikstellingsdatum, ingebouwde typen, aangeduid door extension microsoftGraph, zullen naast de nieuwe dynamische typen worden gebruikt. Als een van uw bestaande Bicep-bestanden ingebouwde typen gebruikt, schakelt u over naar dynamische typen om toekomstige problemen met bicep-bestandsimplementatie te voorkomen.

Belangrijk

Microsoft Graph Bicep is momenteel in PREVIEW. Raadpleeg de Aanvullende voorwaarden voor Microsoft Azure-previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.

Vereisten

Een Microsoft Graph-toepassingsgroep toevoegen

Start VS Code en maak twee nieuwe bestanden, main.bicep en bicepconfig.json in dezelfde map.

Als u vervolgens Microsoft Graph-resources in een Bicep-bestand wilt kunnen declareren, moet u de functie Bicep Preview inschakelen en de microsoft Graph Bicep-typeversies opgeven door bicepconfig.json te configureren.

In dit voorbeeld worden de v1.0-resources gebruikt en wordt een gebruiksvriendelijke extensienaam 'microsoftGraphV1_0' opgegeven om te verwijzen naar de br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:0.1.8-preview typeversie in de Microsoft-artefactregister.

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

U kunt microsoft Graph-resources ook declareren vanuit bèta en v1.0 in hetzelfde Bicep-bestand door een andere verwijzing toe te voegen naar een bètaversie van het Microsoft-artefactregister.

Typ in main.bicep, extension microsoftGraphV1_0waar microsoftGraphV1_0 is uw gebruiksvriendelijke naam voor het verwijzen naar het pakket met dynamische typen in de Microsoft-artefactregister. De extension instructie laat de Bicep-compiler weten dat u de Microsoft Graph-typen die u hebt gedefinieerd in bicepconfig.json op te nemen. Definieer op de volgende regel een resource met behulp van het resource trefwoord. Typ resource exampleGroup en voeg een spatie toe.

extension microsoftGraphV1_0

resource exampleGroup

Wanneer u een spatie achter de symbolische naam toevoegt, wordt er een lijst met resourcetypen weergegeven. Ga door met het typen van een groep totdat u Microsoft.Graph/Groups kunt selecteren in de beschikbare opties.

Schermopname van het selecteren van Microsoft Graph-groepen voor resourcetype.

Tip

Als u de intelliSense-opties in VS Code niet ziet, controleert u of u de Bicep-extensie hebt geïnstalleerd zoals opgegeven in Vereisten. Als u de extensie hebt geïnstalleerd, geeft u de Bicep-taalservice enige tijd om te beginnen na het openen van uw Bicep-bestand. Een melding in de rechterbenedenhoek geeft aan dat de service wordt gestart. Wanneer deze melding verdwijnt, wordt de service uitgevoerd.

Nadat u Microsoft.Graph/Groups hebt geselecteerd, ziet u de beschikbare API-versies - bèta of v1.0. Selecteer altijd v1.0, tenzij deze niet beschikbaar is of de resource-eigenschappen die u nodig hebt, alleen beschikbaar zijn in de bètaversie. Voor deze quickstart gebruikt u v1.0.

Schermopname van de api-versie voor het resourcetype selecteren.

Voeg na de enkele aanhalingsteken voor het resourcetype een spatie toe = . U krijgt opties te zien voor het toevoegen van eigenschappen aan de resource. Selecteer vereiste eigenschappen.

Schermopname van het toevoegen van vereiste eigenschappen.

Met deze optie worden alle eigenschappen toegevoegd voor het resourcetype dat vereist is voor implementatie. Nadat u deze optie hebt geselecteerd, heeft uw groep de volgende eigenschappen:

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

Geef waarden op voor deze eigenschappen, stel mailEnabled false in op en securityEnabled optrue. UniqueName vertegenwoordigt een onveranderbare clientsleutel voor deze groepsresource.

Een beheerde identiteitsresource toevoegen

VS Code met de Bicep-extensie vereenvoudigt de ontwikkeling door vooraf gedefinieerde fragmenten te bieden, zoals een fragment waarmee een beheerde identiteit wordt gemaakt. Typ man in main.bicep en selecteer vervolgens res-managed-identity in de lijst en druk op [TAB] of [ENTER].

Schermopname van het toevoegen van een resourcefragment.

Opmerking: resourcefragmenten voor uitbreidbare resources, zoals Microsoft Graph-resources, worden momenteel niet ondersteund.

Uw Bicep-bestand bevat nu de volgende code:

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

U kunt de fout met de ontbrekende parameterdefinitie oplossen door een parameterdefinitie toe te voegen voor location. Voeg onder de extensiedefinitie toe param location string = resourceGroup().location. Zie resourceGroup()voor meer informatie over de functie die hier wordt gebruikt. Wijzig de naam van de beheerde identiteit in name exampleManagedIdentity.

De beheerde identiteit een eigenaar van de groepsresource maken

Maak in de exampleGroup resource een nieuwe regel onderuniqueName, typ ow, waarin eigenaren worden weergegeven als de enige overeenkomende eigenschapsoptie en druk vervolgens op [TAB] of [ENTER].

Schermopname van het toevoegen van een eigenaarseigenschap.

De eigenschap Eigenaren is een matrix, dus voeg [] en verwijs nu naar de principal-id van de beheerde identiteit met behulp van intellisense, door m te typen en managedIdentity (de symbolische naam voor de beheerde identiteit) te typen, een . en eigenschappen te kiezen, een andere . te typen en principalId te kiezen.

Schermopname van het verwijzen naar de beheerde identiteit.

Uw bestand main.bicep moet er nu ongeveer als volgt uitzien:

extension microsoftGraphV1_0

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
}

Het Bicep-bestand implementeren met behulp van een aangemelde gebruiker

Implementeer het Bicep-bestand door u aan te melden bij Azure CLI of Azure PowerShell met behulp van de volgende voorbeelden. De Azure CLI-voorbeelden in deze documentatie maken gebruik van de Bash-console.

## 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

Wanneer de implementatie is voltooid, ziet u een bericht waarin wordt aangegeven dat de implementatie is voltooid.

Notitie

Vanwege replicatievertragingen kan het toevoegen van de managed service identity (MSI) als eigenaar van de Microsoft Entra-groep ertoe leiden dat de implementatie mislukt. Wacht even en implementeer vervolgens hetzelfde Bicep-bestand opnieuw.

Resources opschonen

Wanneer de Azure-resources niet meer nodig zijn, gebruikt u de Azure CLI of Azure PowerShell-module om de quickstart-resourcegroep te verwijderen.

Notitie

Resourcegroepen zijn een Azure-concept en hebben geen invloed op Microsoft Graph-resources. Microsoft Graph-resources moeten worden opgeschoond met een extra aanvraag voor Microsoft Graph. Hiervoor kunt u Azure CLI of Azure PowerShell, Microsoft Graph CLI of Microsoft Graph PowerShell gebruiken.

In de volgende voorbeelden ziet u opdrachten om eerst de Azure-resource te verwijderen en vervolgens de Microsoft Graph-resource met behulp van Azure CLI en 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'

Volgende stap