Share via


Privéregister maken voor Bicep-modules

Als u modules binnen uw organisatie wilt delen, kunt u een privémoduleregister maken. U publiceert modules naar dat register en geeft leestoegang aan gebruikers die de modules moeten implementeren. Nadat de modules zijn gedeeld in de registers, kunt u ernaar verwijzen vanuit uw Bicep-bestanden. Als u wilt bijdragen aan het register van de openbare module, raadpleegt u de handleiding voor bijdragen.

Als u wilt werken met moduleregisters, moet u Bicep CLI versie 0.4.1008 of hoger hebben. Als u azure CLI wilt gebruiken, moet u ook versie 2.31.0 of hoger hebben. Als u met Azure PowerShell wilt gebruiken, moet u ook versie 7.0.0 of hoger hebben.

Trainingsmateriaal

Als u liever meer wilt weten over parameters via stapsgewijze richtlijnen, raadpleegt u Bicep-modules delen met behulp van privéregisters.

Privéregister configureren

Een Bicep-register wordt gehost in Azure Container Registry (ACR). Gebruik de volgende stappen om uw register voor modules te configureren.

  1. Als u al een containerregister hebt, kunt u dit gebruiken. Als u een containerregister wilt maken, raadpleegt u quickstart: Een containerregister maken met behulp van een Bicep-bestand.

    U kunt een van de beschikbare register-SKU's voor het moduleregister gebruiken. Geo-replicatie van register biedt gebruikers een lokale aanwezigheid of als dynamische back-up.

  2. Haal de naam van de aanmeldingsserver op. U hebt deze naam nodig bij het koppelen aan het register vanuit uw Bicep-bestanden. De indeling van de aanmeldingsservernaam is: <registry-name>.azurecr.io.

    Gebruik Get-AzContainerRegistry om de naam van de aanmeldingsserver op te halen.

    Get-AzContainerRegistry -ResourceGroupName "<resource-group-name>" -Name "<registry-name>"  | Select-Object LoginServer
    
  3. Als u modules naar een register wilt publiceren, moet u gemachtigd zijn om een installatiekopieën te pushen . Als u een module uit een register wilt implementeren, moet u gemachtigd zijn om de installatiekopie op te halen . Zie Azure Container Registry-rollen en -machtigingen voor meer informatie over de rollen die voldoende toegang verlenen.

  4. Afhankelijk van het type account dat u gebruikt om de module te implementeren, moet u mogelijk aanpassen welke referenties worden gebruikt. Deze referenties zijn nodig om de modules op te halen uit het register. Referenties worden standaard verkregen via Azure CLI of Azure PowerShell. U kunt de prioriteit aanpassen voor het verkrijgen van de referenties in het bicepconfig.json-bestand . Zie Referenties voor het herstellen van modules voor meer informatie.

Belangrijk

Het privécontainerregister is alleen beschikbaar voor gebruikers met de vereiste toegang. Het is echter toegankelijk via het openbare internet. Voor meer beveiliging kunt u toegang vereisen via een privé-eindpunt. Zie Verbinding maken privé naar een Azure-containerregister met behulp van Azure Private Link.

Het privécontainerregister moet het beleid azureADAuthenticationAsArmPolicy hebben ingesteld op enabled. Als azureADAuthenticationAsArmPolicy dit is ingesteld disabled, krijgt u een 401-foutbericht (niet geautoriseerd) bij het publiceren van modules. Zie Azure Container Registry introduceert het beleid voor voorwaardelijke toegang.

Bestanden publiceren naar register

Nadat u het containerregister hebt ingesteld, kunt u er bestanden naar publiceren. Gebruik de opdracht Publiceren en geef bicep-bestanden op die u wilt gebruiken als modules. Geef de doellocatie op voor de module in het register. Met de opdracht Publiceren wordt een ARM-sjabloon gemaakt die wordt opgeslagen in het register. Dit betekent dat als u een Bicep-bestand publiceert dat verwijst naar andere lokale modules, deze modules volledig worden uitgebreid als één JSON-bestand en naar het register worden gepubliceerd.

Publish-AzBicepModule -FilePath ./storage.bicep -Target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 -DocumentationUri https://www.contoso.com/exampleregistry.html

Met Bicep CLI versie 0.27.1 of hoger kunt u een module met de Bicep-broncode naast de gecompileerde JSON-sjabloon publiceren. Als een module met de Bicep-broncode naar een register wordt gepubliceerd, kunt u vanuit Visual Studio Code op (Go to Definition) drukken F12 om bicep Code te zien. De Bicep-extensie versie 0.27 of nieuw is vereist om het Bicep-bestand te zien.

Publish-AzBicepModule -FilePath ./storage.bicep -Target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 -DocumentationUri https://www.contoso.com/exampleregistry.html -WithSource

Met de schakeloptie met bron ziet u een extra laag in het manifest:

Schermopname van bicep-moduleregister met bron.

Als de Bicep-module verwijst naar een module in een privéregister, is het ACR-eindpunt zichtbaar. Als u het volledige eindpunt wilt verbergen, kunt u een alias voor het privéregister configureren.

Bestanden in register weergeven

De gepubliceerde module bekijken in de portal:

  1. Meld u aan bij het Azure-portaal.

  2. Zoek naar containerregisters.

  3. Selecteer uw register.

  4. Selecteer Services -> Opslagplaatsen in het linkermenu.

  5. Selecteer het modulepad (opslagplaats). In het voorgaande voorbeeld is de naam van het modulepad bicep/modules/opslag.

  6. Selecteer de tag. In het voorgaande voorbeeld is de tag v1.

  7. De artefactreferentie komt overeen met de verwijzing die u in het Bicep-bestand gaat gebruiken.

    Referentie voor bicep-moduleregisterartefacten

U bent nu klaar om te verwijzen naar het bestand in het register vanuit een Bicep-bestand. Zie Bicep-modules voor voorbeelden van de syntaxis die moet worden gebruikt om te verwijzen naar een externe module.


Werken met Bicep-registerbestanden

Wanneer u bicep-bestanden gebruikt die worden gehost in een extern register, is het belangrijk om te begrijpen hoe uw lokale computer met het register communiceert. Wanneer u de verwijzing naar het register voor het eerst declareert, probeert uw lokale editor te communiceren met Azure Container Registry en een kopie van het register te downloaden naar uw lokale cache.

De lokale cache vindt u in:

  • In Windows

    %USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
    
  • In Linux

    /home/<username>/.bicep
    
  • Op Mac

    ~/.bicep
    

Wijzigingen die zijn aangebracht in het externe register, worden pas herkend door uw lokale computer nadat een restore bestand is uitgevoerd met het opgegeven bestand dat de registerreferentie bevat.

az bicep restore --file <bicep-file> [--force]

Raadpleeg de restore opdracht voor meer informatie.

Volgende stappen