Freigeben über


Hinzufügen von Moduleinstellungen in der Bicep-Konfigurationsdatei

In einer bicepconfig.json-Datei können Sie Aliasnamen für Modulpfade erstellen und die Priorität von Profilen und Anmeldeinformationen für die Veröffentlichung und Wiederherstellung von Modulen konfigurieren.

In diesem Artikel werden die Einstellungen beschrieben, die für die Arbeit mit Bicep-Modulen verfügbar sind.

Aliase für Module

Um den Pfad zum Verknüpfen mit Modulen zu vereinfachen, erstellen Sie Aliase in der Konfigurationsdatei. Ein Alias verweist entweder auf eine Modulregistrierung oder eine Ressourcengruppe, die Vorlagenspezifikationen enthält.

Die Konfigurationsdatei verfügt über eine Eigenschaft für moduleAliases. Diese Eigenschaft enthält alle Aliase, die Sie definieren. Unter dieser Eigenschaft werden die Aliase basierend darauf aufgeteilt, ob sie auf eine Registrierung oder eine Vorlagenspezifikation verweisen.

Um einen Alias für eine Bicep-Registrierung zu erstellen, fügen Sie eine br Eigenschaft hinzu. Um einen Alias für eine Vorlagenspezifikation hinzuzufügen, verwenden Sie die ts Eigenschaft.

{
  "moduleAliases": {
    "br": {
      <add-registry-aliases>
    },
    "ts": {
      <add-template-specs-aliases>
    }
  }
}

Fügen Sie innerhalb der Eigenschaft br so viele Aliase hinzu, wie benötigt. Geben Sie für jeden Alias einen Namen und die folgenden Eigenschaften ein:

  • registry (erforderlich): Name des Registrierungsanmeldeservers.
  • modulePath (optional): Registrierungsrepository, in dem die Module gespeichert werden.

Fügen Sie innerhalb der Eigenschaft ts so viele Aliase hinzu, wie benötigt. Geben Sie für jeden Alias einen Namen und die folgenden Eigenschaften ein:

  • subscription (erforderlich): Die Abonnement-ID, die die Vorlagenspezifikationen hostet.
  • resourceGroup (erforderlich): Der Name der Ressourcengruppe, die die Vorlagenspezifikationen enthält.

Das folgende Beispiel zeigt eine Konfigurationsdatei, die zwei Aliase für eine Modulregistrierung definiert, und einen Alias für eine Ressourcengruppe, die Vorlagenspezifikationen enthält.

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

Wenn Sie einen Alias im Modulverweis verwenden, müssen Sie diese Formate verwenden:

br/<alias>:<file>:<tag>
ts/<alias>:<file>:<tag>

Definieren Sie Ihre Aliase für den Ordner oder die Ressourcengruppe, der/die Module enthält, nicht für die Datei selbst. Der Dateiname muss im Verweis auf das Modul enthalten sein.

Ohne die Aliase würden Sie mit dem vollständigen Pfad eine Verknüpfung mit einem Modul in einer Registrierung herstellen.

module stgModule 'br:contosoregistry.azurecr.io/bicep/modules/core/storage:v1' = {

Mit den Aliasen können Sie den Link vereinfachen, indem Sie den Alias für die Registrierung verwenden.

module stgModule 'br/ContosoRegistry:bicep/modules/core/storage:v1' = {

Alternativ können Sie den Link vereinfachen, indem Sie den Alias verwenden, der die Registrierung und den Modulpfad angibt.

module stgModule  'br/CoreModules:storage:v1' = {

Verwenden Sie als Vorlagenspezifikation:

module stgModule  'ts/CoreSpecs:storage:v1' = {

Ein Alias wurde für die öffentliche Modulregistrierung vordefiniert. Um auf ein öffentliches Modul zu verweisen, können Sie das folgende Format verwenden:

br/public:<file>:<tag>

Sie können die Aliasdefinition der öffentlichen Modulregistrierung in der Datei „bicepconfig.json“ außer Kraft setzen:

{
  "moduleAliases": {
    "br": {
      "public": {
        "registry": "<your_module_registry>",
        "modulePath": "<optional_module_path>"
      }
    }
  }
}

Konfigurieren von Profilen und Anmeldeinformationen

Um Module in einer privaten Modulregistrierung zu veröffentlichen oder um externe Module im lokalen Cache wiederherzustellen, muss das Konto über die richtigen Berechtigungen für den Zugriff auf die Registrierung verfügen. Sie können currentProfile und credentialPrecedence manuell in der Bicep-Konfigurationsdatei konfigurieren, um die Authentifizierung bei der Registrierung durchzuführen.

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

Die verfügbaren Profile sind:

  • AzureCloud
  • AzureChinaCloud
  • AzureUSGovernment

Standardmäßig verwendet Bicep das AzureCloud-Profil und die Anmeldeinformationen des Benutzers/der Benutzerin, der/die in der Azure-Befehlszeilenschnittstelle oder in Azure PowerShell authentifiziert wurde. Sie können diese Profile anpassen oder neue Profile für Ihre lokalen Umgebungen hinzufügen. Wenn Sie ein Modul in einer nationalen Cloudumgebung veröffentlichen oder wiederherstellen möchten (z. B. AzureUSGovernment), müssen Sie "currentProfile": "AzureUSGovernment" auch dann festlegen, wenn Sie dieses Cloudprofil bereits in der Azure-Befehlszeilenschnittstelle ausgewählt haben. Bicep kann das aktuelle Cloudprofil nicht automatisch basierend auf den Einstellungen der Azure-Befehlszeilenschnittstelle ermitteln.

Bicep verwendet das Azure.Identity SDK zur Authentifizierung. Die verfügbaren Anmeldeinformationstypen sind:

Hinweis

Der Bicep-Befehl „deploy“ aus vscode verwendet die Azure-Kontoerweiterung für die Authentifizierung. Er verwendet keine Cloudprofile aus bicepconfig.json.

Nächste Schritte