DevSecOps na platformie Azure

Boards
Azure DevOps
Monitor
Pipelines
Zasady

Bezpieczeństwo jest głównym problemem w przypadku firm, które przechowują dowolne sortowanie danych niestandardowych lub niezwiązanych z klientem.Security is a prime concern for businesses that store any sort of custom or client data. Rozwiązanie obejmujące zarządzanie i interfejs danych należy opracować z uwzględnieniem zabezpieczeń.The solution that is covering the management and interface of this data should be developed with security in mind. DevSecOps obejmuje korzystanie z najlepszych rozwiązań w zakresie zabezpieczeń od początku opracowywania, a jednocześnie przenosi fokus na zabezpieczenia przed inspekcją i na rozwój na początku przy użyciu strategii przesuniętej w lewo.DevSecOps involves utilizing security best practices from the beginning of development, shifting the focus on security away from auditing at the end and towards development in the beginning using a shift-left strategy.

Diagram architektury Pobiera plik SVG z tej architektury.Architecture Diagram Download an SVG of this architecture.

Przepływ danychData flow

  1. Azure Active Directory (AD) można skonfigurować jako dostawcę tożsamości dla usługi GitHub.Azure Active Directory (AD) can be configured as the identity provider for GitHub. Uwierzytelnianie wieloskładnikowe można włączyć w celu zapewnienia dodatkowych zabezpieczeń.Multi-factor authentication can be enabled for extra security.
  2. Deweloperzy zatwierdzają przedsiębiorstwa w serwisie GitHub, na podstawie których elementy robocze i błędy są śledzone za pomocą Azure Boards.Developers commit to GitHub Enterprise, driven by work items and bugs tracked with Azure Boards.
  3. W usłudze GitHub Enterprise można zintegrować automatyczne zabezpieczenia i skanowanie zależności za poorednictwem zaawansowanych zabezpieczeń usługi GitHub oraz zabezpieczeń Open Source w usłudze GitHub.GitHub Enterprise can integrate automatic security and dependency scanning through GitHub Advanced Security and GitHub Open Source Security.
  4. Żądania ściągnięcia wyzwalają kompilacje CI i automatyczne testowanie w Azure Pipelines.Pull Requests trigger CI builds and automated testing in Azure Pipelines.
  5. Kompilacja CI w Azure Pipelines generuje obraz kontenera Docker, który jest przechowywany w Azure Container Registry, który ma być używany w czasie wydania przez usługę Azure Kubernetes.The CI build in Azure Pipelines generates a Docker container image that is stored to Azure Container Registry, which is to be used at release time by Azure Kubernetes Service.
  6. Po przekazaniu do Azure Container Registry, Azure Security Center skanuje obraz pod kątem luk w zabezpieczeniach platformy Azure, a następnie zalecenia dotyczące zabezpieczeń dla wypychanego obrazu.Upon uploading to the Azure Container Registry, Azure Security Center will scan the image for Azure-native vulnerabilities and for security recommendations for the pushed image.
  7. Wydanie na Azure Pipelines integruje narzędzie Terraform, czyli zarządzanie infrastrukturą chmurową jako kodem, zasobami aprowizacji, takimi jak usługa Azure Kubernetes Service, Application Gateway i Azure Cosmos DB.A release on Azure Pipelines integrates the Terraform tool, managing both the cloud infrastructure as code, provisioning resources such as Azure Kubernetes Service, Application Gateway, and Azure Cosmos DB.
  8. Azure Pipelines włączyć ciągłego dostarczania (CD) do usługi Azure Kubernetes, uzyskując dostęp do Container Registry za pomocą bezpiecznego połączenia usługi.Azure Pipelines enable Continuous Delivery (CD) to Azure Kubernetes Service, by accessing the Container Registry through a secure service connection.
  9. Azure Policy można zastosować do Azure Pipelines w celu wymuszenia bram po wdrożeniu i można je zastosować bezpośrednio do aparatu AKS w celu wymuszenia zasad.Azure Policy can be applied to Azure Pipelines to enforce post-deployment gateways, and can be applied directly to the AKS engine for policy enforcement.
  10. Azure Key Vault służy do bezpiecznego wstrzykiwania wpisów tajnych i poświadczeń do aplikacji w środowisku uruchomieniowym, co umożliwia abstrakcję poufnych informacji od deweloperów.Azure Key Vault is used to securely inject secrets and credentials into an application at runtime, abstracting sensitive information away from developers.
  11. Użytkownicy końcowi mogą uwierzytelniać się za pomocą Azure AD B2C, co jest wymagane do korzystania z uwierzytelniania wieloskładnikowego w celu zapewnienia dodatkowych zabezpieczeń, i być kierowany przez Application Gateway, które mogą równoważyć obciążenie i chronić podstawowe usługi.End users can authenticate with Azure AD B2C, required to use MFA for extra security, and be routed through an Application Gateway that can load balance and protect core services.
  12. Ciągłe monitorowanie za pomocą Azure Monitor rozszerza potoki do wydań lub Wycofaj wydania na podstawie danych monitorowania.Continuous monitoring with Azure Monitor extends to release pipelines to gate or rollback releases based on monitoring data. Azure Monitor również pobiera dzienniki zabezpieczeń i może otrzymywać alerty o podejrzanych działaniach.Azure Monitor also ingests security logs and can alert on suspicious activity.
  13. Jako dodanie i końcowa część przepływu DevSecOps, Azure Security Center będzie w stanie uaktywnić aktywne monitorowanie zagrożeń w usłudze Azure Kubernetes, na poziomie obu węzłów (zagrożenia maszyn wirtualnych) i wewnętrznych.As addition and final part of a DevSecOps flow, Azure Security Center will be able to do active threat monitoring on the Azure Kubernetes Service, on both Node level (VM threats) and internals.

