Uprawnienia i zabezpieczenia w usłudze Azure Chaos Studio

Usługa Azure Chaos Studio umożliwia zwiększenie odporności usługi przez systematyczne wprowadzanie błędów do zasobów platformy Azure. Wstrzykiwanie błędów to zaawansowany sposób na poprawę odporności usługi, ale może być również niebezpieczny. Powodowanie błędów w aplikacji może mieć większy wpływ niż pierwotnie zamierzone i otwarte możliwości infiltracji aplikacji przez złośliwych podmiotów.

Program Chaos Studio ma niezawodny model uprawnień, który zapobiega przypadkowemu uruchamianiu błędów lub przez złego aktora. Z tego artykułu dowiesz się, jak zabezpieczyć zasoby przeznaczone do wstrzykiwania błędów przy użyciu programu Chaos Studio.

Jak mogę ograniczyć możliwość wstrzykiwania błędów za pomocą programu Chaos Studio?

Program Chaos Studio ma trzy poziomy zabezpieczeń, które ułatwiają kontrolowanie sposobu i momentu wystąpienia iniekcji błędów względem zasobu:

  • Najpierw eksperyment chaosu to zasób platformy Azure wdrożony w regionie, grupie zasobów i subskrypcji. Użytkownicy muszą mieć odpowiednie uprawnienia usługi Azure Resource Manager do tworzenia, aktualizowania, uruchamiania, anulowania, usuwania lub wyświetlania eksperymentu.

    Każde uprawnienie jest operacją usługi Resource Manager, która może być szczegółowo przypisana do tożsamości lub przypisana jako część roli z uprawnieniami z symbolami wieloznacznymi. Na przykład rola Współautor na platformie Azure ma */write uprawnienia w przypisanym zakresie, który obejmuje Microsoft.Chaos/experiments/write uprawnienia.

    Jeśli próbujesz kontrolować możliwość wstrzykiwania błędów względem zasobu, najważniejszą operacją, która ma być ograniczona, jest Microsoft.Chaos/experiments/start/action. Ta operacja rozpoczyna eksperyment chaosu, który wprowadza błędy.

  • Po drugie eksperyment chaosu ma tożsamość zarządzaną przypisaną przez system lub tożsamość zarządzaną przypisaną przez użytkownika, która wykonuje błędy w zasobie. Jeśli zdecydujesz się na użycie tożsamości zarządzanej przypisanej przez system dla eksperymentu, tożsamość zostanie utworzona w czasie tworzenia eksperymentu w dzierżawie firmy Microsoft Entra. Tożsamości zarządzane przypisane przez użytkownika mogą być używane w dowolnej liczbie eksperymentów.

    W ramach eksperymentu chaosu można włączyć niestandardowe przypisanie roli dla wybranej tożsamości zarządzanej przypisanej przez system lub przypisanej przez użytkownika. Włączenie tej funkcji umożliwia programowi Chaos Studio utworzenie i przypisanie roli niestandardowej zawierającej wszelkie niezbędne możliwości akcji eksperymentu do tożsamości eksperymentu (które nie istnieją jeszcze w wyborze tożsamości). Jeśli eksperyment chaosu korzysta z tożsamości zarządzanej przypisanej przez użytkownika, wszystkie role niestandardowe przypisane do tożsamości eksperymentu przez program Chaos Studio będą utrwalane po usunięciu eksperymentu.

    Jeśli zdecydujesz się na ręczne przyznanie uprawnień eksperymentu, musisz przyznać jej tożsamość odpowiednie uprawnienia do wszystkich zasobów docelowych. Jeśli tożsamość eksperymentu nie ma odpowiednich uprawnień do zasobu, nie może wykonać błędu względem tego zasobu.

  • Po trzecie, każdy zasób musi zostać dołączony do programu Chaos Studio jako element docelowy z włączonymi odpowiednimi możliwościami. Jeśli obiekt docelowy lub możliwość wykonania błędu nie istnieje, eksperyment zakończy się niepowodzeniem bez wpływu na zasób.

