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 geldig Azure-abonnement hebben: als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Bicep-hulpprogramma's installeren voor creatie en implementatie. In deze quickstart wordt VS Code gebruikt met de Bicep-extensie voor creatie en Azure CLI voor implementatie. Er zijn ook voorbeelden beschikbaar voor Azure PowerShell. De minimaal vereiste Bicep-versie is v0.30.3.
Een Microsoft Entra-rol hebben waarmee u machtigingen krijgt om een beveiligingsgroep te maken. Gebruikers hebben deze machtiging standaard. Beheerders kunnen deze standaardinstelling echter uitschakelen. In dat geval moet u ten minste de rol Groepsbeheerder toewijzen.
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_0
waar 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.
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.
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.
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].
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].
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.
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'