Omówienie zakresów wdrażania
Maszyny wirtualne, serwery logiczne i bazy danych usługi Azure SQL, konta magazynu, sieci wirtualne i większość innych zasobów platformy Azure należy umieścić w grupie zasobów. Jednak niektóre zasoby mogą być wdrażane w inny sposób lub muszą być wdrażane w inny sposób. Te zasoby są zwykle używane do kontrolowania zachowania środowiska platformy Azure.
W tej lekcji zapoznasz się z hierarchią organizacji zasobów platformy Azure i dowiesz się, jak niektóre zasoby mogą być wdrażane w różnych zakresach.
Hierarchia zasobów platformy Azure
Platforma Azure ma hierarchiczną strukturę zasobów z wieloma poziomami zarządzania. Oto diagram przedstawiający sposób organizowania środowiska platformy Azure przez firmę torysów:
Dzierżawa odpowiada twojemu wystąpieniu firmy Microsoft Entra. Organizacja zwykle ma tylko jedno wystąpienie firmy Microsoft Entra. To wystąpienie działa jako katalog główny hierarchii zasobów.
Grupy zarządzania umożliwiają organizowanie subskrypcji platformy Azure. Każda dzierżawa ma jedną główną grupę zarządzania i możesz ustanowić w niej własną hierarchię grup zarządzania. Możesz utworzyć oddzielne grupy zarządzania dla różnych części organizacji lub subskrypcji, które mają własne wymagania dotyczące zabezpieczeń lub ładu. Ograniczenia zasad i kontroli dostępu można stosować do grup zarządzania, a wszystkie subskrypcje poniżej tej grupy zarządzania w hierarchii dziedziczą te ograniczenia. Grupy zarządzania nie są wdrażane w regionach i nie mają wpływu na lokalizacje zasobów.
Subskrypcje działają jako konta rozliczeniowe i zawierają grupy zasobów i zasoby. Podobnie jak grupy zarządzania, subskrypcje nie mają lokalizacji i nie ograniczają miejsca wdrażania zasobów.
Grupy zasobów to kontenery logiczne dla zasobów. Za pomocą grup zasobów można zarządzać powiązanymi zasobami i kontrolować je jako pojedynczą jednostkę. Zasoby, takie jak maszyny wirtualne, plany usługi aplikacja systemu Azure, konta magazynu i sieci wirtualne, muszą zostać umieszczone w grupie zasobów. Grupy zasobów są tworzone w lokalizacji, aby platforma Azure mogła śledzić metadane zasobów w grupie, ale zasoby wewnątrz grupy mogą być wdrażane w innych lokalizacjach.
Wcześniej zilustrowany przykład jest dość podstawowym scenariuszem, który pokazuje, jak można używać grup zarządzania. Organizacja może również rozważyć wdrożenie strefy docelowej, która jest zestawem zasobów i konfiguracji platformy Azure, które należy rozpocząć w środowisku produkcyjnym platformy Azure. Strefa docelowa o skali przedsiębiorstwa to sprawdzone podejście do korzystania z grup zarządzania i subskrypcji w celu efektywnego zarządzania zasobami platformy Azure:
Niezależnie od używanego modelu, poznając różne poziomy hierarchii, możesz zacząć stosować elastyczne mechanizmy kontroli dotyczące sposobu korzystania ze środowiska platformy Azure i zarządzania nim. Korzystając z Bicep, można zarządzać tymi kontrolkami ze wszystkimi korzyściami infrastruktury jako kodu.
Uwaga
Istnieją również inne zasoby, które są wdrażane w określonych zakresach. Zasoby rozszerzenia są wdrażane w zakresie innego zasobu platformy Azure. Na przykład blokada zasobu to zasób rozszerzenia, który jest wdrażany w zasobie, takim jak konto magazynu.
Wiesz już, jak wdrażać zasoby w grupach zasobów, więc przyjrzyjmy się innym zakresom wdrożenia.
Zasoby o zakresie subskrypcji
Zasoby można wdrożyć w subskrypcji, gdy:
- Musisz utworzyć nową grupę zasobów. Grupa zasobów jest naprawdę tylko zasobem o zakresie subskrypcji.
- Musisz udzielić dostępu do wszystkich zasobów w ramach subskrypcji. Jeśli na przykład dział kadr ma subskrypcję platformy Azure zawierającą wszystkie zasoby platformy Azure działu, możesz utworzyć przypisania ról, aby umożliwić wszystkim w dziale kadr odczytywanie zawartości subskrypcji.
- Używasz usługi Azure Policy i chcesz zdefiniować lub zastosować zasady do wszystkich zasobów w ramach subskrypcji. Na przykład dział R&D twojej firmy z prośbą o wdrożenie zasad, które ograniczają listę jednostek SKU maszyn wirtualnych, które można utworzyć w ramach subskrypcji zespołu.
Zasoby w zakresie grupy zarządzania
Zasoby można wdrożyć w grupie zarządzania, gdy:
Musisz udzielić dostępu do wszystkich zasobów w ramach wszystkich subskrypcji należących do hierarchii grup zarządzania. Na przykład zespół operacyjny ds. chmury może wymagać dostępu do każdej subskrypcji w organizacji. Możesz utworzyć przypisanie roli w głównej grupie zarządzania, która przyznaje zespołowi ds. operacji w chmurze dostęp do wszystkich elementów na platformie Azure.
Uwaga
Należy zachować szczególną ostrożność podczas udzielania dostępu do zasobów przy użyciu grup zarządzania, a zwłaszcza głównej grupy zarządzania. Należy pamiętać, że każdy zasób w grupie zarządzania w hierarchii dziedziczy przypisanie roli. Upewnij się, że organizacja przestrzega najlepszych rozwiązań dotyczących zarządzania tożsamościami i uwierzytelniania oraz że jest zgodna z zasadą najniższych uprawnień; oznacza to, że nie udzielaj dostępu, który nie jest wymagany.
Należy zastosować zasady w całej organizacji. Na przykład organizacja może mieć zasady, których nie można utworzyć w niektórych regionach geograficznych, w żadnym wypadku. Możesz zastosować zasady do głównej grupy zarządzania, która zablokuje tworzenie zasobów w tym regionie.
Uwaga
Przed pierwszym użyciem grup zarządzania skonfiguruj je dla środowiska platformy Azure.
Zasoby w zakresie dzierżawy
Zasoby można wdrożyć w dzierżawie, gdy:
Musisz utworzyć subskrypcje platformy Azure. W przypadku korzystania z grup zarządzania subskrypcje znajdują się w grupach zarządzania w hierarchii zasobów, ale subskrypcja jest wdrażana jako zasób o zakresie dzierżawy.
Uwaga
Nie wszyscy klienci platformy Azure mogą tworzyć subskrypcje przy użyciu infrastruktury jako kodu. W zależności od relacji rozliczeniowych z firmą Microsoft może to nie być możliwe. Więcej informacji można znaleźć w sekcji Programowe tworzenie subskrypcji platformy Azure.
Tworzysz lub konfigurujesz grupy zarządzania. Platforma Azure tworzy pojedynczą główną grupę zarządzania po włączeniu grup zarządzania dla dzierżawy i można w niej utworzyć wiele poziomów grup zarządzania. Możesz użyć Bicep, aby zdefiniować całą hierarchię grup zarządzania. Możesz również przypisać subskrypcje do grup zarządzania.
Dzięki aplikacji Bicep można przesyłać wdrożenia do zakresu dzierżawy. Wdrożenia w zakresie dzierżawy wymagają specjalnych uprawnień. Jednak w praktyce nie trzeba przesyłać wdrożeń w zakresie dzierżawy. Zamiast tego łatwiej jest wdrożyć zasoby o zakresie dzierżawy przy użyciu szablonu w innym zakresie. Zobaczysz, jak to zrobić w dalszej części tego modułu.
Napiwek
Nie można tworzyć zasad ani przypisań ról w zakresie dzierżawy. Jeśli jednak musisz udzielić dostępu lub zastosować zasady w całej organizacji, możesz wdrożyć te zasoby w głównej grupie zarządzania.
Identyfikatory zasobów
Do tej pory znasz identyfikatory zasobów dla zasobów, które znajdują się w subskrypcjach. Na przykład oto identyfikator zasobu reprezentujący grupę zasobów, która jest zasobem o zakresie subskrypcji:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ToyDevelopment
Oto wizualna reprezentacja tych samych informacji:
Same subskrypcje mają własne identyfikatory, w następujący sposób:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
Uwaga
Chociaż subskrypcje są traktowane jako elementy podrzędne grup zarządzania, ich identyfikatory zasobów nie zawierają identyfikatora grupy zarządzania. Platforma Azure śledzi relację między subskrypcjami i grupami zarządzania w sposób inny niż inne relacje zasobów. Zapewnia to elastyczność przenoszenia subskrypcji między grupami zarządzania bez konieczności zmieniania wszystkich identyfikatorów zasobów.
Podczas pracy z zasobami w zakresie grupy zarządzania lub dzierżawy identyfikatory zasobów mogą wyglądać nieco inaczej niż normalnie. Są one najczęściej zgodne ze standardowym wzorcem przeplatania typu zasobu z informacjami o określonych zasobach. Jednak określony format zależy od zasobu, z którym pracujesz.
Oto przykładowy identyfikator zasobu dla grupy zarządzania:
/providers/Microsoft.Management/managementGroups/ProductionMG
Oto, jak to wygląda:
Uwaga
Grupy zarządzania mają zarówno identyfikator, jak i nazwę wyświetlaną. Nazwa wyświetlana to czytelny dla człowieka opis grupy zarządzania. Możesz zmienić nazwę wyświetlaną bez wpływu na identyfikator grupy zarządzania.
Gdy zasób jest wdrażany w zakresie grupy zarządzania, jego identyfikator zasobu zawiera identyfikator grupy zarządzania. Oto przykładowy identyfikator zasobu definicji roli, która została utworzona w zakresie grupy zarządzania:
/providers/Microsoft.Management/managementGroups/ProductionMG/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000
Oto wizualna reprezentacja tego samego identyfikatora:
Inna definicja roli może być zdefiniowana w zakresie subskrypcji, więc jego identyfikator zasobu wygląda nieco inaczej:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000
Oto wizualna reprezentacja tego samego identyfikatora:
Teraz, gdy rozumiesz hierarchię zasobów platformy Azure i typy zasobów, które można wdrożyć w każdym zakresie, możesz podjąć decyzje dotyczące zakresów, w których mają zostać wdrożone zasoby. Możesz na przykład dokonać świadomego wyboru, czy należy utworzyć definicję zasad w zakresie grupy zasobów, subskrypcji lub grupy zarządzania. W następnej lekcji dowiesz się, jak utworzyć pliki Bicep przeznaczone dla każdego z tych zakresów.