Freigeben über


Azure-Sandbox

Azure Sandbox ist ein Terraform-basiertes Projekt, das die Bereitstellung von Sandkastenumgebungen in Azure vereinfacht. Es bietet ein modulares und wiederverwendbares Framework für die Implementierung der Foundation-Infrastruktur, die die Entwicklung innovativer neuer Lösungen in Azure beschleunigen kann.

Der Azure Sandbox besteht aus modularen Komponenten, die Sie je nach Ihren Anforderungen einzeln oder zusammen bereitstellen können. Da eine vollständig bereitgestellte Umgebung möglicherweise kostspielig ist, können Sie Ausgaben verwalten, indem Sie virtuelle Maschinen (VMs) beenden oder freigeben, wenn sie nicht verwendet werden, oder indem Sie nur die Module bereitstellen, die für Ihr Szenario unerlässlich sind. Die Kosten variieren je nach Ihrem Azure-Abonnementtyp und Ihrer Region.

Architektur

Diagramm, das die Azure Sandbox-Umgebung zeigt.

Das Diagramm enthält mehrere Abschnitte, die vertikal angeordnet sind. Im oberen Abschnitt wird eine Azure-Abonnementgrenze angezeigt. Darin befindet sich ein Rechteck, das die meisten Bildelemente umschließt und die Aufschrift "rg-sandbox-01" trägt. Der Automatisierungskonto und der Log Analytics-Arbeitsbereich sind in diesem Abschnitt enthalten. Es gibt zwei Rechtecke innerhalb des Abonnements und drei kleinere Rechtecke am unteren Rand. Das linke Rechteck mit der Bezeichnung vnet-shared-01 (10.1.0.0/16) enthält Azure Bastion-Host, Azure Firewall, add1 und Tresorsymbole. Das rechte Rechteck ist mit vnet-app-01 (10.2.0.0/16) beschriftet und enthält jumpwin1-, jumplinux1-, mssqlwin1-, blob-, file-, sqlServer- und mysqlServer-Symbole. Ein bidirektionaler Pfeil mit der Bezeichnung Peering verbindet das linke und rechte Rechteck. Eine zeilebeschriftete öffentliche IP-Adresse verbindet Bastion-Host mit dem Cloudsymbol. Eine Zeile mit der Bezeichnung "Öffentliche IP-Adresse" verbindet Azure Firewall mit dem Cloudsymbol. Eine Zeile mit der Bezeichnung Point-to-Site VPN verbindet vwan-xx (10.3.0./16) mit dem Cloudsymbol. Ein bidirektionaler Pfeil verbindet den Schlüsselverwahrungsort und das Tresorsymbol. Ein bidirektionaler Pfeil verbindet add1 und vwan-xx (10.3.0./16). Unten befinden sich drei Rechtecke, die Symbole mit der Bezeichnung vhub-xx (10.4.0.0/16), testdb (SQL) und Testdb (My) enthalten. Peeringpfeile verbinden diese Felder mit dem Abschnitt vnet-app-01 (10.2.0.0/16). Ein bidirektionaler Pfeil verbindet den Abschnitt snet-privatelink-01 (10.2.2.0/24) mit dem Speicherkonto.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Komponenten

