Freigeben über


Aktivieren von DevSecOps mit Azure und GitHub

DevSecOps, manchmal als Secure DevOps bezeichnet, baut auf den Prinzipien von DevOps auf, legt jedoch sicherheit im Mittelpunkt des gesamten Anwendungslebenszyklus. Dieses Konzept wird als „Shift-Left-Sicherheit“ bezeichnet: Die Implementierung der Sicherheit findet nicht nur in der Produktion statt, sondern wird bereits in die frühen Phasen der Planung und Entwicklung integriert. Jedes Team und jede Person, die an einer Anwendung arbeitet, muss die 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 prüfen Ihren Code und ermöglichen die Rückverfolgbarkeit der Arbeitsaufgaben und Einblicke in die verwendeten Komponenten von Drittanbietern.

Sichern Ihres Codes mit GitHub

Entwickler können Codescantools verwenden, die den Code in einem GitHub-Repository schnell und automatisch analysieren, um Sicherheitsrisiken und Codierungsfehler zu finden.

Sie können Code scannen, um Korrekturen für vorhandene Probleme zu finden, zu triagen und zu priorisieren. Durch den Code-Scan wird außerdem verhindert, dass Entwickelnde neue Probleme einführen. Sie können Scans für bestimmte Tage und Uhrzeiten planen oder Scans auslösen, wenn ein bestimmtes Ereignis im Repository auftritt, z. B. ein Pushvorgang. Sie können auch die Abhängigkeiten Ihres Repositorys nachverfolgen und Sicherheitswarnungen erhalten, wenn GitHub anfällige Abhängigkeiten erkennt.

Nachverfolgen Ihrer Arbeit mit Azure Boards

Teams kann den Azure Boards-Webdienst verwenden, um Softwareprojekte zu verwalten. Azure Boards bietet eine vielzahl von Funktionen, einschließlich nativer Unterstützung für Scrum und Kanban, anpassbare Dashboards und integrierte Berichte.

Erstellen und Bereitstellen von Containern mit Azure Pipelines

Integrieren Sie Azure-Pipelines und Kubernetes-Cluster mühelos. Sie können dieselben YAML-Dokumente verwenden, um mehrstufige Pipelines als Code sowohl für die kontinuierliche Integration als auch für die kontinuierliche Bereitstellung zu erstellen.

Azure Pipelines integriert die Metadatenverfolgung in Ihre Container-Images, einschließlich Commit-Hashes und Problemnummern von Azure Boards, sodass Sie Ihre Anwendungen vertrauensvoll inspizieren können.

Die Möglichkeit, Bereitstellungspipelinen mit YAML-Dateien zu erstellen und in der Quellcodeverwaltung zu speichern, trägt dazu bei, eine engere Feedbackschleife zwischen Entwicklungs- und Betriebsteams zu fördern, die sich auf klare, lesbare Dokumente verlassen.

Ausführen und Debuggen von Containern mit Bridge to Kubernetes

Die Entwicklung einer Kubernetes-Anwendung kann eine Herausforderung darstellen. Sie benötigen Docker- und Kubernetes-Konfigurationsdateien. Sie müssen herausfinden, wie Sie Ihre Anwendung lokal testen und mit anderen abhängigen Diensten interagieren. Möglicherweise müssen Sie mehrere Dienste gleichzeitig und mit einem Entwicklerteam entwickeln und testen.

Mit Der Brücke zu Kubernetes können Sie Code auf Ihrem Entwicklungscomputer ausführen und debuggen, während Sie weiterhin mit Ihrem Kubernetes-Cluster mit den restlichen Anwendungen oder Diensten verbunden sind. Sie können Ihren Code Ende-zu-Ende testen, Haltepunkte im Code setzen, der im Cluster ausgeführt wird, und einen Entwicklungscluster unter Teammitgliedern teilen, ohne dass sie sich gegenseitig stören.

Durchsetzung der Containersicherheit mit Microsoft Defender für Container und Azure-Policy

Microsoft Defender for Containers ist die cloudnative Lösung zum Schützen Ihrer Container.

