Udostępnij za pośrednictwem


Szybki start: tworzenie i wdrażanie pierwszego pliku Bicep przy użyciu zasobów programu Microsoft Graph

W tym przewodniku Szybki start utworzysz plik Bicep, który deklaruje grupę zabezpieczeń Firmy Microsoft Entra i tożsamość usługi zarządzanej (MSI), reprezentując odpowiednio zasób programu Microsoft Graph i zasób platformy Azure. Następnie należy dodać tożsamość usługi zarządzanej jako właściciel grupy. Dowiesz się również, jak rozszerzenie Bicep upraszcza programowanie, zapewniając bezpieczeństwo typów, walidację składni i autouzupełnianie. Na koniec wdrożysz plik Bicep przy użyciu zalogowanego użytkownika.

Ważne

W tym artykule Szybki start użyto odwołań typu dynamicznego zamiast wbudowanych typów, które są przestarzałe i zostaną wycofane 24 stycznia 2025 r. Do daty wycofania wbudowane typy, oznaczone przez extension microsoftGraph, będą współistnieć z nowymi typami dynamicznymi. Jeśli którykolwiek z istniejących plików Bicep używa wbudowanych typów, przejdź do korzystania z typów dynamicznych, aby uniknąć problemów z wdrażaniem plików Bicep w przyszłości.

Ważne

Program Microsoft Graph Bicep jest obecnie w wersji zapoznawczej. Zobacz Dodatkowe warunki użytkowania wersji zapoznawczych platformy Microsoft Azure, aby zapoznać się z postanowieniami prawnymi dotyczącymi funkcji platformy Azure, które są w wersji beta lub wersji zapoznawczej albo w inny sposób nie zostały jeszcze wydane jako ogólnie dostępne.

Wymagania wstępne

  • Masz prawidłową subskrypcję platformy Azure: jeśli nie jesteś właścicielem subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto .

  • Zainstaluj narzędzia Bicep do tworzenia i wdrażania. Ten przewodnik Szybki start używa programu VS Code z rozszerzeniem Bicep do tworzenia i interfejsu wiersza polecenia platformy Azure na potrzeby wdrażania. Przykłady są również udostępniane dla programu Azure PowerShell. Minimalna wymagana wersja Bicep to v0.30.3.

  • Masz rolę Entra firmy Microsoft, która przypisuje Ci uprawnienia do tworzenia grupy zabezpieczeń. Użytkownicy mają domyślnie to uprawnienie. Jednak administratorzy mogą wyłączyć tę wartość domyślną w takim przypadku, aby mieć przypisaną co najmniej rolę Administrator grup.

Dodawanie grupy aplikacji programu Microsoft Graph

Uruchom program VS Code i utwórz dwa nowe pliki main.bicep i bicepconfig.json w tym samym folderze.

Następnie, aby móc zadeklarować zasoby programu Microsoft Graph w pliku Bicep, należy włączyć funkcję Bicep w wersji zapoznawczej i określić wersje typów Bicep programu Microsoft Graph, konfigurując bicepconfig.json.

W tym przykładzie użyto zasobów w wersji 1.0 i zadeklarowaliśmy przyjazną dla użytkownika nazwę rozszerzenia "microsoftGraphV1", aby odwołać br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:0.1.8-preview się do wersji typu w Rejestr Artefaktów 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"
    }
}

Możesz również zadeklarować zasoby programu Microsoft Graph z wersji beta i 1.0 w tym samym pliku Bicep, dodając kolejne odwołanie do wersji typu beta z Rejestr Artefaktów Microsoft.

W pliku main.bicep wpisz extension microsoftGraphV1, gdzie microsoftGraphV1 jest przyjazną dla użytkownika nazwą do odwoływania się do pakietu typów dynamicznych w Rejestr Artefaktów Microsoft. Instrukcja extension pozwala kompilatorowi Bicep wiedzieć, że dołączasz typy programu Microsoft Graph zdefiniowane w bicepconfig.json. W następnym wierszu zdefiniuj zasób przy użyciu słowa kluczowego resource . Wpisz resource exampleGroup i dodaj spację.

extension microsoftGraphV1

resource exampleGroup

Po dodaniu spacji po nazwie symbolicznej zostanie wyświetlona lista typów zasobów. Kontynuuj wpisywanie grupy , dopóki nie będzie można wybrać pozycji Microsoft.Graph/Groups z dostępnych opcji.

Zrzut ekranu przedstawiający wybieranie grup programu Microsoft Graph dla typu zasobu.

Napiwek

Jeśli nie widzisz opcji intellisense w programie VS Code, upewnij się, że zainstalowano rozszerzenie Bicep zgodnie z wymaganiami wstępnymi. Jeśli rozszerzenie zostało zainstalowane, daj usłudze językowej Bicep trochę czasu na uruchomienie po otwarciu pliku Bicep. Powiadomienie w prawym dolnym rogu wskazuje, że usługa jest uruchamiana. Gdy to powiadomienie zniknie, usługa jest uruchomiona.

