Freigeben über


Schnellstart: Erstellen und Bereitstellen Ihrer ersten Bicep-Datei mit Microsoft Graph-Ressourcen

In dieser Schnellstartanleitung erstellen Sie eine Bicep-Datei, die eine Microsoft Entra-Sicherheitsgruppe und eine verwaltete Dienstidentität (MANAGED Service Identity, MSI) deklariert, die eine Microsoft Graph-Ressource bzw. eine Azure-Ressource darstellt. Anschließend fügen Sie die MSI-Datei als Besitzer der Gruppe hinzu. Außerdem erfahren Sie, wie die Bicep-Erweiterung die Entwicklung vereinfacht, indem Sie die Typsicherheit, Syntaxvalidierung und AutoVervollständigen bereitstellt. Schließlich stellen Sie die Bicep-Datei mithilfe eines angemeldeten Benutzers bereit.

Wichtig

In diesem Schnellstartartikel werden dynamische Typenverweise anstelle integrierter Typen verwendet, die veraltet sind und am 24. Januar 2025 eingestellt werden. Bis zum Deaktivierungsdatum werden integrierte Typen, die mit extension microsoftGraphden neuen dynamischen Typen gekennzeichnet sind, koexistieren. Wenn eine Ihrer vorhandenen Bicep-Dateien integrierte Typen verwendet, wechseln Sie zur Verwendung dynamischer Typen, um zukünftige Bicep-Dateibereitstellungsprobleme zu vermeiden.

Wichtig

Microsoft Graph Bicep befindet sich derzeit in DER VORSCHAU. Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.

Voraussetzungen

  • Sie haben ein gültiges Azure-Abonnement: Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.

  • Installieren Sie Bicep-Tools für die Erstellung und Bereitstellung. Diese Schnellstartanleitung verwendet VS Code mit der Bicep-Erweiterung für die Erstellung und Azure CLI für die Bereitstellung. Beispiele werden auch für Azure PowerShell bereitgestellt. Die mindestens erforderliche Bicep-Version ist v0.30.3.

  • Sie verfügen über eine Microsoft Entra-Rolle , die Ihnen Berechtigungen zum Erstellen einer Sicherheitsgruppe zuweist. Benutzer verfügen standardmäßig über diese Berechtigung. Administratoren können diese Standardeinstellung jedoch deaktivieren, in diesem Fall müssen Sie mindestens der Rollen "Gruppenadministrator" zugewiesen werden.

Hinzufügen einer Microsoft Graph-Anwendungsgruppe

Starten Sie VS Code, und erstellen Sie zwei neue Dateien, main.bicep und bicepconfig.json im selben Ordner.

Als Nächstes müssen Sie zum Deklarieren von Microsoft Graph-Ressourcen in einer Bicep-Datei das Bicep-Vorschaufeature aktivieren und die Microsoft Graph Bicep-Typversionen angeben, indem Sie bicepconfig.json konfigurieren.

In diesem Beispiel werden die v1.0-Ressourcen verwendet und ein benutzerfreundlicher Erweiterungsname "microsoftGraphV1" deklariert, um auf die br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:0.1.8-preview Typversion im Microsoft-Artefaktregistrierung zu verweisen.

{
    "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"
    }
}

Sie können Microsoft Graph-Ressourcen auch aus beta und v1.0 in derselben Bicep-Datei deklarieren, indem Sie einen weiteren Verweis auf eine Betaversion aus dem Microsoft-Artefaktregistrierung hinzufügen.

Geben Sie microsoftGraphV1 extension microsoftGraphV1in "main.bicep" ihren benutzerfreundlichen Namen ein, um auf das Paket für dynamische Typen im Microsoft-Artefaktregistrierung zu verweisen. Die extension Anweisung teilt dem Bicep-Compiler mit, dass Sie die microsoft Graph-Typen einschließen, die Sie in bicepconfig.json definiert haben. Definieren Sie in der nächsten Zeile eine Ressource mithilfe des Schlüsselworts resource . Geben Sie resource exampleGroup ein Leerzeichen ein, und fügen Sie es hinzu.

extension microsoftGraphV1

resource exampleGroup

Wenn Sie nach dem symbolischen Namen ein Leerzeichen hinzufügen, wird eine Liste der Ressourcentypen angezeigt. Fahren Sie mit der Eingabe der Gruppe fort, bis Sie "Microsoft.Graph/Groups" aus den verfügbaren Optionen auswählen können.

Screenshot der Auswahl von Microsoft Graph-Gruppen für den Ressourcentyp.

Tipp

Wenn die IntelliSense-Optionen in VS Code nicht angezeigt werden, stellen Sie sicher, dass Sie die Bicep-Erweiterung wie in den Voraussetzungen angegeben installiert haben. Wenn Sie die Erweiterung installiert haben, warten Sie nach dem Öffnen der Bicep-Datei einige Zeit, bis der Bicep-Sprachdienst gestartet wird. Eine Benachrichtigung in der unteren rechten Ecke gibt an, dass der Dienst gestartet wird. Wenn diese Benachrichtigung nicht mehr angezeigt wird, wird der Dienst ausgeführt.

