Aktivieren von DevSecOps mit Azure und GitHub

DevSecOps (Development, Security, Operations), manchmal auch als Secure DevOps bezeichnet, baut auf den Prinzipien von DevOps auf, stellt aber die Sicherheit in den Mittelpunkt des gesamten Anwendungslebenszyklus. Dieses Konzept wird als „Shift Left Security“ bezeichnet: Die Implementierung der Sicherheit wird bei einem Ansatz, bei dem der Fokus nur auf der Produktion liegt, bereits in die frühen Phasen der Planung und Entwicklung verschoben. Jedes Team und jede Person, das bzw. die an einer Anwendung arbeitet, muss den Aspekt der Sicherheit berücksichtigen.

Microsoft und GitHub bieten Lösungen, um Vertrauen in den Code zu schaffen, den Sie in der Produktion ausführen. Diese Lösungen überprüfen Ihren Code und ermöglichen die Rückverfolgbarkeit der Arbeitsaufgaben und Erkenntnisse über die verwendeten Komponenten von Drittanbietern.

Sichern Sie Ihren Code mit GitHub

Mit den Tools für die Codeüberprüfung können Entwickler*innen den Code in einem GitHub-Repository schnell und automatisch analysieren, um Sicherheitslücken und Programmierfehler zu finden.

Sie können Code überprüfen, um Fixes für vorhandene Probleme zu ermitteln, zu selektieren und zu priorisieren. Durch die Code-Überprüfung wird außerdem verhindert, dass Entwickler neue Probleme einführen. Sie können Überprüfungen für bestimmte Tage und Uhrzeiten planen oder Überprüfungen durchführen, wenn im Repository ein bestimmtes Ereignis auftritt, z. B. ein Push. Sie können auch die Abhängigkeiten Ihres Repositorys nachverfolgen und Sicherheitswarnungen erhalten, wenn GitHub gefährdete Abhängigkeiten erkennt.

Nachverfolgen der Arbeit mit Azure Boards

Teams können den Webdienst Azure Boards zur Verwaltung von Software-Projekten nutzen. Azure Boards bietet eine Vielzahl von Funktionen, darunter native Unterstützung für Scrum und Kanban, anpassbare Dashboards und integrierte Berichte.

Erstellen und Bereitstellen von Containern mit Azure Pipelines

Die Integration von Azure Pipelines- und Kubernetes-Clustern ist ganz einfach. Sie können dieselben YAML-Dokumente verwenden, um mehrstufige Pipelines für Continuous Integration und Continuous Delivery als Code zu erstellen.

Azure Pipelines integriert die Metadatennachverfolgung in Ihre Containerimages (einschließlich Commit-Hashes und Issue-Nummern von Azure Boards), sodass Sie Ihre Anwendungen zuverlässig untersuchen können.

Die Möglichkeit zum Erstellen von Bereitstellungspipelines mit YAML-Dateien und deren Speicherung in der Quellcodeverwaltung fördern eine engere Feedbackschleife zwischen Entwicklungs- und Betriebsteams, die sich auf klare, lesbare Dokumente verlassen.

Ausführen und Debuggen von Containern mit Bridge to Kubernetes

Das Entwickeln einer Kubernetes-Anwendung kann eine Herausforderung sein. Sie benötigen Docker und Kubernetes-Konfigurationsdateien. Sie müssen feststellen, wie Sie Ihre Anwendung lokal testen können und wie sie mit anderen abhängigen Diensten zusammenarbeitet. Möglicherweise müssen Sie mit einem Entwicklerteam mehrere Dienste gleichzeitig entwickeln und testen.

Bridge to Kubernetes ermöglicht Ihnen das Ausführen und Debuggen von Code auf Ihrem Entwicklungscomputer, während der Kubernetes-Cluster weiterhin mit den restlichen Anwendungen oder Diensten verbunden ist. Sie können End-to-End-Tests für Ihren Code ausführen, an Breakpoints für im Cluster ausgeführten Code anhalten und einen Entwicklungscluster ohne Beeinträchtigung zwischen Teammitgliedern freigeben.

Erzwingen der Containersicherheit mit Microsoft Defender for Containers und Azure Policy

Microsoft Defender für Cloud ist die cloudnative Lösung zum Schützen Ihrer Container.

Verwalten von Identitäten und des Zugriffs mit Microsoft Identity Platform