Sie können jede der folgenden Sandkastenkonfigurationen oder nur die benötigten Konfigurationen bereitstellen:

  • Active Directory Domain Services ist eine Windows Server-VM, auf der Active Directory Domain Services (AD DS) ausgeführt wird. In dieser Architektur bietet sie eine zentralisierte Authentifizierung, Domänenbeitritt für VMs und Richtlinienverwaltung in der Sandkastenumgebung.

  • Das virtuelle Anwendungsnetzwerk ist ein separates virtuelles Netzwerk, in dem Anwendungsworkloads und Datenbanken gehostet werden. In dieser Architektur bietet sie Netzwerkisolation für Testanwendungen und ermöglicht gleichzeitig die sichere Kommunikation mit gemeinsamen Diensten über virtuelles Netzwerk-Peering.

  • Azure Bastion ist ein verwalteter Dienst, der sicheren Remotedesktopprotokoll (RDP) und Secure Shell (SSH)-Zugriff auf VMs ohne öffentliche IP-Adressen bereitstellt. In dieser Architektur ermöglicht es den sicheren Remotezugriff auf Sandkasten-VMs direkt über das Azure-Portal, während die Angriffsfläche minimiert wird.

  • Azure Database for MySQL flexible Server ist ein verwalteter MySQL-Datenbankdienst, der private Netzwerke unterstützt. In dieser Architektur stellt sie eine Datenbankplattform zum Testen von Open-Source-Anwendungen bereit und veranschaulicht gleichzeitig private Endpunktkonnektivitätsmuster.

  • Azure Files ist ein vollständig verwalteter Dateifreigabedienst, auf den Sie über das SMB-Protokoll (Server Message Block) zugreifen können. In dieser Architektur bietet sie gemeinsam genutzten Speicher für Windows- und Linux-VMs beim Hosten von Skripts und Konfigurationsdateien.

  • Azure Firewall ist ein cloudeigener Firewalldienst, der Bedrohungserkennung bereitstellt. In dieser Architektur steuert sie den Datenverkehr zwischen virtuellen Netzwerken und dem Internet, wodurch netzwerksegmentierungs- und Sicherheitsrichtlinien in der sandkastenumgebung erzwungen werden.

  • Azure SQL-Datenbank ist ein vollständig verwalteter relationaler Datenbankdienst. In dieser Architektur werden moderne cloudeigene Datenbankmuster veranschaulicht und über private Endpunkte aufgerufen, um sichere Unternehmensarchitekturen zu simulieren.

  • Azure Virtual WAN ist ein Netzwerkdienst, der sichere Remotekonnektivität bereitstellt. In dieser Architektur bietet es Point-to-Site-VPN-Zugriff für Entwickler und Administratoren, die vollständige Netzwerkkonnektivität mit Sandkastenressourcen von Remotestandorten benötigen.

  • Linux-Sprungbox ist eine in die Domäne eingebundene Linux-VM, die mit DevOps-Tools vorinstalliert ist, einschließlich Azure CLI, PowerShell und Terraform. In dieser Architektur dient sie als DevOps-Automatisierungsplattform und veranschaulicht plattformübergreifende Domänenintegrationsszenarien.

  • Das virtuelle Netzwerk für gemeinsame Dienste ist ein dediziertes virtuelles Netzwerk, das zentralisierte Infrastrukturdienste hostt. In dieser Architektur stellt sie die Netzwerkbasis für Domänencontroller, DNS-Dienste (Domain Name System) und gemeinsame Sicherheitsdienste bereit, die die gesamte Sandkastenumgebung unterstützen.

  • SQL Server auf virtuellen Azure-Computern ist eine Windows-VM, auf der SQL Server mit vollständiger Administrativer Kontrolle ausgeführt wird. In dieser Architektur wird das Testen von Legacyanwendungen und benutzerdefinierten SQL-Konfigurationen unterstützt, die bestimmte Datenbankmodulfeatures erfordern.

  • Windows Server Jump-Box ist eine Domain-gebundene Windows-VM, die Verwaltungstools wie Remoteserver-Verwaltungstools (RSAT), Azure Storage Explorer und SQL Server Management Studio bereitstellt. In dieser Architektur bietet sie eine sichere Verwaltungsplattform zum Verwalten von Sandkastenressourcen und veranschaulicht herkömmliche Windows-Verwaltungsmuster.

Bereitstellen der Sandbox

Für die Azure Sandbox-Umgebung sind die folgenden Voraussetzungen erforderlich:

Weitere Informationen zum Vorbereiten einer Sandbox-Bereitstellung finden Sie unter Voraussetzungen.

Erwägen Sie die folgenden Strategien, um AzureSandbox in eine Azure-Zielzone zu integrieren:

  • Platzieren Sie das Sandbox-Abonnement in der Verwaltungsgruppe Sandboxes.
  • Isolieren Sie die Sandbox von Ihrem privaten Netzwerk.
  • Überwachen Sie die Aktivität des Sandbox-Abonnements.
  • Beschränken Sie den Sandbox-Zugriff und entfernen Sie den Zugriff, wenn er nicht mehr benötigt wird.
  • Setzen Sie die Sandboxen nach einem Ablaufzeitraum außer Betrieb, um die Kosten zu überprüfen.
  • Erstellen Sie zur Kostenkontrolle ein Budget für Sandbox-Abonnements.

