Wprowadzenie

Ukończone

Podczas wdrażania infrastruktury jako kodu można zautomatyzować wdrożenia, zwiększyć zaufanie do wdrożeń i zwiększyć wydajność pracy zespołu. Jednak te korzyści mają zastosowanie tylko wtedy, gdy Ty i Twój zespół są sumienni i unikaj ręcznego wprowadzania zmian w środowisku.

W tym module dowiesz się, jak zastosować konfigurację i ład do środowiska i potoków platformy Azure, aby uniknąć nieoczekiwanych lub niekontrolowanych zmian.

Uwaga

Termin funkcji GitHub Actions dla potoku to przepływ pracy. Dla uproszczenia w tym module używamy potoku do odwoływania się do obu potoków w usłudze Azure Pipelines i przepływów pracy w funkcji GitHub Actions.

Przykładowy scenariusz

Załóżmy, że pracujesz jako administrator platformy Azure w firmie z toy. W ciągu ostatnich kilku miesięcy ty i Twój zespół konwertują wdrożenia platformy Azure, aby korzystać z aplikacji Bicep. Procesy wdrażania zostały zautomatyzowane przy użyciu potoków. Jednak twój zespół nadal ma niektórych członków, którzy nie przyjęli jeszcze sposobu myślenia o wdrażaniu wszystkich zmian jako kodu.

Ostatnio było kilka sytuacji, w których osoby wdrożone na platformie Azure przy użyciu różnych procesów:

  1. Ktoś dokonał bezpośredniej zmiany konfiguracji witryny internetowej przy użyciu witryny Azure Portal.
  2. Ktoś wdrożył nowy plik Bicep bezpośrednio z własnego komputera.
  3. Ktoś skopiował poświadczenia jednostki usługi potoku i użył ich do uzyskania dostępu do środowiska produkcyjnego przy użyciu interfejsu wiersza polecenia platformy Azure.
  4. Ktoś zobowiązał się do zmiany pliku Bicep bezpośrednio w głównej gałęzi repozytorium, pomijając przeglądy żądań ściągnięcia.
  5. Ktoś zaktualizował plik Bicep przy użyciu żądania ściągnięcia. Zmiany zostały zweryfikowane, przetestowane i wdrożone w prawidłowej sekwencji środowisk.

Na poniższym diagramie przedstawiono następujące scenariusze:

Diagram that shows several approaches to making Azure configuration changes.

Spośród wszystkich tych zmian wdrożono tylko liczbę 5 za pomocą przyjętych narzędzi automatyzacji i procesu, w którym zespół zgodził się. Żadna z innych zmian nie spowodowała żadnych szkód, ale nie chcesz naciskać szczęścia. Twój zespół zdecydował się wymusić proces, dzięki czemu możesz uzyskać największe korzyści z inwestycji w automatyzację. Ty i Twój zespół zgodzili się zamknąć możliwość wdrażania w środowisku platformy Azure, z wyjątkiem zatwierdzonego procesu:

Diagram that shows several approaches to making Azure configuration changes, which are all blocked except for the approved process.

Co zrobisz?

W tym module dowiesz się, jak wymusić wdrożenie infrastruktury platformy Azure jako kod. Należy wziąć pod uwagę mechanizmy kontroli, które należy zastosować do każdego środowiska, oraz zastosować zasady ładu i zabezpieczeń w celu ochrony zasobów platformy Azure. Dowiesz się również, jak zabezpieczyć potoki i repozytoria, zapewniając, że wszystkie aspekty konfiguracji platformy Azure są zgodne z zalecanym i wzmocnionym procesem.

Napiwek

Ten moduł zawiera wprowadzenie do wielu funkcji zabezpieczeń. Jednostka podsumowania zawiera linki do dodatkowych informacji o każdej funkcji.

Jaki jest główny cel?

Po ukończeniu tego modułu możesz zidentyfikować mechanizmy kontroli zabezpieczeń i ładu, które należy zastosować do środowiska platformy Azure, repozytoriów i potoków, co umożliwia wdrożenie całej infrastruktury jako kodu.

Wymagania wstępne

Należy zapoznać się z używaniem:

  • Infrastruktura jako kod i jego zalety oraz technologia, taka jak Bicep lub Terraform.
  • Platforma Azure, w tym witryna Azure Portal, subskrypcje, grupy zasobów i zasoby.
  • Usługa Git umożliwia zarządzanie kodem, w tym gałęziami i żądaniami ściągnięcia.
  • Wdrożenia automatyczne za pośrednictwem funkcji GitHub Actions lub usługi Azure Pipelines.