既存のリソースを参照する

Bicep を使用すると、既存のキーワード (keyword)を使用して、一意の名前で既存のリソースを参照できます。 Bicep ファイルの展開の外部で最初に作成された Microsoft Graph リソース (アプリケーションやグループなど) では、一意の名前プロパティが設定される可能性は低いです。 この記事では、これらのリソースの一意の名前プロパティをバックフィルして、Bicep ファイルで再デプロイまたは参照できるようにする方法について説明します。

重要

Microsoft Graph Bicep は現在プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

前提条件

  • 既存のリソースを更新するための最小限の特権アクセス許可またはロール、またはリソースの所有者であることを確認します。 割り当てる必要があるロールを確認するには 、タスク 別の最小特権ロールと 既定のユーザーアクセス許可 を参照してください。
  • Azure CLI または Azure PowerShell をインストールします。

一意の名前をバックフィルする

次の例は、既にサインインしていることを前提として、次の Azure CLI または Azure PowerShell を使用して、グループとアプリケーションの一意の名前をバックフィルする方法を示しています。

az rest --method patch --url 'https://graph.microsoft.com/v1.0/groups/<replace-with-ID-of-your-group>' --body '{\"uniqueName\": \"TestGroup-2024-05-10\"}' --headers "content-type=application/json"
az rest --method patch --url 'https://graph.microsoft.com/v1.0/applications/<replace-with-ID-of-your-application>' --body '{\"uniqueName\": \"TestApp-2024-05-10\"}' --headers "content-type=application/json"

Bicep で既存のリソースを使用する

  1. Visual Studio Code を起動し、2 つの新しいファイル (メイン.bicepbicepconfig.json) を作成し、それらが同じフォルダーにあることを確認します。

  2. bicepconfig.jsonを構成して、一部のプレビュー機能を有効にします。

  {
      "experimentalFeaturesEnabled": {
      "extensibility": true
      }
  }
  1. メイン.bicep で、次の Bicep コードを追加します。このコードでは、キーワード (keyword)を使用existingしてグループを一意の名前TestGroup-2024-05-10で、アプリケーションを次のようにTestApp-2024-05-10参照します。
  provider microsoftGraph

  @description('Group to use')
  param groupName string = 'TestGroup-2024-05-10'

  @description('App to use')
  param appName string = 'TestApp-2024-05-10'

  resource group 'Microsoft.Graph/groups@v1.0' existing = {
      uniqueName: groupName
  }

  resource application 'Microsoft.Graph/applications@v1.0' existing = {
      uniqueName: appName
  }

  output groupId string = group.id
  output applicationId string = application.id
  1. Azure CLI または Azure PowerShell を使用して Bicep ファイルをデプロイする
  az deployment group create --resource-group exampleRG --template-file main.bicep
  DeploymentName          : main
  ResourceGroupName       : exampleRG
  ProvisioningState       : Succeeded
  Timestamp               : 18/04/2024 16:16:42
  Mode                    : Incremental
  TemplateLink            :
  Parameters              :
                          Name             Type                       Value
                          ===============  =========================  ==========
                          groupName        String                     "TestGroup-2024-05-10"
                          appName          String                     "TestApp-2024-05-10"


  Outputs                 :
                          Name             Type                       Value
                          ===============  =========================  ==========
                          group-id         String                     "<ID-of-your-group>"
                          app-id           String                     "<ID-of-your-app>"