Weitere Informationen finden Sie unter Sandboxumgebungen für Zielzonen.

Um Azure Sandbox bereitzustellen, wechseln Sie zum AzureSandbox GitHub-Repository , und beginnen Sie mit "Erste Schritte – Interaktive Ausführung".

Anwendungsfälle

Eine Sandbox eignet sich ideal für die Beschleunigung von Azure-Projekten. Nachdem Sie Ihre Sandbox-Umgebung bereitgestellt haben, können Sie Dienste und Funktionen hinzufügen. Sie können den Sandkasten für verschiedene Aktivitäten verwenden:

  • Eigenständiges Lernen
  • Hackathons
  • Testen
  • Entwicklung
  • Planübungen
  • Red Team-/Blue Team-Simulationen
  • Übungen zur Reaktion auf Vorfälle

Von Bedeutung

Azure Sandbox ist nicht für Produktionszwecke vorgesehen. Die Bereitstellung verwendet einige bewährte Methoden, während andere aus Gründen der Vereinfachung und Kosteneffizienz bewusst nicht eingesetzt werden.

Fähigkeiten

Grundlegende Voraussetzungen können das Experimentieren mit bestimmten Azure-Diensten oder -Funktionen blockieren. Eine Sandbox-Umgebung kann Ihr Projekt beschleunigen, indem viele der alltäglichen zentralen Infrastrukturkomponenten bereitgestellt werden. Sie können sich auf die Für Ihr Szenario relevanten Dienste oder Funktionen konzentrieren.

Sie können beispielsweise die folgenden Funktionen und Konfigurationen verwenden, die die Azure Sandbox-Umgebung bietet:

  • Stellen Sie über das Internet eine Verbindung mit einer Windows-Jumpbox-VM her.

    • Option 1: Internetzugriff über einen Webbrowser und Azure Bastion

    • Option 2: Point-to-Site-VPN-Konnektivität über virtuelles WAN

  • Verwenden Sie eine vorkonfigurierte lokale AD DS-Domäne als Domänenadministrator.

    • Vorkonfigurierter integrierter DNS-Server

    • Vorkonfigurierte Integration mit privaten Azure-DNS-Zonen

    • Vorkonfigurierte Integration mit privaten Endpunkten von Azure Private Link

  • Verwenden Sie eine vorkonfigurierte Azure Files-Dateifreigabe.

  • Verwenden Sie eine Windows-Sprungbox-VM als Entwicklerarbeitsstation.

    • Domäne in die lokale Domäne eingebunden

    • Verwalten von Active Directory und DNS mit vorinstallierten Windows Server RSAT

    • Visual Studio Code ist mit Remote-SSH-Verbindung mit einer Linux-Jumpbox vorinstalliert.

    • Speicher-Explorer, AzCopy und Azure Data Studio vorinstalliert

    • SQL Server Management Studio ist vorinstalliert.

    • MySQL Workbench ist vorinstalliert.

  • Verwenden Sie eine Linux Jumpbox-VM als DevOps-Agent.

    • Domäne, die mit Winbind zu einer lokalen Domäne beigetreten ist

    • Azure CLI, PowerShell und Terraform vorinstalliert

    • Dynamic Common Internet File System (CIFS)-Einhängen auf vorkonfigurierte Azure Files-Dateifreigabe

  • Verwenden Sie einen vorkonfigurierten virtuellen SQL Server-Computer.

    • Domäne in die lokale Domäne eingebunden
  • Verwenden Sie eine vorkonfigurierte SQL-Datenbank oder Azure-Datenbank für den flexiblen MySQL-Server über private Endpunkte.

Sicherheit

Sicherheit bietet Sicherheitsmaßnahmen gegen bewusste Angriffe und den Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Sicherheit.

Von Bedeutung