SkładnikiComponents

  • Azure Active Directory zapewnia usługi zarządzania tożsamościami i dostępem dla Twojej organizacji, co pozwala kontrolować dostęp do zasobów w ramach platformy Azure, usługi GitHub Enterprise i platformy Azure DevOps.Azure Active Directory provides identity and access management services for your organization, allowing control over access to the resources inside Azure, GitHub Enterprise, and Azure DevOps.
  • Kod źródłowy jest hostowany w przedsiębiorstwie GitHub, w którym deweloperzy mogą współpracować w organizacji i społecznościach Open Source.Source code is hosted on GitHub Enterprise, where developers can collaborate within your organization and the open-source communities. W witrynie GitHub Enterprise oferowane są zaawansowane funkcje zabezpieczeń umożliwiające identyfikację luk w zabezpieczeniach kodu i w zależnościach między elementami Open SourceGitHub Enterprise offers advanced security features to identify vulnerabilities in the code you write and in open-source dependencies
  • Użyj Azure Boards , aby zaplanować prace i śledzić jej postęp przy użyciu narzędzi agile, takich jak tablice Kanban.Use Azure Boards to plan work and track its progress, using Agile tools such as Kanban boards.
  • Azure Pipelines to usługa zapewniająca ciągłą integrację i ciągłe dostarczanie oraz automatyczne Kompilowanie i zwalnianie aplikacji.Azure Pipelines is a service that provides Continuous Integration and Continuous Delivery jobs, to build and release your application automatically.
  • Hostowanie obrazów kontenerów platformy Docker na Azure Container Registry.Host your Docker container images on Azure Container Registry. Ta usługa obejmuje skanowanie obrazów kontenerów z integracją z Azure Security Center.This service includes container image scanning with the integration with Azure Security Center.
  • Usługa Azure Kubernetes oferuje klaster Kubernetes, który jest w pełni zarządzany przez platformę Azure w celu zapewnienia dostępności i bezpieczeństwa infrastruktury.Azure Kubernetes Service offers a Kubernetes cluster that is fully managed by Azure, to ensure availability and security of your infrastructure.
  • Terraform jest produktem innych firm opracowanym przez HashiCorp, który umożliwia automatyzację infrastruktury na platformie Azure, a także w innych środowiskach.Terraform is a third-party product developed by HashiCorp that allows infrastructure automation on Azure, as well as on other environments.
  • Azure Policy umożliwia tworzenie i przypisywanie zasad oraz zarządzanie nimi.Azure Policy lets you create, assign, and manage policies. Te zasady wymuszają różne reguły i efekty dotyczące zasobów, dzięki czemu zasoby te pozostają zgodne ze standardami firmy i umowami dotyczącymi poziomu usług.These policies enforce different rules and effects over your resources, so those resources stay compliant with your corporate standards and service level agreements. Integruje się ona również z usługą Azure Kubernetes.It integrates with Azure Kubernetes Service too.
  • Za pomocą Azure Key Vault można przechowywać certyfikaty, ciągi połączeń, tokeny i inne wpisy tajne.You can use Azure Key Vault to store certificates, connection strings, tokens, and other secrets. Te informacje poufne są odczytywane przez aplikację w czasie wykonywania, dlatego są od nich nieabstrakcyjne.This sensitive information is read by your application at run-time, so it's abstracted away from your developers.
  • Azure Cosmos DB to globalnie dystrybuowana, wielomodelowa usługa bazy danych, która jest w pełni zarządzana i zgodna z wieloma interfejsami API, w tym MongoDB, CASSANDRA i SQL.Azure Cosmos DB is a globally distributed, multi-model database service, that is fully managed and compatible with multiple APIs, including MongoDB, Cassandra, SQL.
  • Usługa Azure Application Gateway to moduł równoważenia obciążenia warstwy 7 z obsługą zaawansowanych reguł routingu i zapory aplikacji sieci Web (WAF).Azure Application Gateway is a Layer-7 load balancer with support for advanced routing rules and a Web Application Firewall (WAF).
  • Korzystanie z Azure monitor pozwala uzyskać wgląd w dostępność i wydajność aplikacji i infrastruktury.Using Azure Monitor lets you get insights on the availability and performance of your application and infrastructure. Zapewnia również dostęp do sygnałów umożliwiających monitorowanie kondycji rozwiązania i nietypowej aktywności.It also gives you access to signals to monitor your solution's health and spot abnormal activity early.
  • Za pomocą Azure AD B2C możesz zapewnić klientom usługi tożsamości (Użytkownicy końcowi) aplikacji, nawet jeśli nie są one częścią organizacji.Using Azure AD B2C you can provide identity services to consumers (end-users) of your application, even if they're not part of your organization.

Następne krokiNext steps

  • Za pomocą Azure Security Center można dostarczyć zagrożeń i zarządzania lukami w odniesieniu do wdrożonego rozwiązania opartego na kontenerach.Using Azure Security Center you can supply threat and vulnerability management for your deployed container-based solution.