Po wybraniu pozycji Microsoft.Graph/Groups zostanie wyświetlona dostępna wersja interfejsu API — wersja beta lub wersja 1.0. Zawsze wybieraj wersję 1.0, chyba że jest niedostępna lub potrzebne właściwości zasobu są dostępne tylko w wersji beta. W tym przewodniku Szybki start użyj wersji 1.0.

Zrzut ekranu przedstawiający wybieranie wersji interfejsu API dla typu zasobu.

Po pojedynczym cudzysłowie dla typu zasobu dodaj = i spację. Zostaną wyświetlone opcje dodawania właściwości do zasobu. Wybierz pozycję required-properties(wymagane właściwości).

Zrzut ekranu przedstawiający dodawanie wymaganych właściwości.

Ta opcja dodaje wszystkie właściwości typu zasobu, które są wymagane do wdrożenia. Po wybraniu tej opcji grupa ma następujące właściwości:

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

Podaj wartości dla tych właściwości, ustawiając wartość mailEnabled na false wartość i zabezpieczeńEnabled na true. uniqueName reprezentuje niezmienny klucz udostępniony przez klienta dla tego zasobu grupy.

Dodawanie zasobu tożsamości zarządzanej

Program VS Code z rozszerzeniem Bicep upraszcza programowanie, udostępniając wstępnie zdefiniowane fragmenty kodu, takie jak fragment kodu, który tworzy tożsamość zarządzaną. W pliku main.bicep wpisz man, a następnie wybierz pozycję res-managed-identity z listy, a następnie naciśnij [TAB] lub [ENTER].

Zrzut ekranu przedstawiający dodawanie fragmentu kodu zasobu.

Uwaga: Fragmenty zasobów dla rozszerzalnych zasobów, takich jak zasoby programu Microsoft Graph, nie są obecnie obsługiwane.

Plik Bicep zawiera teraz następujący kod:

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

Możesz naprawić błąd brakującej definicji parametru, dodając definicję parametru dla elementu location. W obszarze definicji rozszerzenia dodaj element param location string = resourceGroup().location. Aby uzyskać więcej informacji na temat funkcji używanej tutaj, zobacz resourceGroup(). Zmień nazwę tożsamości zarządzanej z name na exampleManagedIdentity.

Ustaw tożsamość zarządzaną jako właściciela zasobu grupy

W zasobie exampleGroup utwórz nowy wiersz w obszarze uniqueName, wpisz ow, który pokazuje właścicielom jako jedyną zgodną opcję właściwości, a następnie naciśnij [TAB] lub [ENTER].

Zrzut ekranu przedstawiający dodawanie właściwości właścicieli.

Właściwość owner jest tablicą, więc dodaj [] i teraz odwołuje się do identyfikatora podmiotu zabezpieczeń tożsamości zarządzanej przy użyciu funkcji IntelliSense, wpisując m i wybierając element managedIdentity (nazwa symboliczna tożsamości zarządzanej), wpisując właściwości i wybierając właściwość . i wpisując inny identyfikator principalId.

Zrzut ekranu przedstawiający odwoływanie się do tożsamości zarządzanej.

Plik main.bicep powinien teraz wyglądać mniej więcej tak:

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
}

Wdrażanie pliku Bicep przy użyciu zalogowanego użytkownika

Wdróż plik Bicep, logując się do interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell, korzystając z poniższych przykładów. Przykłady interfejsu wiersza polecenia platformy Azure w tej dokumentacji korzystają z konsoli powłoki 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

Po zakończeniu wdrażania powinien zostać wyświetlony komunikat informujący o pomyślnym wdrożeniu.

Uwaga

Ze względu na opóźnienia replikacji dodanie tożsamości usługi zarządzanej (MSI) jako właściciela grupy Firmy Microsoft Entra może spowodować niepowodzenie wdrożenia. Zaczekaj trochę, a następnie ponownie wdróż ten sam plik Bicep.

Czyszczenie zasobów

Gdy zasoby platformy Azure nie są już potrzebne, użyj interfejsu wiersza polecenia platformy Azure lub modułu Azure PowerShell, aby usunąć grupę zasobów szybkiego startu.

Uwaga

Grupy zasobów są koncepcją platformy Azure i nie mają wpływu na zasoby programu Microsoft Graph. Zasoby programu Microsoft Graph należy wyczyścić przy użyciu dodatkowego żądania do programu Microsoft Graph. W tym celu możesz użyć interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell, interfejsu wiersza polecenia programu Microsoft Graph lub programu Microsoft Graph PowerShell.

W poniższych przykładach pokazano polecenia, aby najpierw usunąć zasób platformy Azure, a następnie zasób programu Microsoft Graph przy użyciu interfejsu wiersza polecenia platformy Azure i programu 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'

Następny krok