Sandbox-Umgebungen stellen eine Angriffsfläche dar, die ausgenutzt werden kann. Um das Risiko zu verringern, sollten Sie die folgenden bewährten Sicherheitsmethoden berücksichtigen.

  • Implementieren Sie eine starke Authentifizierung im Microsoft Entra ID-Mandanten, der den Azure-Abonnements zugeordnet ist, die Sie für die Bereitstellung von Sandkastenumgebungen verwenden. Folgen Sie den Empfehlungen in SE:05: Empfehlungen für Identitäts- und Zugriffsverwaltung.

    • Verwenden Sie die Multi-Faktor-Authentifizierung (MFA) für alle Benutzer.

    • Verwenden Sie Richtlinien für bedingten Zugriff (Conditional Access, CA), um den Zugriff auf Sandkastenumgebungen einzuschränken.

    • Verwenden Sie die integrierte Microsoft Entra-Authentifizierung, um den Zugriff auf PaaS-Dienste (Plattform-as-a-Service) von Azure wie SQL-Datenbank und Azure Storage zu autorisieren.

  • Beginnen Sie mit einem Ansatz der geringsten Rechte, um die Sandbox-Verwendung zu autorisieren.

    • Beschränken Sie Owner Azure RBAC-Rollenzuweisungen auf Sandkastenabonnementbesitzer und -benutzer.

    • Verwenden Sie Microsoft Entra Privileged Identity Management (PIM), um privilegierte Azure RBAC-Rollenzuweisungen zu verwalten, die für Sandbox-Abonnements wie OwnerContributor und User Access Administrator gelten.

  • Erhalten Sie die Compliance während der Datenklassifizierung aufrecht. Vermeiden Sie beispielsweise das Hosten von personenbezogenen Daten oder anderen vertraulichen Daten in einer Sandkastenumgebung. Wenn Sie vertrauliche Daten verwenden müssen, verwenden Sie synthetische Daten oder nicht identifizierte Daten.

Berücksichtigen Sie auch die Prinzipien der Secure Futures Initiative , wenn Sie Sandkastenumgebungen entwerfen und implementieren. Die Implementierung der AzureSandbox auf GitHub hängt mit zahlreichen dieser Prinzipien zusammen.

Entwerfen von "Schützen"

  • Beschränken Sie die Verwendung freigegebener geheimer Schlüssel und verwenden Sie Azure Key Vault, um sie zu schützen. Wenn Sie geteilte Geheimnisse verwenden müssen, nutzen Sie verwaltete Identitäten zur Laufzeit, um sie aus dem Key Vault abzurufen. Wenn Sie die geheimen Schlüssel persistent speichern müssen, stellen Sie sicher, dass sie verschlüsselt sind und nicht im Textformat gespeichert werden. Geben Sie geheime Schlüssel niemals an die Konsole oder Protokolldateien zurück und verwenden Sie niemals geheime Schlüssel in der Quellcodeverwaltung.

  • Legen Sie für Key Vault-Geheimnisse ein Ablaufdatum fest.

  • Wenn Sie ein Gastbetriebssystem für VMs auswählen, verwenden Sie nur Betriebssysteme, die derzeit unterstützt werden und berechtigt sind, Sicherheitsupdates zu erhalten.

Standardmäßig sicher

  • Verwenden Sie die Verschlüsselung wie in SE:07: Empfehlungen für die Datenverschlüsselung empfohlen wird.

    • Stellen Sie sicher, dass kryptografische Protokolle und Algorithmen wie TLS 1.2 oder höher und SHA-256 oder höher up-to-datum sind.

    • Erwägen Sie die Verwendung der Hostverschlüsselung oder der Azure Disk Encryption für die Verschlüsselung von Daten während der Übertragung. Bei verwalteten, an VMs angefügten Datenträgern, werden die Daten standardmäßig im Ruhezustand verschlüsselt.

  • Vermeiden Sie die Verwendung öffentlicher IP-Adressen. Verwenden Sie Azure Bastion für sicheren Remotezugriff auf virtuelle Computer.

  • Verwenden Sie private Endpunkte, um mit Azure-Diensten zu kommunizieren.

  • Deaktivieren Des öffentlichen Netzwerkzugriffs auf Azure-Dienste wie Key Vault, Azure Storage und SQL-Datenbank.

  • Deaktivieren Sie den standardmäßigen ausgehenden Zugriff , und verwenden Sie die Azure Firewall Threat Intelligence-basierte Filterung.

Sichere Vorgänge

Beitragende

Microsoft verwaltet diesen Artikel. Die folgenden Mitwirkenden haben diesen Artikel geschrieben.

Hauptautor:

Um nicht-öffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.

Nächste Schritte