Tworzenie rejestru prywatnego dla modułów Bicep
Aby udostępnić moduły w organizacji, możesz utworzyć rejestr modułów prywatnych. Następnie możesz opublikować moduły w tym rejestrze i udzielić dostępu do odczytu użytkownikom, którzy muszą wdrożyć moduły. Po udostępnieniu modułów w rejestrach można odwoływać się do nich z plików Bicep. Aby użyć modułów publicznych, zobacz Moduły Bicep.
Aby pracować z rejestrami modułów, musisz mieć interfejs wiersza polecenia Bicep w wersji 0.4.1008 lub nowszej. Aby korzystać z interfejsu wiersza polecenia platformy Azure, musisz również mieć wersję 2.31.0 lub nowszą. Aby używać go z programem Azure PowerShell, musisz mieć również wersję 7.0.0 lub nowszą.
Zasoby szkoleniowe
Jeśli wolisz dowiedzieć się więcej o parametrach za pomocą szczegółowych wskazówek, zobacz Udostępnianie modułów Bicep przy użyciu prywatnych rejestrów.
Konfigurowanie rejestru prywatnego
Rejestr Bicep jest hostowany w usłudze Azure Container Registry (ACR). Wykonaj poniższe kroki, aby skonfigurować rejestr dla modułów.
Jeśli masz już rejestr kontenerów, możesz go użyć. Jeśli musisz utworzyć rejestr kontenerów, zobacz Szybki start: tworzenie rejestru kontenerów przy użyciu pliku Bicep.
Dla rejestru modułów można użyć dowolnego z dostępnych jednostek SKU rejestru. Replikacja geograficzna rejestru zapewnia użytkownikom lokalną obecność lub jako gorącą kopię zapasową.
Pobierz nazwę serwera logowania. Ta nazwa jest potrzebna podczas łączenia z rejestrem z plików Bicep. Format nazwy serwera logowania to:
<registry-name>.azurecr.io
.Aby uzyskać nazwę serwera logowania, użyj polecenia Get-AzContainerRegistry.
Get-AzContainerRegistry -ResourceGroupName "<resource-group-name>" -Name "<registry-name>" | Select-Object LoginServer
Aby opublikować moduły w rejestrze, musisz mieć uprawnienia do wypychania obrazu. Aby wdrożyć moduł z rejestru, musisz mieć uprawnienia do ściągania obrazu. Aby uzyskać więcej informacji na temat ról, które udzielają odpowiedniego dostępu, zobacz Role i uprawnienia usługi Azure Container Registry.
W zależności od typu konta używanego do wdrożenia modułu może być konieczne dostosowanie używanych poświadczeń. Te poświadczenia są potrzebne do pobrania modułów z rejestru. Domyślnie poświadczenia są uzyskiwane z interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell. Możesz dostosować pierwszeństwo pobierania poświadczeń w pliku bicepconfig.json . Aby uzyskać więcej informacji, zobacz Poświadczenia dotyczące przywracania modułów.
Ważne
Prywatny rejestr kontenerów jest dostępny tylko dla użytkowników z wymaganym dostępem. Dostęp do niego jest jednak uzyskiwany za pośrednictwem publicznego Internetu. Aby uzyskać więcej zabezpieczeń, możesz wymagać dostępu za pośrednictwem prywatnego punktu końcowego. Zobacz Łączenie prywatnie z rejestrem kontenerów platformy Azure przy użyciu usługi Azure Private Link.
Prywatny rejestr kontenerów musi mieć zasady azureADAuthenticationAsArmPolicy
ustawione na enabled
wartość . Jeśli azureADAuthenticationAsArmPolicy
ustawiono wartość disabled
, podczas publikowania modułów zostanie wyświetlony komunikat o błędzie 401 (Brak autoryzacji). Zobacz Usługa Azure Container Registry wprowadza zasady dostępu warunkowego.
Publikowanie plików w rejestrze
Po skonfigurowaniu rejestru kontenerów możesz opublikować w nim pliki. Użyj polecenia publish i podaj wszystkie pliki Bicep, które mają być używane jako moduły. Określ lokalizację docelową modułu w rejestrze. Polecenie publikowania tworzy szablon usługi ARM, który jest przechowywany w rejestrze. Oznacza to, że w przypadku publikowania pliku Bicep odwołującego się do innych modułów lokalnych te moduły są w pełni rozwinięte jako jeden plik JSON i publikowane w rejestrze.
Publish-AzBicepModule -FilePath ./storage.bicep -Target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 -DocumentationUri https://www.contoso.com/exampleregistry.html
Przy użyciu interfejsu wiersza polecenia Bicep w wersji 0.27.1 lub nowszej można opublikować moduł z kodem źródłowym Bicep oprócz skompilowanego szablonu JSON. Jeśli moduł zostanie opublikowany przy użyciu kodu źródłowego Bicep do rejestru, możesz nacisnąć F12
(Przejdź do definicji) z programu Visual Studio Code, aby wyświetlić kod Bicep. Rozszerzenie Bicep w wersji 0.27 lub nowej jest wymagane do wyświetlenia pliku Bicep.
Publish-AzBicepModule -FilePath ./storage.bicep -Target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 -DocumentationUri https://www.contoso.com/exampleregistry.html -WithSource
Za pomocą przełącznika źródłowego zobaczysz kolejną warstwę w manifeście:
Jeśli moduł Bicep odwołuje się do modułu w rejestrze prywatnym, punkt końcowy usługi ACR jest widoczny. Aby ukryć pełny punkt końcowy, można skonfigurować alias dla rejestru prywatnego.
Wyświetlanie plików w rejestrze
Aby wyświetlić opublikowany moduł w portalu:
Zaloguj się w witrynie Azure Portal.
Wyszukaj rejestry kontenerów.
Wybierz rejestr.
Wybierz pozycję Usługi -> Repozytoria z menu po lewej stronie.
Wybierz ścieżkę modułu (repozytorium). W poprzednim przykładzie nazwa ścieżki modułu to bicep/modules/storage.
Wybierz etykietę. W poprzednim przykładzie tag to v1.
Odwołanie do artefaktu jest zgodne z odwołaniem używanym w pliku Bicep.
Teraz możesz odwoływać się do pliku w rejestrze z pliku Bicep. Przykłady składni używanej do odwoływania się do modułu zewnętrznego można znaleźć w temacie Moduły Bicep.
Praca z plikami rejestru Bicep
W przypadku korzystania z plików bicep, które są hostowane w rejestrze zdalnym, ważne jest, aby zrozumieć, jak maszyna lokalna współdziała z rejestrem. Po pierwszym zadeklarowaniu odwołania do rejestru edytor lokalny próbuje nawiązać komunikację z usługą Azure Container Registry i pobrać kopię rejestru do lokalnej pamięci podręcznej.
Lokalna pamięć podręczna znajduje się w:
W systemie Windows
%USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
W systemie Linux
/home/<username>/.bicep
Na komputerze Mac
~/.bicep
Komputer lokalny może rozpoznać wszelkie zmiany wprowadzone w rejestrze zdalnym do momentu uruchomienia elementu z określonym plikiem restore
zawierającym odwołanie do rejestru.
az bicep restore --file <bicep-file> [--force]
Aby uzyskać więcej informacji, zobacz restore
polecenie .
Następne kroki
- Aby dowiedzieć się więcej o modułach, zobacz Moduły Bicep.
- Aby skonfigurować aliasy dla rejestru modułów, zobacz Dodawanie ustawień modułu w pliku konfiguracji Bicep.
- Aby uzyskać więcej informacji na temat publikowania i przywracania modułów, zobacz Polecenia interfejsu wiersza polecenia Bicep.