Поделиться через


Добавление параметров модуля в файл конфигурации 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.

Следующие шаги