Udostępnij za pośrednictwem


Najlepsze rozwiązania dotyczące zabezpieczeń i zgodności usługi Batch

Ten artykuł zawiera wskazówki i najlepsze rozwiązania dotyczące zwiększania zabezpieczeń podczas korzystania z usługi Azure Batch.

Domyślnie konta usługi Azure Batch mają publiczny punkt końcowy i są publicznie dostępne. Po utworzeniu puli usługi Azure Batch pula jest aprowizowana w określonej podsieci sieci wirtualnej platformy Azure. Dostęp do maszyn wirtualnych w puli usługi Batch jest domyślnie uzyskiwany za pośrednictwem publicznych adresów IP tworzonych przez usługę Batch. Węzły obliczeniowe w puli mogą komunikować się ze sobą w razie potrzeby, takie jak uruchamianie zadań obejmujących wiele wystąpień, ale węzły w puli nie mogą komunikować się z maszynami wirtualnymi spoza puli.

Diagram przedstawiający typowe środowisko usługi Batch.

Dostępnych jest wiele funkcji, które ułatwiają tworzenie bezpieczniejszego wdrożenia usługi Azure Batch. Dostęp do węzłów można ograniczyć i zmniejszyć możliwość odnajdywania węzłów z Internetu, aprowizując pulę bez publicznych adresów IP. Węzły obliczeniowe mogą bezpiecznie komunikować się z innymi maszynami wirtualnymi lub z siecią lokalną przez aprowizowanie puli w podsieci sieci wirtualnej platformy Azure. Możesz również włączyć dostęp prywatny z sieci wirtualnych z poziomu usługi obsługiwanej przez usługę Azure Private Link.

Diagram przedstawiający bezpieczniejsze środowisko usługi Batch.

Konfiguracja puli

Pule można skonfigurować w jednym z dwóch trybów komunikacji węzłów, klasycznym lub uproszczonym. W klasycznym modelu komunikacji węzłów usługa Batch inicjuje komunikację z węzłami obliczeniowymi, a węzły obliczeniowe również wymagają komunikacji z usługą Azure Storage. W uproszczonym modelu komunikacji węzłów węzły obliczeniowe inicjują komunikację z usługą Batch. Ze względu na ograniczony zakres wymaganych połączeń przychodzących/wychodzących, a nie wymaganie dostępu wychodzącego usługi Azure Storage dla operacji linii bazowej, zaleca się użycie uproszczonego modelu komunikacji węzła. Klasyczny model komunikacji węzłów zostanie wycofany 31 marca 2026 r.

Pule powinny być również konfigurowane przy użyciu rozszerzonych ustawień zabezpieczeń, w tym zaufanego uruchamiania (wymaga obrazów maszyn wirtualnych gen2 i zgodnego rozmiaru maszyny wirtualnej), włączenia bezpiecznego rozruchu, maszyny wirtualnej vTPM i szyfrowania na hoście (wymaga zgodnego rozmiaru maszyny wirtualnej).

Uwierzytelnianie konta usługi Batch

Dostęp do konta usługi Batch obsługuje dwie metody uwierzytelniania: klucz współużytkowany i identyfikator Entra firmy Microsoft.

Zdecydowanie zalecamy używanie Microsoft Entra ID na potrzeby uwierzytelniania konta usługi Batch. Niektóre funkcje usługi Batch wymagają tej metody uwierzytelniania, w tym wielu funkcji związanych z zabezpieczeniami omówionych tutaj. Mechanizm uwierzytelniania interfejsu API usługi dla konta usługi Batch może być ograniczony tylko do identyfikatora Entra firmy Microsoft przy użyciu właściwości allowedAuthenticationModes . Po ustawieniu tej właściwości wywołania interfejsu API przy użyciu uwierzytelniania klucza współużytkowanego są odrzucane.

Tryb alokacji puli kont usługi Batch