Nachdem Sie Microsoft.Graph/Groups ausgewählt haben, erhalten Sie die verfügbaren API-Versionen – Beta oder v1.0. Wählen Sie v1.0 immer aus, es sei denn, sie ist nicht verfügbar, oder die benötigten Ressourceneigenschaften sind nur in der Betaversion verfügbar. Verwenden Sie für diese Schnellstartanleitung v1.0.

Screenshot: Auswählen der API-Version für den Ressourcentyp.

Fügen Sie nach dem einfachen Anführungszeichen für den Ressourcentyp = und ein Leerzeichen hinzu. Ihnen werden Optionen zum Hinzufügen von Eigenschaften zu der Ressource angezeigt. Wählen Sie dieerforderlichen Eigenschaften aus.

Screenshot: Hinzufügen der erforderlichen Eigenschaften

Diese Option fügt alle Eigenschaften für den Ressourcentyp hinzu, die für die Bereitstellung erforderlich sind. Nachdem Sie diese Option ausgewählt haben, verfügt Ihre Gruppe über die folgenden Eigenschaften:

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

Geben Sie Werte für diese Eigenschaften an, und legen Sie mailEnabled auf false und securityEnabled auf true. uniqueName stellt einen unveränderlichen clientbasierten Schlüssel für diese Gruppenressource dar.

Hinzufügen einer verwalteten Identitätsressource

VS Code mit der Bicep-Erweiterung vereinfacht die Entwicklung, indem vordefinierte Codeausschnitte bereitgestellt werden, z. B. ein Codeausschnitt, der eine verwaltete Identität erstellt. Geben Sie in "main.bicep" "man" ein, und wählen Sie dann in der Liste erneut verwaltete Identität aus, und drücken Sie dann [TAB] oder [EINGABETASTE].

Screenshot des Hinzufügens eines Ressourcenausschnitts.

Hinweis: Ressourcenausschnitte für erweiterbare Ressourcen wie Microsoft Graph-Ressourcen werden derzeit nicht unterstützt.

Ihre Bicep-Datei enthält nun den folgenden Code:

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

Sie können den Fehlenden Parameterdefinitionsfehler beheben, indem Sie eine Parameterdefinition für location. Fügen Sie param location string = resourceGroup().locationunter der Erweiterungsdefinition hinzu. Weitere Informationen zur hier verwendeten Funktion finden Sie unter resourceGroup(). Ändern Sie den Namen für die verwaltete Identität von name zu exampleManagedIdentity.

Festlegen der verwalteten Identität als Besitzer der Gruppenressource

Erstellen Sie in der exampleGroup Ressource eine neue Zeile unter uniqueName, geben Sie ow ein, die Besitzer als einzige übereinstimmende Eigenschaftsoption anzeigt, und drücken Sie dann [TAB] oder [EINGABETASTE].

Screenshot des Hinzufügens einer Besitzereigenschaft.

Die Eigenschaft "owners" ist ein Array. Fügen Sie [] also die Prinzipal-ID der verwalteten Identität mithilfe von IntelliSense hinzu, indem Sie "m" eingeben und "managedIdentity" (den symbolischen Namen für die verwaltete Identität) eingeben, eine . und die Eigenschaften auswählen, eine andere eingeben und "principalId" auswählen.

Screenshot des Verweises auf die verwaltete Identität.

Die Datei "main.bicep " sollte nun etwa wie folgt aussehen:

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
}

Bereitstellen der Bicep-Datei mithilfe eines angemeldeten Benutzers

Stellen Sie die Bicep-Datei bereit, indem Sie sich mit den folgenden Beispielen bei Azure CLI oder Azure PowerShell anmelden. Die Azure CLI-Beispiele in dieser Dokumentation verwenden die Bash-Konsole.

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

Nach Abschluss der Bereitstellung sollte eine Meldung mit dem Hinweis angezeigt werden, dass die Bereitstellung erfolgreich war.

Hinweis

Aufgrund von Replikationsverzögerungen kann das Hinzufügen der verwalteten Dienstidentität (MANAGED Service Identity, MSI) als Besitzer der Microsoft Entra-Gruppe dazu führen, dass die Bereitstellung fehlschlägt. Warten Sie ein wenig, und stellen Sie dann die gleiche Bicep-Datei erneut bereit.

Bereinigen von Ressourcen

Wenn Sie die Azure-Ressourcen nicht mehr benötigen, löschen Sie die Ressourcengruppe der Schnellstartanleitung mithilfe der Azure-Befehlszeilenschnittstelle oder des Azure PowerShell-Moduls.

Hinweis

Ressourcengruppen sind ein Azure-Konzept und haben keine Auswirkungen auf Microsoft Graph-Ressourcen. Microsoft Graph-Ressourcen müssen mit einer zusätzlichen Anforderung an Microsoft Graph bereinigt werden. Hierfür können Sie Azure CLI oder Azure PowerShell, Microsoft Graph CLI oder Microsoft Graph PowerShell verwenden.

Die folgenden Beispiele zeigen Befehle zum Löschen der Azure-Ressource zuerst die Microsoft Graph-Ressource mit Azure CLI und 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'

Nächster Schritt