Tożsamość zarządzana przypisana przez użytkownika

Eksperyment chaosu może wykorzystać tożsamość zarządzaną przypisaną przez użytkownika, aby uzyskać wystarczające uprawnienia do wstrzykiwania błędów na zasobach docelowych eksperymentu. Ponadto tożsamości zarządzane przypisane przez użytkownika mogą być używane w dowolnej liczbie eksperymentów w programie Chaos Studio. Aby korzystać z tej funkcji, musisz:

  • Najpierw utwórz tożsamość zarządzaną przypisaną przez użytkownika w usłudze Tożsamości zarządzane. W tym momencie możesz przypisać tożsamość zarządzaną przypisaną przez użytkownika wymagane uprawnienia do uruchamiania eksperymentów chaosu.
  • Po drugie podczas tworzenia eksperymentu chaosu wybierz tożsamość zarządzaną przypisaną przez użytkownika z subskrypcji. W tym kroku można włączyć przypisanie roli niestandardowej. Włączenie tej funkcji umożliwi wybranie tożsamości wszelkich wymaganych uprawnień, które może być potrzebne na podstawie błędów zawartych w eksperymencie.
  • Po dodaniu wszystkich błędów do eksperymentu chaosu sprawdź, czy konfiguracja tożsamości zawiera wszystkie niezbędne działania eksperymentu chaosu w celu pomyślnego uruchomienia. Jeśli tak nie jest, skontaktuj się z administratorem systemu w celu uzyskania dostępu lub edytowania wyborów błędów eksperymentu.

Uwierzytelnianie agenta

Po uruchomieniu błędów opartych na agencie należy zainstalować agenta Programu Chaos Studio na maszynie wirtualnej lub w zestawie skalowania maszyn wirtualnych. Agent używa przypisanej przez użytkownika tożsamości zarządzanej do uwierzytelniania w programie Chaos Studio i profilu agenta w celu ustanowienia relacji z określonym zasobem maszyny wirtualnej.

Po dołączeniu maszyny wirtualnej lub zestawu skalowania maszyn wirtualnych dla błędów opartych na agencie należy najpierw utworzyć element docelowy agenta. Obiekt docelowy agenta musi mieć odwołanie do tożsamości zarządzanej przypisanej przez użytkownika, która jest używana do uwierzytelniania. Element docelowy agenta zawiera identyfikator profilu agenta, który jest udostępniany jako konfiguracja podczas instalowania agenta. Profile agentów są unikatowe dla każdego obiektu docelowego, a obiekty docelowe są unikatowe dla każdego zasobu.

Operacje i role usługi Azure Resource Manager

Program Chaos Studio ma następujące operacje:

Działanie opis
Microsoft.Chaos/targets/[Read,Write,Delete] Pobierz, utwórz, zaktualizuj lub usuń element docelowy.
Microsoft.Chaos/targets/capabilities/[Read,Write,Delete] Uzyskiwanie, tworzenie, aktualizowanie lub usuwanie możliwości.
Microsoft.Chaos/locations/targetTypes/Read Pobierz wszystkie typy docelowe.
Microsoft.Chaos/locations/targetTypes/capabilityTypes/Read Pobierz wszystkie typy możliwości.
Microsoft.Chaos/experiments/[Read,Write,Delete] Pobieranie, tworzenie, aktualizowanie lub usuwanie eksperymentu chaosu.
Microsoft.Chaos/experiments/start/action Rozpocznij eksperyment chaosu.
Microsoft.Chaos/experiments/cancel/action Zatrzymaj eksperyment chaosu.
Microsoft.Chaos/experiments/statuses/Read Uzyskaj stan wykonywania przebiegu eksperymentu chaosu.
Microsoft.Chaos/experiments/executionDetails/Read Pobierz szczegóły wykonania (stan i błędy dla każdej akcji) dla przebiegu eksperymentu chaosu.

