Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Z tego artykułu dowiesz się, jak używać instrukcji warunkowych usługi Azure Policy do tworzenia grup sieciowych z członkostwem dynamicznym. Te instrukcje warunkowe są tworzone przy użyciu edytora podstawowego, wybierając parametry i operatory z menu rozwijanego. Dowiesz się również, jak za pomocą edytora zaawansowanego aktualizować instrukcje warunkowe istniejącej grupy sieciowej.
Azure Policy to usługa umożliwiająca wymuszanie ładu poszczególnych zasobów na dużą skalę. Może służyć do określania wyrażeń warunkowych definiujących członkostwo w grupie, w przeciwieństwie do jawnych list sieci wirtualnych. Ten warunek nadal dynamicznie obsługuje grupy sieciowe, umożliwiając sieciom wirtualnym automatyczne dołączanie do grupy i opuszczanie jej w miarę jak zmienia się stopień spełniania przez nie tego warunku, bez konieczności wykonywania operacji w Menedżerze sieci.
Uwaga
Czasowanie warunkowego członkostwa w grupie sieciowej zależy od zakresu przypisania Azure Policy. Przy liczbie subskrypcji poniżej 1 000 aktualizacje członkostwa mogą trwać kilka minut. W środowiskach z ponad 1000 subskrypcji Azure Policy może potrzebować nawet 24 godzin, by powiadomić grupę sieciową. Po wysłaniu powiadomienia aktywne konfiguracje zaczynają obowiązywać dla zaktualizowanych członków po kilku minutach. Więcej informacji można znaleźć w artykule Opóźnienia i timing wdrożenia.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Aby zmodyfikować dynamiczne grupy sieciowe, należy udzielić dostępu z kontrolą dostępu opartą na rolach. Autoryzacja administratora klasycznego/starszej wersji nie jest obsługiwana.
Parametry i operatory
Sieci wirtualne z członkostwem dynamicznym są wybierane przy użyciu instrukcji warunkowych. Można zdefiniować więcej niż jedną instrukcję warunkową przy użyciu operatorów logicznych, takich jak AND i OR , w scenariuszach, w których należy dodatkowo zawęzić wybrane sieci wirtualne.
Lista obsługiwanych parametrów:
| Parametry | Zaawansowane pole edytora |
|---|---|
| Nazwa/nazwisko | Name |
| Identyfikator | Id |
| Tagi | tag['tagName'] |
| Nazwa subskrypcji | [subscription().Name] |
| Identyfikator subskrypcji | [subscription().Id] |
| Tagi subskrypcji | [subscription().tags['tagName']] |
| Nazwa grupy zasobów | [resourceGroup().Name] |
| Identyfikator grupy zasobów | [resourceGroup().Id] |
| Tagi grupy zasobów | [resourceGroup().tags['tagName']] |
Lista obsługiwanych operatorów:
| Operatorzy | Edytor zaawansowany |
|---|---|
| Zawiera | "contains": <> |
| Nie zawiera | "notcontains": <> |
| In | "in": <> |
| Nie należy do | "notin": <> |
| Równa się | "equals": <> |
| Nie równa się | "notequals": <> |
| Zawiera dowolny z | "contains": <> |
| Zawiera wszystkie | "contains": <> |
| Nie zawiera żadnych z nich | "notcontains": <> |
| Istnieje | "exists": true |
| Nie istnieje | "exists": false |
Uwaga
Operatory Istnieje i nie istnieje są używane tylko z parametrem Tagi.
Edytor podstawowy
Załóżmy, że masz następujące sieci wirtualne w ramach subskrypcji. Każda sieć wirtualna ma skojarzony tag o nazwie environment z odpowiednią wartością środowiska produkcyjnego lub testowego.
| Sieć wirtualna | Nazwa tagu | Wartość tagu |
|---|---|---|
| myVNet01-EastUS | środowisko | produkcja |
| myVNet01-WestUS | środowisko | produkcja |
| myVNet02-WestUS | środowisko | test |
| myVNet03-WestUS | środowisko | test |
Chcesz wybrać tylko sieci wirtualne, których tag ma parę klucz-wartość, w której klucz environment jest równy production. Aby rozpocząć tworzenie instrukcji warunkowej przy użyciu edytora podstawowego, należy utworzyć nową grupę sieciową.
Przejdź do wystąpienia usługi Azure Virtual Network Manager i wybierz pozycję Grupy sieciowe w obszarze Ustawienia. Następnie wybierz pozycję + Utwórz , aby utworzyć nową grupę sieciową.
Wprowadź nazwę i opcjonalny opis grupy sieciowej, a następnie wybierz pozycję Dodaj.
Wybierz grupę sieci z listy i wybierz pozycję Utwórz usługę Azure Policy.
Wprowadź nazwę zasady i pozostaw wybrane opcje w sekcji Zakres bez zmian, chyba że trzeba je zmienić.
W sekcji Kryteria wybierz pozycję Tagi z listy rozwijanej pod Parametr, a następnie wybierz z listy rozwijanej pod Operator pozycję para klucz-wartość.
Wprowadź środowisko i produkcyjne w sekcji Warunek, a następnie wybierz Zasoby w wersji zapoznawczej. Na liście powinny pojawić się myVNet01-EastUS i myVNet01-WestUS.
Wybierz pozycję Zamknij i zapisz.
Po kilku minutach wybierz grupę sieci i wybierz pozycję Członkowie grupy w obszarze Ustawienia. Powinieneś zobaczyć tylko myVNet01-EastUS i myVNet01-WestUS.
Ważne
Edytor podstawowy jest dostępny tylko podczas tworzenia usługi Azure Policy. Po utworzeniu zasad wszystkie edycje będą wykonywane przy użyciu formatu JSON w sekcji Zasady menedżera sieci wirtualnej lub za pośrednictwem usługi Azure Policy.
Zaawansowany edytor
Edytor zaawansowany może służyć do wybierania sieci wirtualnych podczas tworzenia grupy sieciowej lub aktualizowania istniejącej grupy sieciowej. Oparty na formacie JSON zaawansowany edytor jest przydatny do tworzenia i aktualizowania złożonych instrukcji warunkowych usługi Azure Policy przez doświadczonych użytkowników.
Tworzenie nowych zasad za pomocą edytora zaawansowanego
Przejdź do wystąpienia usługi Azure Virtual Network Manager i wybierz pozycję Grupy sieciowe w obszarze Ustawienia. Następnie wybierz pozycję + Utwórz , aby utworzyć nową grupę sieciową.
Wprowadź nazwę i opcjonalny opis grupy sieciowej, a następnie wybierz pozycję Dodaj.
Wybierz grupę sieci z listy i wybierz pozycję Utwórz usługę Azure Policy.
Wprowadź nazwę zasady i pozostaw wybrane opcje w sekcji Zakres bez zmian, chyba że trzeba je zmienić.
W obszarze Kryteria wybierz pozycję Edytor zaawansowany (JSON), aby otworzyć edytor.
Wprowadź następujący kod JSON w polu tekstowym i wybierz pozycję Zapisz:
{ "field": "Name", "contains": "myVNet01" }Po kilku minutach wybierz grupę sieci i wybierz pozycję Członkowie grupy w obszarze Ustawienia. Powinny być widoczne tylko sieci myVNet01-WestUS i myVNet01-EastUS.
Ważne
Wszystkie zasady platformy Azure tworzone za pomocą menedżera sieci wirtualnej będą aktywne w obszarze usług Azure Policy. Nie zostaną one usunięte z przypisań i definicji usługi Azure Policy po usunięciu wystąpienia menedżera sieci wirtualnej. Wymaga to ręcznego usunięcia zasad. Dowiedz się, jak usunąć zasady platformy Azure
Edytowanie istniejących zasad
Wybierz grupę sieci utworzoną w poprzedniej sekcji. Następnie wybierz kartę Zasady .
Wybierz zasady utworzone w poprzedniej sekcji.
W widoku edytora zaawansowanego zobaczysz warunki dla grupy sieci, jak poniżej:
[ { "field": "Name", "contains": "myVNet01" } ]Aby dodać kolejną instrukcję warunkową dla pola Nazwa, którenie zawiera westUS, wprowadź następujące polecenie w edytorze zaawansowanym:
{ "allOf": [ { "field": "Name", "contains": "VNet01" }, { "field": "Name", "notcontains": "WestUS" } ] }Parametr
"allOf"zawiera obie instrukcje warunkowe oddzielone operatorem logicznym AND .Wybierz pozycję Zapisz.
Po kilku minutach wybierz grupę sieci i wybierz pozycję Członkowie grupy w obszarze Ustawienia. Powinna zostać wyświetlona tylko sieć myVNet01-EastUS.
Zobacz Parametry i operatory , aby uzyskać pełną listę parametrów i operatorów, których można używać z edytorem zaawansowanym.
Więcej przykładów
Poniżej przedstawiono więcej przykładów instrukcji warunkowych w edytorze zaawansowanym.
Przykład 1: wyłącznie operator OR
W tym przykładzie użyto operatora logicznego OR do oddzielenia dwóch instrukcji warunkowych.
Edytor podstawowy:
Operator zaawansowany:
{ "anyOf": [ { "field": "Name", "contains": "myVNet01" }, { "field": "Name", "contains": "myVNet02" } ] }
Parametr "anyOf" zawiera obie instrukcje warunkowe oddzielone operatorem logicznym OR .
Przykład 2: operatory AND i OR jednocześnie
Edytor podstawowy:
Edytor zaawansowany:
{
"allOf": [
{
"anyOf": [
{
"field": "Name",
"contains": "myVNet01"
},
{
"field": "Name",
"contains": "myVNet02"
}
]
},
{
"field": "Name",
"notcontains": "West"
}
]
}
Zarówno "allOf", jak i "anyOf", są używane w kodzie. Ponieważ operator AND jest ostatni na liście, znajduje się na zewnętrznej części kodu zawierającego dwie instrukcje warunkowe z operatorem OR.
Przykład 3. Używanie niestandardowych wartości tagów z edytorem zaawansowanym
W tym przykładzie tworzona jest instrukcja warunkowa, która znajduje sieci wirtualne, których nazwa zawiera myVNet ORAZ tag environment jest równy wartości production.
Edytor zaawansowany:
{ "allOf": [ { "field": "Name", "contains": "myVNet" }, { "field": "tags['environment']", "equals": "production" } ] }Uwaga
Aby zwiększyć wydajność, warunkowe należy filtrować według typu zasobu Microsoft.Network/virtualNetwork. Ten warunek jest automatycznie dodawany na początku wszystkich warunków określonych w portalu.
Następne kroki
- Dowiedz się więcej o grupach sieciowych.
- Utwórz wystąpienie usługi Azure Virtual Network Manager.
- Tworzenie zasad i zarządzanie nimi w celu wymuszania zgodności