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.
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.
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
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.
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:
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:
Meld u aan bij het Azure-portaal.
Zoek naar containerregisters.
Selecteer uw register.
Selecteer Services -> Opslagplaatsen in het linkermenu.
Selecteer het modulepad (opslagplaats). In het voorgaande voorbeeld is de naam van het modulepad bicep/modules/opslag.
Selecteer de tag. In het voorgaande voorbeeld is de tag v1.
De artefactreferentie komt overeen met de verwijzing die u in het Bicep-bestand gaat gebruiken.
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
- Zie Bicep-modules voor meer informatie over modules.
- Zie Module-instellingen toevoegen in het Bicep-configuratiebestand om aliassen voor een moduleregister te configureren.
- Zie Bicep CLI-opdrachten voor meer informatie over het publiceren en herstellen van modules.