Verwalten von Identitäten und Zugriff mit der Microsoft Identity Platform

Die Microsoft Identity Platform ist eine Weiterentwicklung der Azure Active Directory (Azure AD)-Entwicklerplattform. Es ermöglicht Entwicklern, Anwendungen zu erstellen, die sich bei allen Microsoft-Identitäten anmelden und Token abrufen, um Microsoft-APIs wie Microsoft Graph oder APIs aufzurufen, die Entwickler erstellt haben.

Die externe Microsoft Entra-ID stellt business-to-Customer Identity as a Service bereit. Ihre Kunden verwenden ihre bevorzugten Identitäten für soziale Netzwerke, Unternehmen oder lokale Konten, um zugriff auf Ihre Anwendungen und APIs mit einmaligem Anmelden zu erhalten.

Die Zugriffsverwaltung für Cloudressourcen ist eine wichtige Funktion für jede Organisation, die die Cloud verwendet. Die rollenbasierte Azure-Zugriffssteuerung (Azure RBAC) hilft Ihnen, zu verwalten, wer Zugriff auf Azure-Ressourcen hat, was sie mit diesen Ressourcen tun können und auf welche Bereiche sie zugreifen können.

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

Derzeit erfordert ein Azure Kubernetes Service (AKS)-Cluster (insbesondere der Kubernetes-Cloudanbieter) eine Identität, um zusätzliche Ressourcen wie Lastenausgleichsgeräte und verwaltete Datenträger in Azure zu erstellen. Diese Identität kann entweder eine verwaltete Identität oder ein Dienstprinzipal sein. Wenn Sie einen Dienstprinzipal verwenden, müssen Sie entweder einen oder AKS bereitstellen, der in Ihrem Auftrag erstellt wird. Wenn Sie verwaltete Identität verwenden, wird eine automatisch von AKS für Sie erstellt. Bei Clustern, die Dienstprinzipale verwenden, muss der Dienstprinzipal schließlich erneuert werden, damit der Cluster funktioniert. Das Verwalten von Dienstprinzipalen fügt Komplexität hinzu, weshalb es einfacher ist, verwaltete Identitäten stattdessen zu verwenden. Die gleichen Berechtigungsanforderungen gelten sowohl für Dienstprinzipale als auch für verwaltete Identitäten.

Verwaltete Identitäten sind im Wesentlichen ein Wrapper für Dienstprinzipale und vereinfachen die Verwaltung.

Verwalten von Schlüsseln und geheimen Schlüsseln mit Azure Key Vault

Azure Key Vault kann verwendet werden, um den Zugriff auf Token, Kennwörter, Zertifikate, API-Schlüssel und andere geheime Schlüssel sicher zu speichern und zu steuern. Durch die zentrale Speicherung geheimer Anwendungsschlüssel im 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 keine Sicherheitsinformationen mehr in ihrer Anwendung speichern, wodurch die Notwendigkeit beseitigt wird, diese Informationen teil des Codes zu machen. Beispielsweise muss eine Anwendung möglicherweise 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 sowohl Ihre Anwendung als auch Ihre Infrastruktur in Echtzeit überwachen, Probleme mit Ihrem Code und potenzielle verdächtige Aktivitäten und Anomalien identifizieren. Azure Monitor lässt sich in Releasepipelines in Azure Pipelines integrieren, um die automatische Genehmigung von Qualitätsschleusen oder das Rollback von Releases basierend auf Überwachungsdaten zu ermöglichen.

Erfahren Sie, wie Sie Ihre Anwendungen und Infrastruktur mithilfe von Azure Application Insights und Azure Monitor überwachen.

Erstellen der richtigen Architektur

Sicherheit ist einer der wichtigsten Aspekte jeder Architektur. Sicherheit bietet Vertraulichkeits-, Integritäts- und Verfügbarkeitssicherungen gegen absichtliche Angriffe und Missbrauch Ihrer wertvollen Daten und Systeme. Der Verlust dieser Zusicherungen kann sich negativ auf Ihren Geschäftsbetrieb und Ihren Umsatz sowie den Ruf Ihrer Organisation auf dem Markt auswirken.