Tworzenie rejestru prywatnego dla modułów Bicep

Aby udostępnić moduły w organizacji, możesz utworzyć rejestr modułów prywatnych. Moduły są publikowane w tym rejestrze i zapewniają dostęp 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 współtworzyć rejestr modułów publicznych, zobacz przewodnik dotyczący współtworzenia.

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.

  1. 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ą.

  2. 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
    
  3. 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.

  4. 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 Połączenie prywatnie do rejestru kontenerów platformy Azure przy użyciu usługi Azure Private Link.

Prywatny rejestr kontenerów musi mieć zasady azureADAuthenticationAsArmPolicy ustawione na enabledwartość . 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 utworzy szablon usługi ARM, który będzie przechowywany w rejestrze. Oznacza to, że opublikowanie pliku Bicep, który odwołuje się do innych modułów lokalnych, te moduły zostaną w pełni rozwinięte jako jeden plik JSON i opublikowane w rejestrze.

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

Wyświetlanie plików w rejestrze

Aby wyświetlić opublikowany moduł w portalu:

  1. Zaloguj się w witrynie Azure Portal.

  2. Wyszukaj rejestry kontenerów.

  3. Wybierz rejestr.

  4. Wybierz pozycję Repozytoria z menu po lewej stronie.

  5. Wybierz ścieżkę modułu (repozytorium). W poprzednim przykładzie nazwa ścieżki modułu to bicep/modules/storage.

  6. Wybierz etykietę. W poprzednim przykładzie tag to v1.

  7. Odwołanie do artefaktu jest zgodne z odwołaniem używanym w pliku Bicep.

    Bicep module registry artifact reference

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

Podczas korzystania z plików bicep, które są hostowane w rejestrze zdalnym, ważne jest, aby zrozumieć, jak maszyna lokalna będzie współdziałać z rejestrem. Po pierwszym zadeklarowaniu odwołania do rejestru edytor lokalny spró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
    

Wszelkie zmiany wprowadzone w rejestrze zdalnym nie zostaną rozpoznane przez komputer lokalny do momentu restore uruchomienia elementu z określonym plikiem zawierającym odwołanie do rejestru.

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

Aby uzyskać więcej informacji, zapoznaj się z poleceniem restore .

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.