Planen von Änderungen an der Cloudinfrastruktur mit Copilot

Abgeschlossen

Angenommen, ein Team empfängt eine Anforderung zur Bereitstellung eines neuen Azure virtuellen Netzwerks mit bestimmten Sicherheitsanforderungen. Das virtuelle Netzwerk benötigt drei Subnetze für Web-, Anwendungs- und Datenebenen, jeweils mit einer eigenen Netzwerksicherheitsgruppe (NSG). Vor dem Schreiben von Infrastrukturcode möchte der Techniker einen klaren Plan, der alle Komponenten und deren Beziehungen abdeckt.

Note

Die in dieser Einheit gezeigten Eingabeaufforderungen veranschaulichen, wie ein Betriebstechniker mit dem Planagenten in jedem Szenario interagieren kann. Sie sind Beispiele für effektive Eingabeaufforderungsmuster, die die Art des Kontexts veranschaulichen, den der Agent benötigt. Sie sind keine schrittweisen Anleitungen, die Sie befolgen müssen.

Zunächst wählt der Techniker "Plan" aus der Dropdownliste "Agents" in der Chatansicht aus und beschreibt das Ziel. Ein Beispiel dafür, wie diese Eingabeaufforderung strukturiert werden kann:

/plan Create Bicep templates to deploy an Azure virtual network named vnet-prod-001 in the eastus region with three subnets (web, app, data), each with a dedicated network security group. The web subnet should allow inbound HTTP/HTTPS traffic, the app subnet should only accept traffic from the web subnet, and the data subnet should only accept traffic from the app subnet.

Der Planagent untersucht Ihren Arbeitsbereich auf vorhandene Bicep-Dateien, Module oder Parameterdateien. Anschließend wird ein Plan generiert, der Folgendes umfassen kann:

  • Erstellen Sie eine main.bicep Datei mit der Virtuellen Netzwerkressource und drei Subnetzdefinitionen.
  • Erstellen Sie ein nsg-web.bicep Modul mit Regeln, die eingehende Ports 80 und 443 aus dem Internet zulassen.
  • Erstellen Sie ein nsg-app.bicep Modul mit Regeln, die eingehenden Datenverkehr nur aus dem Websubnetzadressenbereich zulassen.
  • Erstellen Sie ein nsg-data.bicep Modul mit Regeln, die eingehenden Datenverkehr nur aus dem Subnetzadressenbereich der App zulassen.
  • Erstellen Sie eine parameters.prod.json Datei mit umgebungsspezifischen Werten.
  • Fügen Sie Überprüfungsschritte hinzu, um die Bicep-Vorlagen mit az bicep build zu validieren, und führen Sie eine What-if-Bereitstellung aus.

Iterieren des Plans

Nach der Überprüfung des ursprünglichen Plans bemerkt der Techniker, dass er die Diagnoseprotokollierung nicht berücksichtigt. Eine Nachverfolgungsaufforderung, um dieses verpasste Element zu adressieren, könnte wie folgt aussehen:

Add NSG flow logs for each network security group, storing them in an existing storage account. Also include a Log Analytics workspace for traffic analytics.

Der Plan-Agent aktualisiert den Plan, um weitere Implementierungsschritte für NSG-Datenflussprotokolle und die Traffic Analytics-Konfiguration einzubeziehen.

Szenario: Automatisieren der Einhaltung von Ressourcengruppen-Tagging

Eine Organisation erfordert, dass alle Ressourcengruppen bestimmte Tags für die Kostenzuordnung und den Besitz tragen. Das Team benötigt eine Azure Policy, die Tagging und ein Korrekturskript für vorhandene nicht kompatible Ressourcen erzwingt. Eine Beispielaufforderung für dieses Szenario:

/plan Create an Azure Policy definition that requires 'CostCenter', 'Environment', and 'Owner' tags on all resource groups. Include a PowerShell remediation script that scans existing resource groups and applies default tags where they're missing.

Der Plan-Agent generiert einen Plan, der Folgendes abdeckt:

  1. Erstellen Sie eine JSON-Datei der Richtliniendefinition mit dem deny Effekt für fehlende Tags.
  2. Erstellen Sie eine Richtlinienzuweisung für den Abonnementbereich.
  3. Erstellen Sie ein PowerShell-Skript, das Get-AzResourceGroup zum Finden von nichtkonformen Ressourcengruppen und Set-AzResourceGroup zum Anwenden von Standard-Tags verwendet.
  4. Fügen Sie Überprüfungsschritte hinzu, um die Richtlinie mit einem nicht kompatiblen Ressourcengruppenerstellungsversuch zu testen.

Szenario: Planen einer rollenbasierten Zugriffssteuerungsüberprüfung

Wenn ein Team Rollenzuweisungen für Role-Based Access Control (RBAC) über mehrere Abonnements hinweg prüfen und aktualisieren muss, kann der Umfang der Änderungen erheblich sein. Die Verwendung des Planmodus hilft ihnen, den vollständigen Ansatz zu erkennen, bevor Änderungen vorgenommen werden. Ein Beispiel dafür, wie ein Techniker dieses Ziel für den Plan-Agenten beschreiben kann:

/plan Create a PowerShell script that audits RBAC role assignments across all subscriptions in our tenant. The script should export a CSV report of all users with Owner or Contributor roles, flag any assignments to individual user accounts (versus groups), and identify role assignments that haven't been used in the last 90 days using Azure AD sign-in logs.

Der Plan kann Schritte für Folgendes enthalten:

  • Erstellen Sie ein Skript, das mithilfe von Get-AzSubscription Abonnements durchläuft.
  • Abrufen von Rollenzuweisungen mit Get-AzRoleAssignment und Filtern nach Besitzer- und Mitwirkenden-Rollen.
  • Vergleichen Sie Zuweisungen mit den Anmeldeprotokollen von Microsoft Entra ID, um inaktive Zuordnungen zu identifizieren.
  • Exportieren Sie Ergebnisse in eine CSV-Datei mit Spalten für Abonnement, Prinzipalname, Rolle, Zuordnungstyp (Benutzer im Vergleich zur Gruppe) und datum der letzten Anmeldung.
  • Fügen Sie Fehlerbehandlung für Abonnements hinzu, bei denen die aktuelle Identität keinen Lesezugriff hat.

Tipps zum Schreiben effektiver Infrastrukturaufforderungen

Wenn Sie den Plan-Agent für Cloudinfrastrukturaufgaben verwenden, fügen Sie diese Details in Ihre Eingabeaufforderungen ein:

  • Target-Umgebung: Geben Sie die Azure region, den Abonnementkontext oder die Ressourcengruppe an.
  • Benennungskonventionen: Schließen Sie die Benennungsstandards Ihrer Organisation ein (z. B vnet-prod-001. ).
  • Abhängigkeiten: Erwähnen Sie vorhandene Ressourcen, auf die die neue Infrastruktur verweisen muss.
  • Sicherheitsanforderungen: Geben Sie alle Compliancestandards oder Sicherheitsregeln an, die gelten.
  • Tooling-Einstellungen: Geben Sie an, ob Sie Bicep, ARM-Vorlagen, Terraform- oder Azure CLI-Skripts bevorzugen.

Tip

Wenn Ihr Repository eine .github/copilot-instructions.md Datei mit den Infrastrukturstandards Ihrer Organisation enthält, übernimmt der Plan-Agent diese Anweisungen automatisch bei der Planerstellung. Auf diese Weise wird sichergestellt, dass generierte Pläne den Konventionen Ihres Teams für benennungs-, Tagging- und Architekturmuster entsprechen.