Die Microsoft Identity Platform ist eine Weiterentwicklung der Azure AD-Entwicklerplattform (Azure Active Directory). Sie ermöglicht Entwicklern das Erstellen von Anwendungen, mit denen alle Microsoft-Identitäten angemeldet werden, sowie das Abrufen von Token zum Aufrufen von Microsoft-APIs, etwa Microsoft Graph oder von Entwicklern erstellte APIs.

Azure AD B2C bietet Business-to-Customer-Identitäten als Dienst. Ihre Kunden verwenden ihre bevorzugten Identitäten für soziale Netzwerke, Unternehmen oder lokale Konten, um mit einmaligem Anmelden Zugriff auf Ihre Anwendungen und APIs zu erhalten.

Die Zugriffsverwaltung für Cloudressourcen ist eine wichtige Funktion für jede Organisation, die die Cloud nutzt. Mit der rollenbasierten Zugriffssteuerung in Azure (Azure RBAC) können Sie verwalten, welche Benutzer*innen Zugriff auf Azure-Ressourcen haben, welche Aktionen sie für diese Ressourcen ausführen können und auf welche Bereiche zugegriffen werden kann.

Sie können Microsoft Identity Platform verwenden, um sich für die restlichen DevOps-Tools zu authentifizieren (einschließlich nativer Unterstützung in Azure DevOps und Integrationen in GitHub Enterprise).

Derzeit erfordert ein AKS-Cluster (Azure Kubernetes Service) und insbesondere der Kubernetes-Cloudanbieter zum Erstellen zusätzlicher Ressourcen in Azure Container Service, wie Lastenausgleichsmodule und verwaltete Datenträger, eine Identität. Dabei kann es sich um eine verwaltete Identität oder einen Dienstprinzipal handeln. Wenn Sie einen Dienstprinzipal verwenden, müssen Sie diesen bereitstellen oder in Ihrem Namen durch AKS erstellen lassen. Wenn Sie eine verwaltete Identität verwenden, wird diese automatisch von AKS erstellt. Bei Clustern, die Dienstprinzipale verwenden, muss der Dienstprinzipal schließlich erneuert werden, damit der Cluster funktioniert. Das Verwalten von Dienstprinzipalen erhöht die Komplexität, daher ist es einfacher, stattdessen verwaltete Identitäten zu verwenden. Dieselben Berechtigungsanforderungen gelten sowohl für Dienstprinzipale als auch für verwaltete Identitäten.

Verwaltete Identitäten stellen im Wesentlichen einen Wrapper um Dienstprinzipale dar und vereinfachen deren Verwaltung.

Verwalten von Schlüsseln und Geheimnissen mit Azure Key Vault

Azure Key Vault ermöglicht die sichere Speicherung und Steuerung des Zugriffs auf Token, Kennwörter, Zertifikate, API-Schlüssel und andere Geheimnisse. Durch die Zentralisierung der Speicherung von Anwendungsgeheimnissen in Key Vault können Sie deren Verteilung steuern. Mit Key Vault lässt sich das Risiko einer unbeabsichtigten Weitergabe von Geheimnissen erheblich senken. Wenn Sie Key Vault verwenden, müssen Anwendungsentwickler*innen keine Sicherheitsinformationen mehr in ihrer Anwendung speichern, und diese Informationen müssen nicht mehr Teil des Codes sein. Ein Beispiel: Angenommen, eine Anwendung muss eine Verbindung mit einer Datenbank herstellen. Anstatt die Verbindungszeichenfolge im App-Code zu speichern, können Sie diese sicher in Key Vault speichern.

Überwachen Sie Ihre Anwendungen

Mit Azure Monitor können Sie Ihre Anwendung und Infrastruktur in Echtzeit überwachen und Probleme mit dem Code und potenziell verdächtige Aktivitäten und Anomalien identifizieren. Azure Monitor kann in Releasepipelines in Azure Pipelines integriert werden, um die automatische Genehmigung von Quality Gates oder die Release-Zurücksetzung basierend auf den Überwachungsdaten zu ermöglichen.

Erfahren Sie, wie Sie Ihre Anwendungen und Infrastrukturen mithilfe von Azure Application Insights und Azure Monitor überwachen können.

Erstellen der richtigen Architektur

Sicherheit ist einer der wichtigsten Aspekte jeder Architektur. Sicherheit bietet die Gewährleistung von Vertraulichkeit, Integrität und Verfügbarkeit gegenüber vorsätzlichen Angriffen und Missbrauch Ihrer wertvollen Daten und Systeme. Der Verlust dieser Gewährleistung kann sich negativ auf die Geschäftsabläufe und den Umsatz sowie den Ruf Ihres Unternehmens auf dem Markt auswirken.