Добавление параметров модуля в файл конфигурации Bicep
В файле bicepconfig.json можно создать псевдонимы для путей модуля и настроить приоритет профилей и учетных данных для публикации и восстановления модулей.
В этой статье описываются параметры, доступные для работы с модулями Bicep.
Псевдонимы для модулей
Чтобы упростить путь для ссылки на модули, создайте псевдонимы в файле конфигурации. Псевдоним может ссылаться на реестр модулей или группу ресурсов, которая содержит спецификации шаблонов.
В файле конфигурации есть свойство для moduleAliases
. Это свойство содержит все определенные вами псевдонимы. В этом свойстве псевдонимы разделены в зависимости от того, ссылаются ли они на реестр или спецификацию шаблона.
Чтобы создать псевдоним для реестра Bicep, добавьте свойство br
. Чтобы создать псевдоним для спецификации шаблона, добавьте свойство ts
.
{
"moduleAliases": {
"br": {
<add-registry-aliases>
},
"ts": {
<add-template-specs-aliases>
}
}
}
В свойство br
добавьте нужное количество псевдонимов. Для каждого псевдонима задайте имя и следующие свойства:
- registry (обязательно): имя сервера для входа в реестр;
- modulePath (необязательно): репозиторий реестра, в котором хранятся модули.
В свойство ts
добавьте нужное количество псевдонимов. Для каждого псевдонима задайте имя и следующие свойства:
- subscription (обязательно): идентификатор подписки, в которой размещены спецификации шаблона;
- resourceGroup (обязательно): имя группы ресурсов, которая содержит спецификации шаблонов.
В следующем примере показан файл конфигурации, в котором определены два псевдонима для реестра модуля и один псевдоним для группы ресурсов, которая содержит спецификации шаблонов.
{
"moduleAliases": {
"br": {
"ContosoRegistry": {
"registry": "contosoregistry.azurecr.io"
},
"CoreModules": {
"registry": "contosoregistry.azurecr.io",
"modulePath": "bicep/modules/core"
}
},
"ts": {
"CoreSpecs": {
"subscription": "00000000-0000-0000-0000-000000000000",
"resourceGroup": "CoreSpecsRG"
}
}
}
}
При использовании псевдонима в ссылке на модуль необходимо применять следующие форматы:
br/<alias>:<file>:<tag>
ts/<alias>:<file>:<tag>
Определяйте псевдонимы для папки или группы ресурсов, которая содержит модули, а не для самого файла. Имя файла должно быть добавлено в ссылку на модуль.
Без псевдонимов вам потребуется указать ссылку на модуль в реестре с полным путем.
module stgModule 'br:contosoregistry.azurecr.io/bicep/modules/core/storage:v1' = {
С псевдонимами вы можете упростить ссылку, используя псевдоним для реестра.
module stgModule 'br/ContosoRegistry:bicep/modules/core/storage:v1' = {
Ссылку можно также упростить с помощью псевдонима, который указывает на путь к реестру и модулю.
module stgModule 'br/CoreModules:storage:v1' = {
Для спецификации шаблона используйте следующее:
module stgModule 'ts/CoreSpecs:storage:v1' = {
Псевдоним предопределен для общедоступных модулей. Для ссылки на общедоступный модуль можно использовать следующий формат:
br/public:<file>:<tag>
Примечание.
Модули, отличные от AVM (проверенные модули Azure), удаляются из общедоступного реестра модулей, большинство из которых доступны в качестве модулей AVM.
Вы можете переопределить определение псевдонима реестра общедоступных модулей в файле bicepconfig.json:
{
"moduleAliases": {
"br": {
"public": {
"registry": "<your_module_registry>",
"modulePath": "<optional_module_path>"
}
}
}
}
Настройка профилей и учетных данных
Для публикации модулей в зарытый реестр модулей или для восстановления модулей в локальный кэш у учетной записи должны быть правильные разрешения на доступ к реестру. Вы можете вручную настроить currentProfile
и credentialPrecedence
в файле конфигурации Bicep для проверки подлинности в реестре.
{
"cloud": {
"currentProfile": "AzureCloud",
"profiles": {
"AzureCloud": {
"resourceManagerEndpoint": "https://management.azure.com",
"activeDirectoryAuthority": "https://login.microsoftonline.com"
},
"AzureChinaCloud": {
"resourceManagerEndpoint": "https://management.chinacloudapi.cn",
"activeDirectoryAuthority": "https://login.chinacloudapi.cn"
},
"AzureUSGovernment": {
"resourceManagerEndpoint": "https://management.usgovcloudapi.net",
"activeDirectoryAuthority": "https://login.microsoftonline.us"
}
},
"credentialPrecedence": [
"AzureCLI",
"AzurePowerShell"
]
}
}
Доступные профили:
- AzureCloud
- AzureChinaCloud
- AzureUSGovernment
По умолчанию Bicep использует AzureCloud
профиль и учетные данные пользователя, прошедшего проверку подлинности в Azure CLI или Azure PowerShell. Эти профили можно настроить или включить новые для локальных сред. Если вы хотите опубликовать или восстановить модуль в национальной облачной среде, например AzureUSGovernment
, необходимо задать "currentProfile": "AzureUSGovernment"
, даже если вы выбрали этот облачный профиль в Azure CLI. Bicep не может автоматически определить текущий облачный профиль на основе параметров Azure CLI.
Bicep использует пакет SDK azure.Identity для проверки подлинности. Доступны следующие типы учетных данных:
Примечание.
Команда развертывания Bicep из vscode использует расширение учетной записи Azure для проверки подлинности. Он не использует облачные профили из bicepconfig.json.