Włączanie usługi DevSecOps za pomocą platformy Azure i usługi GitHub
Metodyka DevSecOps, nazywana czasem secure DevOps, opiera się na zasadach metodyki DevOps , ale stawia zabezpieczenia w centrum całego cyklu życia aplikacji. Ta koncepcja jest nazywana "zabezpieczeniami shift-left": przenosi zabezpieczenia nadrzędne z obawy tylko do produkcji, aby obejmować wczesne etapy planowania i opracowywania. Każdy zespół i osoba, która pracuje nad aplikacją, jest wymagana do rozważenia zabezpieczeń.
Firma Microsoft i GitHub oferują rozwiązania umożliwiające zapewnienie zaufania do kodu, który jest uruchamiany w środowisku produkcyjnym. Te rozwiązania sprawdzają kod i umożliwiają śledzenie elementów roboczych oraz szczegółowe informacje na temat używanych składników innych firm.
Zabezpieczanie kodu za pomocą usługi GitHub
Deweloperzy mogą używać narzędzi do skanowania kodu, które szybko i automatycznie analizują kod w repozytorium GitHub, aby znaleźć luki w zabezpieczeniach i błędy kodowania.
Możesz skanować kod, aby znaleźć, sklasyfikować i określić priorytety poprawek istniejących problemów. Skanowanie kodu uniemożliwia również deweloperom wprowadzanie nowych problemów. Skanowanie można zaplanować dla określonych dni i godzin lub wyzwalać skanowania w przypadku wystąpienia określonego zdarzenia w repozytorium, na przykład wypychania. Możesz również śledzić zależności repozytorium i otrzymywać alerty zabezpieczeń, gdy usługa GitHub wykryje zależności podatne na zagrożenia.
- Skanowanie kodu przy użyciu języka CodeQL i skanowania tokenów
- Zarządzanie poradami dotyczącymi zabezpieczeń dla projektów
- Zabezpieczanie zależności kodu za pomocą narzędzia Dependabot
Śledzenie pracy z usługą Azure Boards
Usługa internetowa Usługi Azure Boards może służyć do zarządzania projektami oprogramowania. Usługa Azure Boards udostępnia bogaty zestaw funkcji, w tym natywną obsługę scrum i Kanban, dostosowywalne pulpity nawigacyjne i zintegrowane raportowanie.
Kompilowanie i wdrażanie kontenerów za pomocą usługi Azure Pipelines
Łatwo integruj klastry Azure Pipelines i Kubernetes. Tych samych dokumentów YAML można używać do tworzenia potoków wieloetapowych jako kodu na potrzeby ciągłej integracji i ciągłego dostarczania.
Usługa Azure Pipelines integruje śledzenie metadanych z obrazami kontenerów, w tym skróty zatwierdzeń i numery problemów z usługi Azure Boards, dzięki czemu można łatwo sprawdzić aplikacje.
Możliwość tworzenia potoków wdrażania za pomocą plików YAML i przechowywania ich w kontroli źródła pomaga zwiększyć pętlę opinii między zespołami deweloperów i zespołów operacyjnych, którzy polegają na przejrzystych, czytelnych dokumentach.
- Przechowywanie obrazów platformy Docker w usłudze Azure Container Registry
- Tworzenie obrazu platformy Docker za pomocą usługi Azure Pipelines
- Wdrażanie na platformie Kubernetes z pełną możliwością śledzenia
- Zabezpieczanie usługi Azure Pipelines
Uruchamianie i debugowanie kontenerów za pomocą rozwiązania Bridge to Kubernetes
Tworzenie aplikacji Kubernetes może być trudne. Potrzebne są pliki konfiguracji platformy Docker i platformy Kubernetes. Musisz dowiedzieć się, jak przetestować aplikację lokalnie i korzystać z innych usług zależnych. Może być konieczne utworzenie i przetestowanie wielu usług jednocześnie oraz zespół deweloperów.
Rozwiązanie Bridge to Kubernetes umożliwia uruchamianie i debugowanie kodu na komputerze deweloperskim, a jednocześnie połączenie z klastrem Kubernetes z pozostałą częścią aplikacji lub usług. Można kompleksowo testować kod, trafiać punkty przerwania w kodzie uruchomionym w klastrze i bez przeszkód współdzielić klaster projektowy między członkami zespołu.
Wymuszanie zabezpieczeń kontenerów za pomocą usługi Microsoft Defender for Containers i usługi Azure Policy
Usługa Microsoft Defender for Containers to rozwiązanie natywne dla chmury do zabezpieczania kontenerów.
- Omówienie usługi Microsoft Defender dla Kontenerów
- Opis usługi Azure Policy dla klastrów Kubernetes
- Azure Kubernetes Service (AKS)
Zarządzanie tożsamościami i dostępem za pomocą Platforma tożsamości Microsoft
Platforma tożsamości Microsoft to ewolucja platformy deweloperów usługi Azure Active Directory (Azure AD). Umożliwia deweloperom tworzenie aplikacji, które logują się we wszystkich tożsamościach firmy Microsoft i uzyskują tokeny w celu wywoływania interfejsów API firmy Microsoft, takich jak Microsoft Graph, lub interfejsów API utworzonych przez deweloperów.
Usługa Azure AD B2C zapewnia tożsamość biznesową jako usługę. Klienci używają swoich preferowanych tożsamości społecznościowych, firmowych lub lokalnych kont, aby uzyskać dostęp do logowania jednokrotnego do aplikacji i interfejsów API.
Zarządzanie dostępem do zasobów w chmurze jest krytyczną funkcją dla każdej organizacji korzystającej z chmury. Kontrola dostępu oparta na rolach platformy Azure (RBAC) platformy Azure ułatwia zarządzanie osobami mającymi dostęp do zasobów platformy Azure, czynnościami, które mogą wykonywać z tymi zasobami oraz obszarami, do których mogą uzyskiwać dostęp.
Możesz użyć Platforma tożsamości Microsoft do uwierzytelniania przy użyciu pozostałych narzędzi DevOps, w tym natywnej obsługi w usłudze Azure DevOps i integracji z usługą GitHub Enterprise.
Obecnie klaster usługi Azure Kubernetes Service (AKS) (w szczególności dostawca chmury Kubernetes) wymaga tożsamości do utworzenia dodatkowych zasobów, takich jak moduły równoważenia obciążenia i dyski zarządzane na platformie Azure. Ta tożsamość może być tożsamością zarządzaną lub jednostką usługi. Jeśli używasz jednostki usługi, musisz podać jedną lub usługę AKS utworzyć w Twoim imieniu. Jeśli używasz tożsamości zarządzanej, zostanie utworzony automatycznie przez usługę AKS. W przypadku klastrów korzystających z jednostek usługi jednostka usługi musi zostać ostatecznie odnowiona, aby klaster działał. Zarządzanie jednostkami usługi zwiększa złożoność, dlatego łatwiej jest użyć tożsamości zarządzanych. Te same wymagania dotyczące uprawnień dotyczą zarówno jednostek usługi, jak i tożsamości zarządzanych.
Tożsamości zarządzane są zasadniczo otoką wokół jednostek usługi i ułatwiają zarządzanie.
Zarządzanie kluczami i wpisami tajnymi za pomocą usługi Azure Key Vault
Usługa Azure Key Vault może służyć do bezpiecznego przechowywania i kontrolowania dostępu do tokenów, haseł, certyfikatów, kluczy interfejsu API i innych wpisów tajnych. Scentralizowanie przechowywania wpisów tajnych aplikacji w usłudze Key Vault umożliwia kontrolowanie ich dystrybucji. Usługa Key Vault znacznie ogranicza prawdopodobieństwo przypadkowego ujawnienia wpisów tajnych. W przypadku korzystania z usługi Key Vault deweloperzy aplikacji nie muszą już przechowywać informacji zabezpieczających w swojej aplikacji, co eliminuje konieczność tworzenia tych informacji jako części kodu. Na przykład aplikacja może potrzebować połączenia z bazą danych. Zamiast przechowywać parametry połączenia w kodzie aplikacji można je przechowywać bezpiecznie w usłudze Key Vault.
Monitoruj swoje aplikacje
Usługa Azure Monitor umożliwia monitorowanie aplikacji i infrastruktury w czasie rzeczywistym, co pozwala na identyfikowanie problemów z kodem oraz potencjalnie podejrzanych aktywności i anomalii. Usługa Azure Monitor jest zintegrowana z potokami wydań w usłudze Azure Pipelines, co umożliwia automatyczne zatwierdzanie bram jakości lub wycofywanie wydań na podstawie danych monitorowania.
Dowiedz się, jak monitorować aplikacje i infrastrukturę przy użyciu aplikacja systemu Azure Szczegółowe informacje i usługi Azure Monitor.
- Zarządzanie wydajnością aplikacji za pomocą Szczegółowe informacje aplikacji
- Monitorowanie konteneryzowanych aplikacji za pomocą usługi Azure Monitor
Tworzenie właściwej architektury
Bezpieczeństwo to jeden z najważniejszych aspektów każdej architektury. Zabezpieczenia zapewniają poufność, integralność i dostępność przed celowymi atakami i nadużyciami cennych danych i systemów. Utrata tych gwarancji może negatywnie wpłynąć na operacje biznesowe i dochody oraz reputację organizacji na rynku.