Краткое руководство. Создание и развертывание первого файла Bicep с помощью ресурсов Microsoft Graph
В этом кратком руководстве вы создадите файл Bicep, который объявляет группу безопасности Microsoft Entra и управляемое удостоверение службы (MSI), представляющую ресурс Microsoft Graph и ресурс Azure соответственно. Затем вы добавите MSI в качестве владельца группы. Вы также узнаете, как расширение Bicep упрощает разработку, предоставляя безопасность типов, проверку синтаксиса и автозавершение. Наконец, вы развернете файл Bicep с помощью пользователя, вошедшего в систему.
Внимание
В этой статье краткого руководства используются ссылки на динамические типы вместо встроенных типов, которые устарели и будут прекращены 24 января 2025 года. До даты выхода на пенсию встроенные типы, обозначаемые extension microsoftGraph
, будут сосуществовать с новыми динамическими типами. Если любой из существующих файлов Bicep использует встроенные типы, переключитесь на использование динамических типов, чтобы избежать будущих проблем с развертыванием файлов Bicep.
Внимание
Microsoft Graph Bicep в настоящее время находится в предварительной версии. Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.
Необходимые компоненты
У вас есть действительная подписка Azure: если вы не владеете подпиской Azure, создайте бесплатную учетную запись перед началом работы.
Установите средства Bicep для разработки и развертывания. В этом кратком руководстве используется VS Code с расширением Bicep для разработки и Azure CLI для развертывания. Примеры также предоставляются для Azure PowerShell. Минимальная требуемая версия Bicep — v0.30.3.
У вас есть роль Microsoft Entra, которая назначает разрешения для создания группы безопасности. Пользователи имеют это разрешение по умолчанию. Однако администраторы могут отключить этот параметр по умолчанию, в этом случае необходимо назначить по крайней мере роль администратора групп.
Добавление группы приложений Microsoft Graph
Запустите VS Code и создайте два новых файла, main.bicep и bicepconfig.json в одной папке.
Затем, чтобы объявить ресурсы Microsoft Graph в файле Bicep, необходимо включить предварительную версию Bicep и указать версии типов Bicep в Microsoft Graph, настроив bicepconfig.json.
В этом примере используются ресурсы версии 1.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"
}
}
Вы также можете объявить ресурсы Microsoft Graph из бета-версии и версии 1.0 в том же файле Bicep, добавив еще одну ссылку на версию бета-типа из Реестр артефактов Microsoft.
В main.bicep введите extension microsoftGraphV1_0
microsoftGraphV1_0
понятное имя для ссылки на пакет динамических типов в Реестр артефактов Microsoft. Инструкция extension
позволяет компилятору Bicep знать, что вы включаете типы Microsoft Graph, определенные в bicepconfig.json. В следующей строке определите ресурс с помощью ключевого resource
слова. Введите resource exampleGroup
и добавьте пробел.
extension microsoftGraphV1_0
resource exampleGroup
При добавлении пробела после символического имени отобразится список типов ресурсов. Продолжайте вводить группу, пока не сможете выбрать Microsoft.Graph/Groups из доступных параметров.
Совет
Если параметры intellisense не отображаются в VS Code, убедитесь, что вы установили расширение Bicep, как указано в предварительных требованиях. Если расширение установлено, подождите некоторое время после открытия файла Bicep. При запуске службы появляется уведомление в правом нижнем углу. Когда оно исчезнет, расширение должно работать.
Выбрав Microsoft.Graph/Groups, вы получите доступные версии API — бета-версию или версию 1.0. Всегда выбирайте версию 1.0, если она недоступна или необходимые свойства ресурсов доступны только в бета-версии. В этом кратком руководстве используйте версию 1.0.
После одинарной кавычки, указанной для типа ресурса, добавьте = и пробел. Отобразятся параметры для добавления свойств в ресурс. Выберите обязательные свойства.
Этот параметр добавляет все свойства для типа ресурса, требуемые для его развертывания. После выбора этого параметра группа имеет следующие свойства:
resource exampleGroup 'Microsoft.Graph/groups@v1.0' = {
displayName:
mailEnabled:
mailNickname:
securityEnabled:
uniqueName:
}
Укажите значения этих свойств, задав mailEnabled и securityEnabledtrue
. false
uniqueName представляет неизменяемый ключ, предоставленный клиентом для этого ресурса группы.
Добавление ресурса управляемого удостоверения
VS Code с расширением Bicep упрощает разработку, предоставляя предопределенные фрагменты кода, например фрагмент кода, который создает управляемое удостоверение. В main.bicep введите man, а затем выберите res-managed-identity из списка, а затем нажмите клавишу [TAB] или [ВВОД].
Примечание. Фрагменты ресурсов для расширяемых ресурсов, например ресурсов 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] или [ВВОД].
Свойство владельцев представляет собой массив, поэтому добавьте []
и теперь сослаться на идентификатор субъекта управляемого удостоверения с помощью intellisense, введя m и выбрав managedIdentity (символическое имя для управляемого удостоверения), введя идентификатор . и выбрав свойства, введя другой . и выбрав субъектId.
Теперь файл 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 с помощью вошедшего пользователя
Разверните Bicep-файл, выполнив вход в Azure CLI или Azure PowerShell, используя следующие примеры. Примеры 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 CLI или Microsoft Graph PowerShell.
В следующих примерах показаны команды для удаления ресурса Azure, а затем ресурса Microsoft Graph с помощью Azure CLI и 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'