Een privécontainerregister maken in Azure for Bicep-modules
Als u modules binnen uw organisatie wilt delen, kunt u een privémoduleregister maken. Vervolgens kunt u modules naar dat register publiceren en leestoegang verlenen 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 openbare modules wilt gebruiken, raadpleegt u Bicep-modules.
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 versie 2.31.0 of hoger hebben. Als u met Azure PowerShell wilt gebruiken, moet u versie 7.0.0 of hoger hebben.
Trainingsmateriaal
Zie de Bicep-modules delen met behulp van de Learn-module voor privéregisters voor stapsgewijze instructies over parameters.
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 Privé verbinding maken met 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 publicatieopdracht maakt u een ARM-sjabloon die in het register wordt opgeslagen. 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 de Bicep-code te bekijken. 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 bronswitch ziet u een andere 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 gebruikt.
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 communiceert met het register. 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
Uw lokale computer kan eventuele wijzigingen in het externe register herkennen totdat u een restore
bestand uitvoert met het opgegeven bestand dat de registerreferentie bevat.
az bicep restore --file <bicep-file> [--force]
Zie 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.