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.
Ten artykuł pomaga chronić tajemnice i zmniejsza ryzyko nieautoryzowanego dostępu. Stosuj się do tych wskazówek, aby upewnić się, że nie przechowujesz wrażliwych informacji, takich jak dane uwierzytelniające, w kodzie, repozytoriach GitHub, logach czy w pipeline'ach ciągłej integracji i wdrożenia (CI/CD). Wytyczne zawarte w tym artykule pochodzą z indywidualnych rekomendacji usług oraz z Microsoft Cloud Security Benchmark (MCSB).
Ten artykuł jest zgodny z modelem zabezpieczeń Microsoft Zero Trust, który wymaga jawnej weryfikacji, dostępu z najmniejszymi uprawnieniami oraz założenia naruszenia zabezpieczeń. Aby uzyskać przepisy dotyczące zabezpieczeń obejmujących egzekwowanie Azure Policy, zobacz Microsoft Cloud Security Benchmark v2: Privileged Access oraz MCSB v2: Data Protection.
Odkrywanie i zapobieganie tajemnicy
Zanim zabezpieczysz swoje sekrety, musisz mieć wgląd w to, gdzie się znajdują. Potrzebujesz też kontroli, które zapobiegają ekspozycji zanim do niej dojdzie.
Przeprowadź audyt, aby zidentyfikować tajemnice: Przeprowadz audyt swoich systemów i aplikacji, aby zidentyfikować wrażliwe informacje wymagające ochrony, takie jak hasła, klucze API, ciągi połączeń i inne poświadczenia. Regularne audyty pomagają zapewnić, że Twój zapas uwzględnia nowe sekrety i odpowiednio zarządza istniejącymi sekretami. Safeguard dynamicznie tworzył sekrety, takie jak tymczasowe tokeny OAuth, z taką samą rygorystyką jak sekrety długoterminowe.
Unikaj wpisywania poufnych danych na stałe: Osadzanie poufnych danych bezpośrednio w kodzie lub plikach konfiguracyjnych stanowi poważne zagrożenie dla bezpieczeństwa. Jeśli atakujący naruszą Twój kod, ujawniają także twoje sekrety. Zamiast tego używaj zmiennych środowiskowych lub narzędzi do zarządzania konfiguracją, które chronią tajemnice z dala od kodu źródłowego. Ta praktyka minimalizuje ryzyko przypadkowego ujawnienia i upraszcza tajne aktualizacje. Integruj pobieranie sekretów z automatycznym potokiem wdrożenia i stosuj wzorce wstrzykiwania sekretów, aby zapobiec przypadkowemu ujawnieniu logów lub kontroli wersji. Aby uzyskać więcej informacji, zobacz Zalecenia dotyczące ochrony tajemnic aplikacji.
Wdrażaj narzędzia do skanowania sekretów: Regularnie skanuj bazę kodu pod kątem osadzonych sekretów, aby zapobiec przypadkowemu ujawnieniu. Narzędzia takie jak Azure DevOps Credential Scanner czy skanowanie sekretów GitHub mogą automatycznie wykrywać i ostrzegać o sekretach w repozytoriach. Integruj te narzędzia z pipeline'em CI/CD, aby zapewnić ciągły monitoring. Traktuj wszelkie sekrety znalezione podczas skanowania narzędzi jako zagrożone. Natychmiast ją unieważnij i zastąp, aby zachować spójność stanu zabezpieczeń.
Bezpieczny magazyn i szyfrowanie
Ochrona wpisów tajnych wymaga bezpiecznych mechanizmów magazynowania i odpowiedniego szyfrowania na wszystkich etapach.
Korzystaj z bezpiecznych magazynów kluczy: Usługi takie jak Azure Key Vault i Azure Key Vault Managed HSM oferują funkcje bezpieczeństwa, w tym kontrolę dostępu, logowanie i automatyczną rotację. Takie podejście centralizuje zarządzanie tajemnicami i zmniejsza ryzyko nieautoryzowanego dostępu. W przypadku bardzo wrażliwych lub krytycznych sekretów używaj magazynu kluczy wspieranego przez sprzętowy moduł bezpieczeństwa (HSM), aby zwiększyć ochronę w porównaniu do programowych magazynów tajnych. W przypadku scenariuszy z kluczami zarządzanymi przez klienta należy używać co najmniej warstwy Premium usługi Azure Key Vault, która jest oparta na modułach HSM. Użyj Azure Key Vault Managed HSM do kluczowych wymagań suwerenności. Przegląd ofert zarządzania kluczami w Azure oraz wskazówki, które wybrać znajdziesz w artykule Zarządzanie kluczami w Azure oraz Jak wybrać odpowiednie rozwiązanie do zarządzania kluczami.
Szyfruj sekrety w spoczynku i w tranzycie: Azure Key Vault bezpiecznie przechowuje sekrety poprzez szyfrowanie koperty, gdzie klucze szyfrujące klucze szyfrują dane, zapewniając kolejną warstwę bezpieczeństwa. Używaj bezpiecznych protokołów komunikacyjnych, takich jak HTTPS, aby szyfrować dane przesyłane między aplikacjami a sejfem kluczy. W Azure różne usługi implementują szyfrowanie w spoczynku za pomocą szyfrowania AES 256. TLS i MACsec zapewniają bezpieczne dane podczas transportu. Więcej informacji można znaleźć w artykule Szyfrowanie w spoczynku i w transporcie.
Implementowanie izolacji sieciowej: skonfiguruj zapory i sieciowe grupy zabezpieczeń , aby ograniczyć dostęp do magazynów kluczy. Pozwól tylko zaufanym aplikacjom i usługom na dostęp do swoich sekretów. Takie podejście minimalizuje powierzchnię ataku i pomaga zapobiegać nieautoryzowanemu dostępowi. Rozważ użycie wielu sejfów kluczy do tworzenia granic izolacji dla różnych komponentów. Jeśli atakujący naruszą jeden komponent, ten komponent nie może przejąć kontroli nad innymi sekretami ani całym obciążeniem.
Kontrola dostępu i tożsamość
Zarządzanie tym, kto i co może uzyskiwać dostęp do wpisów tajnych, ma kluczowe znaczenie dla utrzymania zabezpieczeń.
Używaj zarządzanych tożsamości: Zarządzane tożsamości w Azure zapewniają bezpieczny sposób uwierzytelniania aplikacji do usług Azure bez konieczności przechowywania danych uwierzytelniających w kodzie. Włącz zarządzane tożsamości dla zasobów Azure, aby bezpiecznie korzystać z Azure Key Vault i innych usług, zmniejszając konieczność ręcznego zarządzania sekretami. Takie podejście minimalizuje tworzenie sekretów i zmniejsza powierzchnię potencjalnych naruszeń, ponieważ platforma zarządza poświadczeniami.
Wdrażaj szczegółową kontrolę dostępu: kieruj się zasadą najmniejszych uprawnień, stosując szczegółową kontrolę dostępu do tajemnic. Użyj kontroli dostępu opartej na rolach Azure (Azure RBAC), aby zapewnić, że tylko upoważnione podmioty mają dostęp do określonych sekretów. Regularne przeglądanie i aktualizowanie uprawnień dostępu w celu zapobiegania nieautoryzowanemu dostępowi. Wprowadź odrębne role, takie jak użytkownik, administrator i audytor, aby zarządzać dostępem do sekretów. Ta praktyka pomaga zapewnić, że tylko zaufane tożsamości mają odpowiedni poziom uprawnień. Więcej informacji znajdziesz w przewodniku Azure Key Vault RBAC.
Zarządzanie cyklem życia tajemnic
Sekrety wymagają ciągłego zarządzania przez cały cykl życia, od tworzenia do usunięcia.
Regularnie zmieniaj sekrety: Sekrety są narażone na wycieki lub ujawnienie z upływem czasu. Regularnie rotuj swoje sekrety, aby zmniejszyć ryzyko nieautoryzowanego dostępu. Możesz rotować sekrety w Azure Key Vault dla wybranych sekretów. W przypadku sekretów, które nie mogą się automatycznie obracać, wprowadź ręczny proces rotacji i usuń je, gdy przestaną być używane. Zautomatyzuj rotację sekretów i zapewnij redundancję w zarządzaniu sekretami, aby rotacja nie zakłócała dostępności usług. Wdroż logikę powtórek i wzorce współbieżnego dostępu w swoim kodzie, aby zminimalizować problemy podczas okna rotacji.
Bezpieczne rozpowszechnianie sekretów: Rozpowszechniając sekrety, udostępniaj je bezpiecznie zarówno wewnątrz, jak i poza organizacją. Korzystaj z narzędzi zaprojektowanych do bezpiecznego udostępniania i uwzględnij tajne procedury odzyskiwania w swoich planach odbudowy po awarii. Jeśli atakujący naruszą bezpieczeństwo klucza lub go ujawnią, natychmiast wygeneruj go ponownie. Używaj odrębnych kluczy dla każdego konsumenta, zamiast dzielić się kluczami, nawet jeśli użytkownicy mają podobne wzorce dostępu. Ta praktyka upraszcza zarządzanie kluczami i ich cofnięciem, dzięki czemu można cofnąć skompromitowane klucze bez wpływu na innych użytkowników.
Monitorowanie i rejestrowanie
Ciągły monitoring wykrywa podejrzaną aktywność i wspiera wymagania zgodności.
- Monitorowanie i rejestrowanie dostępu: włącz rejestrowanie i monitorowanie dla systemu zarządzania tajemnicami, aby śledzić dostęp i wykorzystanie. Korzystaj z logowania Key Vault, Azure Monitor lub Azure Event Grid, aby monitorować wszystkie działania związane z twoimi sekretami. Monitorowanie pozwala na to, kto uzyskał dostęp do Twoich sekretów oraz pomaga wykrywać podejrzane zachowania lub potencjalne incydenty bezpieczeństwa. Utrzymuj szczegółowe ścieżki audytowe do inspekcji i weryfikacji dostępu do sekretów, co może pomóc zapobiegać kradzieży tożsamości, uniknąć odrzucenia i zmniejszyć niepotrzebne ujawnienie.
Wskazówki dla usług dotyczące obsługi sekretów
Indywidualne usługi mogą mieć więcej najlepszych praktyk i wskazówek dotyczących ochrony tajemnic. Oto kilka przykładów:
- Zarządzanie interfejsem API: Używaj wartości nazwanych w zasadach platformy Azure API Management dzięki integracji z usługą Key Vault
- App Service: Użyj odniesień do Key Vault dla usługi App Service i Azure Functions
- Application Gateway: Konfiguruj zakończenie TLS dla Application Gateway za pomocą portalu Azure
- Automatyzacja: Zarządzanie poświadczeniami w Azure Automation
- Azure AI Foundry: Rozwijaj aplikacje Foundry Tools z użyciem Azure Key Vault
- Azure App Configuration: Używanie odwołań do usługi Key Vault w aplikacji ASP.NET Core
- Azure Bot Service: szyfrowanie usługi Azure Bot Service dla danych nieaktywnych
- Azure Center for SAP solutions: Przygotuj sieć do wdrożenia usługi Azure Center dla rozwiązań SAP
- Azure Communication Services: Tworzenie i zarządzanie tokenami dostępu
- Azure Communications Gateway: Tworzenie i przechowywanie tajemnic
- Azure Container Apps: Zarządzanie tajnymi danymi w Azure Container Apps
- Azure Cosmos DB: Skonfiguruj klucze zarządzane przez klienta dla usługi Azure Cosmos DB
- Azure Database for PostgreSQL - Flexible Server: szyfrowanie danych z użyciem klucza zarządzanego przez klienta
- Azure Databricks: Integracja usługi Key Vault w usłudze Azure Databricks
- Azure DevTest Labs: Włączanie przydzielonych przez użytkownika tożsamości zarządzanych na maszynach wirtualnych w Azure DevTest Labs
- Azure Event Hubs: Skonfiguruj klucze zarządzane przez klienta do szyfrowania danych Azure Event Hubs w stanie spoczynku
- Azure Front Door: Azure Front Door secrets
- Azure HDInsight on AKS: Tworzenie zasobów wymaganych wstępnie dla usługi Azure Key Vault
- Azure Information Protection: Obsługa usługi Key Vault dla Azure Information Protection
- Azure Kubernetes Service (AKS): CSI Secret Store
- Azure Machine Learning: Używaj sekretów uwierzytelniania w ofertach pracy Azure Machine Learning
- Azure Managed Applications: Dostęp do sekretów Key Vault podczas wdrażania Azure Managed Applications
- Azure Pipelines: Chroń sekrety w Azure Pipelines
- Azure Service Bus: integracja usługi Service Bus z łącznikiem usługi Service Connector
- Azure SignalR Service: odwołanie do tajnego klucza Key Vault w ustawieniach szablonu adresu URL
- Azure Spring Apps: Integracja usługi Azure Key Vault z Service Connector
- Azure Stack Edge: Zarządzaj sekretami Azure Stack Edge za pomocą Azure Key Vault
- Azure Stack Hub: Rotate secrets
- Azure Web PubSub: Dodaj certyfikat niestandardowy
- Kopia zapasowa: Konfiguruj sejf do szyfrowania, używając kluczy zarządzanych przez klienta
- Data Factory: Przechowuj dane uwierzytelniające w Azure Key Vault
- ExpressRoute: Konfiguruj szyfrowanie MACsec dla ExpressRoute Direct
- Funkcje: używanie odwołań usługi Key Vault w App Service i Azure Functions
- Key Vault: Informacje o sekretach Azure Key Vault
- Logic Apps: Standardowe ustawienia aplikacji Logic Apps
- Microsoft Purview: Poświadczenia do uwierzytelniania źródła w Microsoft Purview
- Service Fabric: obsługa KeyVaultReference dla aplikacji Service Fabric
- SQL Server na maszynach wirtualnych platformy Azure: Skonfiguruj integrację z usługą Azure Key Vault dla programu SQL Server na maszynach wirtualnych platformy Azure
- Magazyn: Autoryzuj dostęp do danych w Azure Storage
Następne kroki
Minimalizacja ryzyka bezpieczeństwa jest wspólną odpowiedzialnością. Proaktywnie podejmuj kroki, aby zabezpieczyć swoje obciążenia. Aby uzyskać więcej informacji, zobacz Wspólna odpowiedzialność w chmurze.
- Zobacz Najlepsze rozwiązania i wzorce zabezpieczeń platformy Azure , aby uzyskać więcej najlepszych rozwiązań dotyczących zabezpieczeń, które należy stosować podczas projektowania, wdrażania i zarządzania rozwiązaniami w chmurze przy użyciu platformy Azure.
- Przejrzyj Microsoft Cloud Security Benchmark v2: Privileged Access controls, aby poznać kompleksowe wskazówki dotyczące sekretów i dostępu uprzywilejowanego oraz mapowania Azure Policy.
- Poznaj inicjatywę Microsoft Secure Future Initiative, wewnętrzne najlepsze praktyki Microsoft w zakresie bezpieczeństwa chroniące tożsamości i tajemnice, które Microsoft również zaleca organizacjom.
- Zapoznaj się z wdrożeniem Zero Trust dla tożsamości, aby uzyskać wskazówki dotyczące implementacji zasad Zero Trust w zarządzaniu tożsamością i dostępem.