Podczas tworzenia konta usługi Batch można wybrać między dwoma trybami alokacji puli:

  • Usługa Batch: opcja domyślna, w której bazowe zasoby zestawu skalowania maszyn wirtualnych używane do przydzielania węzłów puli i zarządzania nimi są tworzone w subskrypcjach należących do usługi Batch i nie są bezpośrednio widoczne w witrynie Azure Portal. Widoczne są tylko pule i węzły usługi Batch.
  • Subskrypcja użytkownika: bazowe zasoby zestawu skalowania maszyn wirtualnych są tworzone w tej samej subskrypcji co konto usługi Batch. Te zasoby są zatem widoczne w subskrypcji oprócz odpowiednich zasobów usługi Batch.

W trybie subskrypcji użytkownika maszyny wirtualne usługi Batch i inne zasoby są tworzone bezpośrednio w ramach subskrypcji podczas tworzenia puli. Tryb subskrypcji użytkownika jest wymagany, jeśli chcesz utworzyć pule usługi Batch przy użyciu wystąpień zarezerwowanych maszyn wirtualnych platformy Azure, użyć usługi Azure Policy w zasobach zestawu skalowania maszyn wirtualnych i/lub zarządzać limitem przydziału rdzeni w subskrypcji (współużytkowane przez wszystkie konta usługi Batch w subskrypcji). Aby utworzyć konto usługi Batch w trybie subskrypcji użytkownika, musisz również zarejestrować subskrypcję w usłudze Azure Batch i powiązać konto z usługą Azure Key Vault.

Ograniczanie dostępu do punktów końcowych sieci

Punkty końcowe sieci usługi Batch

Domyślnie punkty końcowe z publicznymi adresami IP są używane do komunikowania się z kontami usługi Batch, pulami usługi Batch i węzłami puli.

Interfejs API konta usługi Batch

Po utworzeniu konta usługi Batch zostanie utworzony publiczny punkt końcowy, który jest używany do wywoływania większości operacji dla konta przy użyciu interfejsu API REST. Punkt końcowy konta ma podstawowy adres URL przy użyciu formatu https://{account-name}.{region-id}.batch.azure.com. Dostęp do konta usługi Batch jest zabezpieczony z komunikacją z punktem końcowym konta szyfrowanym przy użyciu protokołu HTTPS, a każde żądanie uwierzytelnione przy użyciu klucza współużytkowanego lub uwierzytelniania firmy Microsoft Entra.

Azure Resource Manager

Oprócz operacji specyficznych dla konta usługi Batch operacje zarządzania dotyczą pojedynczych i wielu kont usługi Batch. Te operacje zarządzania są dostępne za pośrednictwem usługi Azure Resource Manager.

Operacje zarządzania usługą Batch za pośrednictwem usługi Azure Resource Manager są szyfrowane przy użyciu protokołu HTTPS, a każde żądanie jest uwierzytelniane przy użyciu uwierzytelniania firmy Microsoft Entra.

Węzły obliczeniowe puli usługi Batch

Usługa Batch komunikuje się z agentem węzła usługi Batch, który działa w każdym węźle w puli. Na przykład usługa instruuje agenta węzła, aby uruchamiał zadanie, zatrzymywał zadanie lub pobierał pliki dla zadania. Komunikacja z agentem węzła jest włączona przez co najmniej jeden moduł równoważenia obciążenia, z których liczba zależy od liczby węzłów w puli. Moduł równoważenia obciążenia przekazuje komunikację do żądanego węzła, a każdy węzeł jest adresowany przez unikatowy numer portu. Domyślnie moduły równoważenia obciążenia mają skojarzone z nimi publiczne adresy IP. Możesz również uzyskiwać zdalny dostęp do węzłów puli za pośrednictwem protokołu RDP lub SSH. Zobacz Konfigurowanie dostępu zdalnego do węzłów obliczeniowych w puli usługi Azure Batch.

System operacyjny węzła obliczeniowego usługi Batch

Usługa Batch obsługuje systemy operacyjne Linux i Windows. Usługa Batch obsługuje system Linux z dopasowanym agentem węzła dla podzestawu dystrybucji systemu operacyjnego Linux. Zaleca się, aby system operacyjny był na bieżąco z najnowszymi poprawkami dostarczonymi przez wydawcę systemu operacyjnego.

Zaleca się włączenie automatycznego uaktualniania systemu operacyjnego dla pul usługi Batch, co umożliwia podstawowej infrastrukturze platformy Azure koordynowanie aktualizacji w puli. Tę opcję można skonfigurować tak, aby nie można było wykonywać zadań. Automatyczne uaktualnianie systemu operacyjnego nie obsługuje wszystkich systemów operacyjnych, które obsługuje usługa Batch. Aby uzyskać więcej informacji, zobacz Macierz obsługi automatycznego uaktualniania systemu operacyjnego zestawów skalowania maszyn wirtualnych. W przypadku systemów operacyjnych Windows upewnij się, że nie włączasz właściwości virtualMachineConfiguration.windowsConfiguration.enableAutomaticUpdates podczas korzystania z automatycznego uaktualniania systemu operacyjnego w puli usługi Batch.

Obsługa usługi Batch dla obrazów i agentów węzłów jest stopniowo wycofywane wraz z osiami czasu pomocy technicznej wydawcy. Zaleca się unikanie używania obrazów z zbliżającą się datą zakończenia życia (EOL) lub obrazami, które są przeszłości ich daty EOL. Twoim obowiązkiem jest okresowe odświeżanie widoku dat EOL istotnych dla pul i migrowanie obciążeń przed datą EOL. Jeśli używasz obrazu niestandardowego z określonym agentem węzła, upewnij się, że stosujesz daty zakończenia okresu eksploatacji usługi Batch dla obrazu, dla którego jest uzyskiwany lub wyrównany obraz niestandardowy. Obraz bez określonej batchSupportEndOfLife daty wskazuje, że taka data nie została jeszcze określona przez usługę Batch. Brak daty nie wskazuje, że odpowiedni obraz będzie obsługiwany na czas nieokreślony. Data EOL może zostać dodana lub zaktualizowana w przyszłości w dowolnym momencie. Daty EOL można odnaleźć za pośrednictwem interfejsu API, programu PowerShell lub interfejsuListSupportedImages wiersza polecenia platformy Azure.

Zabezpieczenia warstwy transportu systemu operacyjnego Windows (TLS)

Agent węzła usługi Batch nie modyfikuje wartości domyślnych na poziomie systemu operacyjnego dla wersji PROTOKOŁU SSL/TLS ani porządkowania zestawu szyfrowania. W systemie Windows wersje protokołu SSL/TLS i kolejność zestawu szyfrowania są kontrolowane na poziomie systemu operacyjnego, dlatego agent węzła usługi Batch przyjmuje ustawienia ustawione przez obraz używany przez każdy węzeł obliczeniowy. Mimo że agent węzła usługi Batch próbuje korzystać z najbezpieczniejszych ustawień dostępnych, jeśli to możliwe, nadal może być ograniczony przez ustawienia na poziomie systemu operacyjnego. Zalecamy przejrzenie domyślnych ustawień na poziomie systemu operacyjnego i ustawienie ich odpowiednio dla najbardziej bezpiecznego trybu, który jest możliwy do spełnienia wymagań dotyczących przepływu pracy i organizacji. Aby uzyskać więcej informacji, odwiedź stronę Manage TLS for cipher suite order enforcement and TLS registry settings for SSL/TLS version control for Schannel SSP (Zarządzanie protokołem TLS dla wymuszania kolejności szyfrowania i ustawień rejestru TLS dla kontroli wersji protokołu SSL/TLS dla dostawcy usług udostępnionych Schannel). Należy pamiętać, że niektóre zmiany ustawień wymagają ponownego uruchomienia, aby zaczęły obowiązywać. Użycie nowszego systemu operacyjnego z nowoczesnymi wartościami domyślnymi zabezpieczeń lub niestandardowym obrazem z zmodyfikowanymi ustawieniami jest zalecane zamiast stosowania takich ustawień z zadaniem uruchamiania usługi Batch.

Ograniczanie dostępu do punktów końcowych usługi Batch

Dostępnych jest kilka funkcji, aby ograniczyć dostęp do różnych punktów końcowych usługi Batch, zwłaszcza gdy rozwiązanie korzysta z sieci wirtualnej.

Używanie prywatnych punktów końcowych

Usługa Azure Private Link umożliwia dostęp do usług PaaS platformy Azure i hostowanych przez klientów/partnerów platformy Azure za pośrednictwem prywatnego punktu końcowego w sieci wirtualnej. Za pomocą usługi Private Link można ograniczyć dostęp do konta usługi Batch z sieci wirtualnej lub z dowolnej równorzędnej sieci wirtualnej. Zasoby mapowane na usługę Private Link są również dostępne lokalnie za pośrednictwem prywatnej komunikacji równorzędnej za pośrednictwem sieci VPN lub usługi Azure ExpressRoute.

Aby korzystać z prywatnych punktów końcowych, konto usługi Batch musi być odpowiednio skonfigurowane podczas tworzenia; Konfiguracja dostępu do sieci publicznej musi być wyłączona. Po utworzeniu prywatne punkty końcowe można utworzyć i skojarzyć z kontem usługi Batch. Aby uzyskać więcej informacji, zobacz Używanie prywatnych punktów końcowych z kontami usługi Azure Batch.

Tworzenie pul w sieciach wirtualnych

Węzły obliczeniowe w puli usługi Batch mogą komunikować się ze sobą, takie jak uruchamianie zadań obejmujących wiele wystąpień bez konieczności używania sieci wirtualnej. Jednak domyślnie węzły w puli nie mogą komunikować się z maszynami wirtualnymi spoza puli w sieci wirtualnej i mają prywatne adresy IP, takie jak serwery licencji lub serwery plików.

Aby umożliwić węzłom obliczeniowym bezpieczną komunikację z innymi maszynami wirtualnymi lub siecią lokalną, można skonfigurować pulę tak, aby znajdowała się w podsieci sieci wirtualnej platformy Azure.

Gdy pule mają publiczne punkty końcowe ip, podsieć musi zezwolić na komunikację przychodzącą z usługi Batch, aby móc zaplanować zadania i wykonywać inne operacje w węzłach obliczeniowych oraz komunikację wychodzącą w celu komunikowania się z usługą Azure Storage lub innymi zasobami zgodnie z potrzebami obciążenia. W przypadku pul w konfiguracji maszyny wirtualnej usługa Batch dodaje sieciowe grupy zabezpieczeń na poziomie interfejsu sieciowego dołączonego do węzłów obliczeniowych. Te sieciowe grupy zabezpieczeń mają reguły umożliwiające:

  • Przychodzący ruch TCP z adresów IP usługi Batch
  • Przychodzący ruch TCP na potrzeby dostępu zdalnego
  • Ruch wychodzący na dowolnym porcie do sieci wirtualnej (może zostać zmieniony na reguły sieciowej grupy zabezpieczeń na poziomie podsieci)
  • Ruch wychodzący na dowolnym porcie do Internetu (może zostać zmieniony na reguły sieciowej grupy zabezpieczeń na poziomie podsieci)

Nie trzeba określać sieciowych grup zabezpieczeń na poziomie podsieci sieci wirtualnej, ponieważ usługa Batch konfiguruje własne sieciowe grupy zabezpieczeń. Jeśli masz sieciową grupę zabezpieczeń skojarzona z podsiecią, w której są wdrażane węzły obliczeniowe usługi Batch, lub jeśli chcesz zastosować niestandardowe reguły sieciowej grupy zabezpieczeń w celu zastąpienia zastosowanych wartości domyślnych, musisz skonfigurować tę sieciową grupę zabezpieczeń z co najmniej regułami zabezpieczeń dla ruchu przychodzącego i wychodzącego, aby umożliwić komunikację usługi Batch z węzłami puli i komunikacją węzła puli z usługą Azure Storage.

Aby uzyskać więcej informacji, zobacz Tworzenie puli usługi Azure Batch w sieci wirtualnej.

Tworzenie pul z statycznymi publicznymi adresami IP

Domyślnie publiczne adresy IP skojarzone z pulami są dynamiczne; są tworzone podczas tworzenia puli, a adresy IP można dodawać lub usuwać po zmianie rozmiaru puli. Gdy aplikacje zadań uruchomione w węzłach puli muszą uzyskiwać dostęp do usług zewnętrznych, dostęp do tych usług może być ograniczony do określonych adresów IP. W takim przypadku posiadanie dynamicznych adresów IP nie będzie możliwe do zarządzania.

Zasoby statycznego publicznego adresu IP można utworzyć w tej samej subskrypcji co konto usługi Batch przed utworzeniem puli. Następnie można określić te adresy podczas tworzenia puli.

Aby uzyskać więcej informacji, zobacz Tworzenie puli usługi Azure Batch z określonymi publicznymi adresami IP.

Tworzenie pul bez publicznych adresów IP

Domyślnie wszystkie węzły obliczeniowe w puli konfiguracji maszyny wirtualnej usługi Azure Batch są przypisane do co najmniej jednego publicznego adresu IP. Te punkty końcowe są używane przez usługę Batch do planowania zadań i komunikacji z węzłami obliczeniowymi, w tym dostępu wychodzącego do Internetu.

Aby ograniczyć dostęp do tych węzłów i zmniejszyć ich widoczność w Internecie, możesz aprowizować pulę bez publicznych adresów IP.

Aby uzyskać więcej informacji, zobacz Tworzenie puli bez publicznych adresów IP.

Ograniczanie dostępu zdalnego do węzłów puli

W przypadku pul utworzonych przy użyciu wersji interfejsu API starszej niż 2024-07-01usługa Batch domyślnie zezwala użytkownikowi węzła z łącznością sieciową z zewnętrznym połączeniem z węzłem obliczeniowym w puli usługi Batch przy użyciu protokołu RDP lub SSH.

Aby ograniczyć dostęp zdalny, utwórz pule przy użyciu wersji 2024-07-01 interfejsu API lub nowszej.

Aby ograniczyć zdalny dostęp do węzłów w pulach utworzonych przez interfejs API w wersji wcześniejszej niż 2024-07-01, użyj jednej z następujących metod:

  • Skonfiguruj element PoolEndpointConfiguration w celu odmowy dostępu. Odpowiednia sieciowa grupa zabezpieczeń zostanie skojarzona z pulą.
  • Utwórz pulę bez publicznych adresów IP. Domyślnie te pule nie mogą być dostępne poza siecią wirtualną.
  • Skojarz sieciową grupę zabezpieczeń z siecią wirtualną, aby odmówić dostępu do portów RDP lub SSH.
  • Nie twórz żadnych użytkowników w węźle. Bez żadnych użytkowników węzłów dostęp zdalny nie będzie możliwy.

Szyfruj dane

Szyfrowanie danych podczas przesyłania

Cała komunikacja z punktem końcowym konta usługi Batch (lub za pośrednictwem usługi Azure Resource Manager) musi używać protokołu HTTPS. Podczas nawiązywania połączenia z usługą Batch należy użyć https:// w adresach URL konta usługi Batch określonych w interfejsach API.

Klienci komunikujący się z usługą Batch powinni być skonfigurowani do używania protokołu Transport Layer Security (TLS) 1.2.

Szyfrowanie danych wsadowych magazynowanych

Niektóre informacje określone w interfejsach API usługi Batch, takie jak certyfikaty kont, metadane zadań i zadań oraz wiersze poleceń zadań, są automatycznie szyfrowane podczas przechowywania przez usługę Batch. Domyślnie te dane są szyfrowane przy użyciu kluczy zarządzanych przez platformę Azure Batch unikatowych dla każdego konta usługi Batch.

Te dane można również szyfrować przy użyciu kluczy zarządzanych przez klienta. Usługa Azure Key Vault służy do generowania i przechowywania klucza przy użyciu identyfikatora klucza zarejestrowanego na koncie usługi Batch.

Szyfrowanie dysków węzła obliczeniowego

Węzły obliczeniowe usługi Batch domyślnie mają dwa dyski: dysk systemu operacyjnego i lokalny tymczasowy dysk SSD. Pliki i katalogi zarządzane przez usługę Batch znajdują się na tymczasowym dysku SSD, który jest domyślną lokalizacją plików, takich jak pliki wyjściowe zadania. Aplikacje zadań wsadowych mogą używać domyślnej lokalizacji na dysku SSD lub dysku systemu operacyjnego.

Aby uzyskać dodatkowe zabezpieczenia, zaszyfruj te dyski przy użyciu jednej z następujących funkcji szyfrowania dysków platformy Azure:

Bezpieczny dostęp do usług z węzłów obliczeniowych

Użyj tożsamości zarządzanych puli z odpowiednimi uprawnieniami dostępu skonfigurowanymi dla tożsamości zarządzanej przypisanej przez użytkownika, aby uzyskać dostęp do usług platformy Azure obsługujących tożsamość zarządzaną, w tym usługi Azure Key Vault. Jeśli musisz aprowizować certyfikaty w węzłach usługi Batch, skorzystaj z dostępnego rozszerzenia maszyny wirtualnej usługi Azure Key Vault z tożsamością zarządzaną puli, aby zainstalować certyfikaty w puli usługi Batch i zarządzać nimi. Aby uzyskać więcej informacji na temat wdrażania certyfikatów z usługi Azure Key Vault z tożsamością zarządzaną w pulach usługi Batch, zobacz Włączanie automatycznego obracania certyfikatów w puli usługi Batch.

Zarządzanie i zgodność

Zgodność

Aby pomóc klientom w spełnianiu własnych zobowiązań dotyczących zgodności w różnych branżach regulowanych i rynkach na całym świecie, platforma Azure utrzymuje duży portfel ofert zgodności.

Te oferty są oparte na różnych typach gwarancji, w tym formalnych certyfikatów, zaświadczania, walidacji, autoryzacji i ocen opracowanych przez niezależne firmy zajmujące się inspekcjami innych firm, a także poprawek umownych, ocen własnych i dokumentów wskazówek dla klientów opracowanych przez firmę Microsoft. Zapoznaj się z kompleksowym omówieniem ofert zgodności, aby określić, które z nich mogą być istotne dla rozwiązań usługi Batch.

Azure Policy

Usługa Azure Policy pomaga wymuszać standardy organizacyjne i oceniać zgodność na dużą skalę. Typowe przypadki użycia usługi Azure Policy obejmują implementowanie ładu na potrzeby spójności zasobów, zgodności z przepisami, bezpieczeństwa, kontroli kosztów i zarządzania.

W zależności od trybu alokacji puli i zasobów, do których należy zastosować zasady, użyj usługi Azure Policy z usługą Batch w jeden z następujących sposobów:

  • Bezpośrednio przy użyciu zasobu Microsoft.Batch/batchAccounts. Można użyć podzestawu właściwości konta usługi Batch. Na przykład zasady mogą obejmować prawidłowe regiony konta usługi Batch, tryb alokacji dozwolonej puli oraz to, czy dla kont jest włączona sieć publiczna.
  • Pośrednio przy użyciu zasobu Microsoft.Compute/virtualMachineScaleSets. Konta usługi Batch z trybem alokacji puli subskrypcji użytkowników mogą mieć zasady ustawione dla zasobów zestawu skalowania maszyn wirtualnych utworzonych w subskrypcji konta usługi Batch. Na przykład dozwolone rozmiary maszyn wirtualnych i upewnij się, że niektóre rozszerzenia są uruchamiane w każdym węźle puli.

Następne kroki