Planen von Änderungen an der Cloudinfrastruktur mit Copilot
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.bicepDatei mit der Virtuellen Netzwerkressource und drei Subnetzdefinitionen. - Erstellen Sie ein
nsg-web.bicepModul mit Regeln, die eingehende Ports 80 und 443 aus dem Internet zulassen. - Erstellen Sie ein
nsg-app.bicepModul mit Regeln, die eingehenden Datenverkehr nur aus dem Websubnetzadressenbereich zulassen. - Erstellen Sie ein
nsg-data.bicepModul mit Regeln, die eingehenden Datenverkehr nur aus dem Subnetzadressenbereich der App zulassen. - Erstellen Sie eine
parameters.prod.jsonDatei mit umgebungsspezifischen Werten. - Fügen Sie Überprüfungsschritte hinzu, um die Bicep-Vorlagen mit
az bicep buildzu 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:
- Erstellen Sie eine JSON-Datei der Richtliniendefinition mit dem
denyEffekt für fehlende Tags. - Erstellen Sie eine Richtlinienzuweisung für den Abonnementbereich.
- Erstellen Sie ein PowerShell-Skript, das
Get-AzResourceGroupzum Finden von nichtkonformen Ressourcengruppen undSet-AzResourceGroupzum Anwenden von Standard-Tags verwendet. - 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-AzSubscriptionAbonnements durchläuft. - Abrufen von Rollenzuweisungen mit
Get-AzRoleAssignmentund 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.