Aby dokładnie przypisać te uprawnienia, możesz utworzyć rolę niestandardową.

Bezpieczeństwo sieci

Wszystkie interakcje użytkownika z programem Chaos Studio są wykonywane za pośrednictwem usługi Azure Resource Manager. Jeśli użytkownik rozpocznie eksperyment, eksperyment może wchodzić w interakcje z punktami końcowymi innymi niż usługa Resource Manager, w zależności od błędu:

  • Błędy bezpośrednie usługi: większość błędów bezpośrednich usługi jest wykonywana za pośrednictwem usługi Azure Resource Manager i nie wymaga żadnych dozwolonych punktów końcowych sieci.
  • Błędy usługi AKS Chaos Mesh bezpośrednio dla usługi Azure Kubernetes Service, które używają usługi Chaos Mesh, wymagają dostępu do serwera interfejsu API Kubernetes klastra AKS.
  • Błędy oparte na agencie: aby korzystać z błędów opartych na agencie, agent musi mieć dostęp do usługi agenta Chaos Studio. Aby agent pomyślnie nawiązał połączenie, maszyna wirtualna lub zestaw skalowania maszyn wirtualnych musi mieć dostęp wychodzący do punktu końcowego usługi agenta. Punkt końcowy usługi agenta to https://acs-prod-<region>.chaosagent.trafficmanager.net. Symbol zastępczy należy zastąpić <region> regionem, w którym wdrożono maszynę wirtualną. Przykładem jest https://acs-prod-eastus.chaosagent.trafficmanager.net maszyna wirtualna w regionie Wschodnie stany USA.
  • Sieć prywatna oparta na agencie: agent Chaos Studio obsługuje teraz sieć prywatną. Zobacz Sieć prywatna agenta chaosu.

Tagi usługi

Tag usługi to grupa prefiksów adresów IP, które można przypisać do reguł ruchu przychodzącego i wychodzącego dla sieciowych grup zabezpieczeń. Automatycznie obsługuje aktualizacje grupy prefiksów adresów IP bez żadnej interwencji.

Tagi usług umożliwiają jawne zezwalanie na ruch przychodzący z programu Chaos Studio bez konieczności znajomości adresów IP platformy. Tag usługi Chaos Studio to ChaosStudio.

Ograniczenie tagów usług polega na tym, że mogą być używane tylko z aplikacjami, które mają publiczny adres IP. Jeśli zasób ma tylko prywatny adres IP, tagi usługi nie mogą kierować do niego ruchu.

Szyfrowanie danych

Program Chaos Studio domyślnie szyfruje wszystkie dane. Program Chaos Studio akceptuje tylko dane wejściowe dla właściwości systemu, takich jak identyfikatory obiektów tożsamości zarządzanej, nazwy eksperymentów/kroków/gałęzi i parametrów błędów. Przykładem jest zakres portów sieciowych do zablokowania błędu rozłączania sieci.

Te właściwości nie powinny być używane do przechowywania poufnych danych, takich jak informacje o płatności lub hasłach. Aby uzyskać więcej informacji na temat sposobu ochrony danych przez program Chaos Studio, zobacz Ochrona danych klientów platformy Azure.

Skrytka klienta

Lockbox zapewnia kontrolę, aby zatwierdzić lub odrzucić żądanie inżyniera firmy Microsoft w celu uzyskania dostępu do danych eksperymentu podczas żądania pomocy technicznej.

Skrytka może być włączona dla informacji o eksperymentach chaosu, a uprawnienie dostępu do danych jest przyznawane przez klienta na poziomie subskrypcji, jeśli jest włączona blokada.

Dowiedz się więcej o skrytce klienta dla platformy Microsoft Azure

Następne kroki

Teraz, gdy już wiesz, jak zabezpieczyć eksperyment chaosu, możesz przystąpić do wykonywania następujących czynności: