共用方式為


快速入門:使用 Microsoft Graph 資源建立及部署您的第一個 Bicep 檔案

在本快速入門中,您會建立 Bicep 檔案,分別宣告 Microsoft Entra 安全組和受控服務識別 (MSI),代表Microsoft Graph 資源和 Azure 資源。 接著,您會將 MSI 新增為群組的擁有者。 您還會了解 Bicep 延伸模組如何透過提供型別安全、語法驗證與自動完成來簡化開發。 最後,您會使用登入的用戶來部署 Bicep 檔案。

重要

本快速入門文章會使用動態類型參考,而不是淘汰的內建類型,將於 2025 年 1 月 24 日淘汰。 在淘汰日期之前,內 extension microsoftGraph建類型會與新的動態類型共存。 如果任何現有的 Bicep 檔案使用內建類型, 請切換至使用動態類型 ,以避免任何未來的 Bicep 檔案部署問題。

重要

Microsoft Graph Bicep 目前處於預覽狀態。 請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的法律條款。

必要條件

新增 Microsoft Graph 應用程式群組

啟動 VS Code,並在相同的資料夾中建立兩個新檔案 main.bicepbicepconfig.json

接下來,若要能夠在 Bicep 檔案中宣告 Microsoft Graph 資源,您必須藉由 設定 bicepconfig.json 來啟用 Bicep 預覽功能,並指定 Microsoft Graph Bicep 類型版本。

此範例會使用 v1.0 資源,並宣告使用者易記的延伸模組名稱 「microsoftGraphV1_0」 來參考 br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:0.1.8-preview Microsoft 成品登錄 中的類型版本。

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

您也可以在相同的 Bicep 檔案中,從 beta 和 v1.0 宣告 Microsoft Graph 資源,方法是從 Microsoft 成品登錄 新增 beta 類型版本的另一個參考。

main.bicep中,輸入 extension microsoftGraphV1_0,其中 microsoftGraphV1_0 是參考 Microsoft 成品登錄動態類型套件的用戶易記名稱。 語句extension可讓 Bicep 編譯程式知道您包括您在 bicepconfig.json定義的 Microsoft Graph 類型。 在下一行,使用 resource 關鍵詞來定義資源。 輸入 resource exampleGroup 並新增空格。

extension microsoftGraphV1_0

resource exampleGroup

當您在符號名稱後面加上一個空格時,即會顯示資源類型的清單。 繼續輸入 群組 ,直到您可以從可用的選項中選取 Microsoft.Graph/Groups

選取資源類型的 Microsoft Graph 群組的螢幕快照。

提示

如果您沒有在 VS Code 中看到 Intellisense 選項,請確定您已如必要條件中所 指定安裝 Bicep 擴充功能。 如果您已安裝該延伸模組,則在開啟 Bicep 檔案之後,請給 Bicep 語言服務一些時間來啟動。 右下角的通知表示服務正在啟動。 當該通知消失時,表示服務正在執行。

選取 Microsoft.Graph/群組之後,您會看到可用的 API 版本 - beta 或 v1.0。 請一律選取 v1.0,除非無法使用,否則您所需的資源屬性只能在 Beta 中使用。 在本快速入門中,請使用 v1.0。

選取資源類型 API 版本的螢幕擷取畫面。

在資源類型的單引號後面,加上 = 和一個空格。 您會看到可將屬性新增至資源的選項。 選取 [required-properties]

新增必要屬性的螢幕擷取畫面。

此選項會新增部署所需資源類型的所有屬性。 選取此選項之後,您的群組具有下列屬性:

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

提供這些屬性的值,將 mailEnabled 設定false ,並將 securityEnabled 設定為 trueuniqueName 代表此群組資源的不可變用戶端提供密鑰。

新增受控識別資源

使用 Bicep 延伸模組的 VS Code 提供預先定義的代碼段來簡化開發,例如建立受控識別的代碼段。 在 main.bicep 中,輸入 man,然後從清單中選取 res-managed-identity ,然後按 [TAB] 或 [ENTER]。

新增資源代碼段的螢幕快照。

注意:目前不支援可延伸資源的資源代碼段,例如 Microsoft Graph 資源。

您的 Bicep 檔案現在包含下列程式碼:

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

您可以新增 的參數定義來location修正遺漏的參數定義錯誤。 在延伸模組定義下,新增 param location string = resourceGroup().location。 如需這裡所使用函式的詳細資訊,請參閱 resourceGroup()。 將受控識別的名稱從 name 變更為 exampleManagedIdentity

將受控識別設為群組資源的擁有者

在資源中 exampleGroup ,在 底下 uniqueName建立新行,輸入 ow,其中顯示 擁有者 為唯一相符的屬性選項,然後按 [TAB] 或 [ENTER]。

新增擁有者屬性的螢幕快照。

擁有者屬性是一個陣列,因此,[]請輸入 m 並挑選managedIdentity(受控識別的符號名稱),輸入 並挑選屬性,然後輸入另一個並挑選 principalId,以參考受控識別的主體識別符。

參考受控識別的螢幕快照。

您的 main.bicep 檔案現在看起來應該像這樣:

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
}

使用登入的使用者部署 Bicep 檔案

使用下列範例登入 Azure CLI 或 Azure PowerShell 來部署 Bicep 檔案。 本檔中的 Azure CLI 範例會使用 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

當部署完成時,您應該會看到指出部署成功的訊息。

注意

由於復寫延遲,將受控服務識別 (MSI) 新增為 Microsoft Entra 群組的擁有者,可能會導致部署失敗。 稍候一下,然後再部署相同的 Bicep 檔案。

清除資源

如果不再需要 Azure 資源,請使用 Azure CLI 或 Azure PowerShell 模組來刪除快速入門資源群組。

注意

資源群組是 Azure 概念,不會影響 Microsoft Graph 資源。 Microsoft Graph 資源需要以額外的要求來清除 Microsoft Graph。 為此,您可以使用 Azure CLI 或 Azure PowerShell、 Microsoft Graph CLIMicrosoft Graph PowerShell

下列範例示範先刪除 Azure 資源的命令,然後使用 Azure CLI 和 Azure PowerShell 來刪除 Microsoft Graph 資源。

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

後續步驟