person Tia Zanella
calendar_add_on Created April 5, 2026
update Updated April 26, 2026
Share
download Download MD

OSIRIS JSON-Producer für Microsoft Azure

Der Azure-Producer für OSIRIS JSON stellt über die Azure CLI (az) eine Verbindung zu Microsoft Azure her und erzeugt OSIRIS-JSON-Snapshots Ihrer Abonnementtopologie. Seit v0.4.0 deckt der Producer die Ebenen Netzwerk, Compute, Storage, Identität, Datenbanken, Container, Integration, Observability und Backup ab, einschließlich ihrer ressourcenübergreifenden Abhängigkeitskanten (Private Endpoint zu PaaS-Zielen, App Service zu App Insights, Log Analytics, RSV, Backup Vault zu geschützten Elementen, AKS zu Subnetzen und Node Pools usw.).

Um OSIRIS JSON für Microsoft Azure zu verwenden, installieren Sie den Core-Dispatcher und den OSIRIS JSON-Producer für Microsoft Azure:

go install go.osirisjson.org/producers/cmd/osirisjson-producer@latest
go install go.osirisjson.org/producers/cmd/osirisjson-producer-azure@latest

Mit dem Core-Dispatcher können Sie osirisjson-producer azure ... ausführen. Ohne ihn rufen Sie die Hersteller-Binärdatei direkt als osirisjson-producer-azure ... auf.

Stellen Sie sicher, dass $GOPATH/bin (oder $HOME/go/bin) in Ihrem PATH enthalten ist. Weitere Installationsoptionen finden Sie auf der Seite Erste Schritte.

Voraussetzungen

  1. Installieren Sie die Azure CLI
  2. Authentifizieren Sie sich: az login
  3. Der authentifizierte Benutzer muss auf dem oder den Zielabonnements die Rolle Reader (oder eine gleichwertige Leseberechtigung) besitzen. Für die vollständige Datenerfassung einschließlich effektiver Routen benötigt der Benutzer außerdem die Berechtigung Microsoft.Network/networkInterfaces/effectiveRouteTable/action (enthalten in Network Contributor und höher). Fehlt diese Berechtigung, überspringt der Producer die Erfassung effektiver Routen mit einem INFO-Log und läuft normal weiter.

Sie können den Producer auf Ihrem lokalen Rechner ausführen oder ihn per geplantem Job mit einem Service Account auf der Plattform Ihrer Wahl aufrufen.

CLI-Verwendung

osirisjson-producer azure [flags]
osirisjson-producer azure template --generate

Einzelmodus

Beginnen Sie mit der Erfassung eines Abonnements, das automatisch als microsoft-azure-<timestamp>-<name>.json gespeichert wird:

osirisjson-producer azure -S a1b2c3d4-e5f6-7890-abcd-ef1234567890

Interaktiver Modus

Führen Sie den Producer ohne Flags aus, um eine interaktive Abonnementauswahl zu erhalten:

osirisjson-producer azure

Der Producer erkennt alle zugänglichen Abonnements und zeigt eine nummerierte Liste an. Wählen Sie über einzelne Nummern (1,3,5), Bereiche (30-55), Kombinationen (1,3,30-55) oder geben Sie all ein.

Multi-Abonnement-Modus

Erfassen Sie mehrere Abonnements in ein Ausgabeverzeichnis:

# Bestimmte Abonnements
osirisjson-producer azure -S sub-id-1,sub-id-2,sub-id-3 -o ./output

# Alle zugänglichen Abonnements (automatische Erkennung)
osirisjson-producer azure --all -o ./output

# Alle Abonnements in einem bestimmten Tenant
osirisjson-producer azure --all --tenant f1e2d3c4-b5a6-9078-fedc-ba9876543210 -o ./output

Batch-Modus (CSV)

Erzeugen Sie eine CSV-Vorlage:

osirisjson-producer azure template --generate

Erfassen Sie aus einer CSV-Datei:

osirisjson-producer azure -s subscriptions.csv -o ./output

Die CSV-Vorlage verwendet diese Spalten:

SpalteErforderlichBeschreibung
subscription_idjaUUID des Azure-Abonnements
subscription_namejaMenschenlesbare Bezeichnung (wird als Name der Ausgabedatei verwendet)
tenant_idUUID des Azure-AD- / Entra-ID-Tenants
environmentBereitstellungsstufe: dv, np, pr (Entwicklung, Nicht-Produktion, Produktion)
regionAuf Azure-Region filtern (leer = alle Regionen)
notesFreitextnotizen (werden vom Producer ignoriert)

Ausgabehierarchie

Einzelmodus: speichert in microsoft-azure-<timestamp>-<name>.json im aktuellen Verzeichnis.

Multi-/Batch-/Alle-Modi: nach Tenant und Zeitstempel organisiert:

output/
  <TenantID>/
    <timestamp>/
      <SubscriptionName>.json

Jedes Abonnement erzeugt ein in sich geschlossenes OSIRIS-Dokument. Abonnementübergreifende Referenzen (z. B. VNet-Peerings oder ExpressRoute-Verbindungen zu entfernten Abonnements) werden als Stub-Ressourcen mit provider.subscription, gesetzt auf die ID des entfernten Abonnements, ausgegeben, sodass die Topologiekante die Grenze überlebt und das Dokument dennoch gültig bleibt.

Multi-Tenant-Umgebungen

Führen Sie den Producer einmal pro Tenant aus. Jedes az login authentifiziert sich bei genau einem Tenant. Verwenden Sie az login --tenant <tenant-id>, um zu wechseln. Die Ausgabehierarchie gruppiert Dokumente automatisch nach Tenant.

Flag-Referenz

FlagKurzBeschreibung
--subscription-SAzure-Abonnement-ID(s), kommagetrennt
--allAlle zugänglichen Abonnements automatisch erkennen
--source-sCSV-Datei mit Abonnementzielen
--output-oAusgabeverzeichnis (für Multi-/Alle-/CSV-Modus erforderlich)
--tenantAzure-AD- / Entra-ID-Tenant-ID (optional)
--regionAuf eine bestimmte Azure-Region filtern (optional)
--purposeDetaillierungsgrad der Ausgabe: documentation (Standard) oder audit. Siehe Zweck unten
--safe-failure-modeUmgang mit Geheimnissen: fail-closed (Standard), log-and-redact, off
--version / -vVersion anzeigen und beenden
--helpHilfe anzeigen und beenden

Zweck

Das Flag --purpose implementiert OSIRIS-JSON-Spezifikationskapitel 13.1.3 (Datenminimierung). Die Erfassung ist immer vollständig; die Ausgabe wird durch den angegebenen Zweck geformt, sodass derselbe Producer-Lauf sowohl für leichtgewichtige Visualisierungsszenarien als auch für Audit- / Compliance-Anwendungsfälle verwendet werden kann.

WertVerhalten
documentation (Standard)Minimale Felder: Identität, Typ, Provider-Nachvollziehbarkeit, Namen, Tags und Beziehungen auf hoher Ebene. Die properties- und extensions-Maps pro Ressource werden entfernt. Geeignet für Diagramme, Inventar-Dashboards und Dokumentation auf hoher Ebene.
auditJedes lesbare Feld nach der Schwärzung sensibler Felder. Vollständige properties- und extensions-Maps für jede Ressource, Verbindung und Gruppe. Geeignet für Compliance-Reviews, Audits, Konfigurationsdrift oder tiefgehende Dokumentation und präzises Topologiedesign.

Der ausgewählte Wert wird im Dokument unter metadata.scope.purpose erfasst, damit Consumer erkennen können, welchen Detailgrad sie lesen.

[!IMPORTANT] Geheimnisse werden unabhängig vom Zweck immer geschwärzt. Die Audit-Projektion fügt Details hinzu (IP-Adressen, NSG-Regeln, SKU-Unterfelder, BGP-Details usw.); sie fügt niemals Authentifizierungsmaterial hinzu. Datenbank-Admin-Passwörter, Zugriffsschlüssel für Cosmos / Redis / Service Bus / Event Hubs, App-Insights-Instrumentierungsschlüssel und gemeinsam genutzte Schlüssel von Log Analytics werden nie erfasst.

# Standard: documentation (minimale Projektion)
osirisjson-producer azure -S a1b2c3d4-e5f6-7890-abcd-ef1234567890

# Audit: vollständige ARM-Treue
osirisjson-producer azure -S a1b2c3d4-e5f6-7890-abcd-ef1234567890 --purpose audit

Was der OSIRIS JSON-Producer für Microsoft Azure erfasst

Der OSIRIS JSON-Producer für Microsoft Azure erfasst bei jedem Lauf über die Azure CLI ein vollständiges Inventar der unterstützten Ressourcentypen. Die folgende Tabelle gruppiert die abgefragten Daten.

Netzwerk

Microsoft-Azure-RessourceOSIRIS-JSON-Typ
Virtuelle Netzwerkenetwork.vpc
Subnetzenetwork.subnet
Netzwerkschnittstellennetwork.interface
Netzwerksicherheitsgruppennetwork.security.group
Anwendungssicherheitsgruppenosiris.azure.asg
Routingtabellenosiris.azure.routetable
Öffentliche IP-Adressenosiris.azure.publicip
Load Balancers (L4)network.loadbalancer
Application Gateways (L7)network.loadbalancer
Azure Firewallsnetwork.firewall
NAT Gatewaysosiris.azure.gateway.nat
VNet Gateways (VPN / ExpressRoute)osiris.azure.gateway.vnet
ExpressRoute Circuitsosiris.azure.expressroute
Private Endpointsosiris.azure.privateendpoint
DNS-Zonenosiris.azure.dns.zone
Private DNS-Zonenosiris.azure.dns.privatezone

Compute und Speicher

Microsoft-Azure-RessourceOSIRIS-JSON-Typ
Virtuelle Maschinencompute.vm
Verwaltete Datenträgerosiris.azure.disk
Verwaltete Snapshotsosiris.azure.snapshot
Storage Accountsosiris.azure.storageaccount

App Service / Web-Tier

Microsoft-Azure-RessourceOSIRIS-JSON-Typ
App Service Planosiris.azure.appserviceplan
Web Apposiris.azure.webapp
Function Apposiris.azure.functionapp

App-Service-Routing: Sites, deren kind functionapp enthält, werden als osiris.azure.functionapp ausgegeben; alle anderen Sites werden als osiris.azure.webapp ausgegeben.

Identität und Sicherheit

Microsoft-Azure-RessourceOSIRIS-JSON-Typ
Key Vaultosiris.azure.keyvault
Container Registryosiris.azure.containerregistry
User-Assigned Managed Identityosiris.azure.managedidentity

Backup und Disaster Recovery

Microsoft-Azure-RessourceOSIRIS-JSON-Typ
Recovery Services Vaultosiris.azure.recoveryvault
Backup Vault (Azure Backup)osiris.azure.backupvault

Datenbanken

Microsoft-Azure-RessourceOSIRIS-JSON-Typ
SQL Serverosiris.azure.sqlserver
SQL Databaseosiris.azure.sqldatabase
PostgreSQL Flexible Serverosiris.azure.postgresqlserver
MySQL Flexible Serverosiris.azure.mysqlserver
Cosmos-DB-Kontoosiris.azure.cosmosaccount
Redis Cacheosiris.azure.redis

Container und Integration

Microsoft-Azure-RessourceOSIRIS-JSON-Typ
AKS Clusterosiris.azure.aks.cluster
AKS Agent Poolosiris.azure.aks.nodepool
Container App Managed Environmentosiris.azure.containerapp.environment
Container Apposiris.azure.containerapp
Container Group / ACIosiris.azure.containergroup
Service Bus Namespaceosiris.azure.servicebus.namespace
Event Hubs Namespaceosiris.azure.eventhubs.namespace
API Management Serviceosiris.azure.apim
Front Door (Standard / Premium)osiris.azure.frontdoor.profile

Observability

Microsoft-Azure-RessourceOSIRIS-JSON-Typ
Application Insightsosiris.azure.applicationinsights
Log Analytics Workspaceosiris.azure.loganalytics

Containment

Microsoft-Azure-RessourceOSIRIS-JSON-Typ
Resource Groupscontainer.resourcegroup

Was absichtlich nicht erfasst wird

OSIRIS JSON definiert ein herstellerneutrales JSON-Format zur Beschreibung von Infrastrukturressourcen, ihrer Eigenschaften und ihrer topologischen Beziehungen; es ist kein Infrastructure-as-Code- oder ähnliches Format. Mehr dazu finden Sie hier: Was ist OSIRIS JSON. Das Folgende ist bewusst außerhalb des Umfangs:

  • Monitoring-Richtlinien: alert rules, action groups, metric alerts, scheduled query rules.
  • Backup- / Aufbewahrungsrichtlinien innerhalb von Recovery Services Vault und Backup Vault (die Vaults und die Kanten zu geschützten Elementen werden ausgegeben; die Richtlinieninhalte nicht).
  • Richtlinien auf Datenbankebene: SQL auditing, threat-detection, TDE, firewall rules, security-alert-policy.
  • API-Management-Richtlinien, Produkte, Operationen und named values.
  • Front-Door-Routen, rule sets, Endpoints und WAF-Richtlinienzuordnungen (das Profil wird ausgegeben; das Routing nicht).
  • Container-App-Secrets und ACI-Umgebungsvariablen.
  • Diagnostic-Settings-Aufzählung pro Ressource (würde einen az-Aufruf pro Ressource hinzufügen).
  • Klassisches Azure Front Door (Microsoft.Network/frontDoors, veraltet).
  • Veraltetes Microsoft.DBforPostgreSQL/servers (Single Server, End-of-Life auf Azure-Roadmap).

OSIRIS-JSON-Ausgabestruktur für Microsoft Azure

{
  "$schema": "https://osirisjson.org/schema/v1.0/osiris.schema.json",
  "version": "1.0.0",
  "metadata": {
    "generator": {
      "name": "osirisjson-producer-azure",
      "version": "0.4.0",
      "url": "https://osirisjson.org"
    },
    "scope": {
      "name": "<subscription-id> - <subscription-name>",
      "purpose": "documentation",
      "providers": ["azure"],
      "accounts": ["<tenant-id>"],
      "subscriptions": ["<subscription-id>"],
      "regions": ["westeurope", "eastus2"]
    }
  },
  "topology": {
    "resources": [ ... ],
    "connections": [ ... ],
    "groups": [ ... ]
  }
}

Verbindungstypen

Verbindungskanten verwenden die Standard-Subtypen von OSIRIS JSON v1.0 gemäß Spezifikationskapitel 5.2.3, damit Consumer Topologieebenen voneinander unterscheiden können.

OSIRIS-JSON-VerbindungstypVerwendet für
containsContainment (Subnet innerhalb eines VNet, App Service Plan innerhalb einer Site, AKS Cluster innerhalb eines Node Pools, RG innerhalb eines Abonnements, SQL Server innerhalb einer SQL Database, Quelldatenträger innerhalb eines Snapshots, VM innerhalb eines angehängten Datenträgers)
networkGenerische Netzwerkkonnektivität (NIC zu Subnetz, NSG-Zuordnungen, DNS-Links, Gateway-Verbindungen, App Insights zu Workspace, Web App zu App Insights, AKS / Redis / ACI zu Subnetz, APIM zu Subnetz)
network.peeringVNet-Peerings
network.vpnVPN-Gateway-Verbindungen
network.bgpExpressRoute-Circuit-Verbindungen
dependencyPrivate Endpoint zu einem PaaS-Ziel (Web App, Function App, Key Vault, Container Registry, Recovery Services Vault, AKS Cluster, Service Bus, Event Hubs, APIM)
dependency.storagePrivate Endpoint zu Storage Account
dependency.databasePrivate Endpoint zu Datenbank (SQL Server, Cosmos DB, Redis)

Gruppentypen

OSIRIS-JSON-GruppentypVerwendet für
logical.subscriptionAbonnementgruppe auf oberster Ebene
logical.resourcegroupResource-Group-Gruppen (Kinder des Abonnements)
container.regionEine Gruppe pro eindeutigem provider.region, der im Abonnement beobachtet wird; jede Ressource dieser Region wird Mitglied. Die Region global und Ressourcen ohne Region werden übersprungen (sie sind nicht geografisch abgegrenzt). Das Grenz-Token ist <subscription-id>/<region>, daher kollidieren Gruppen nie zwischen Abonnements.

Ressourcentypen

Ressourcentypen folgen der OSIRIS JSON v1.0-Spezifikation. Standardtypen werden dort verwendet, wo sie definiert sind; Azure-spezifische Typen verwenden den Namespace osiris.azure.*.

Standardtypen:

  • container.resourcegroup - Resource Groups
  • network.vpc - Virtuelle Netzwerke
  • network.subnet - Subnetze
  • network.interface - Netzwerkschnittstellen
  • network.security.group - Netzwerksicherheitsgruppen
  • network.loadbalancer - Load Balancers (L4 und L7 / Application Gateway)
  • network.firewall - Azure Firewalls
  • compute.vm - Virtuelle Maschinen

Erweiterungen (osiris.azure)

Azure-spezifische Daten, die nicht auf portable OSIRIS-JSON-Eigenschaften abgebildet werden, werden unter dem Erweiterungs-Namespace osiris.azure ausgegeben. Dies folgt der OSIRIS-JSON-Spezifikation: properties enthält gemeinsame / portable Daten, extensions enthält herstellerspezifische Tiefendaten. Erweiterungen werden nur unter --purpose audit ausgegeben.

Repräsentative Erweiterungen umfassen:

OSIRIS-JSON-RessourcentypAusgewählte Erweiterungsfelder
network.interfaceenable_accelerated_networking, effective_routes[]
network.security.groupsecurity_rules[], default_security_rules[]
osiris.azure.expressroutesku, sku_tier, service_provider, peerings[] (BGP-Peering-Typ, Status, Peer-ASN, VLAN-ID, Adresspräfixe)
osiris.azure.webapp / osiris.azure.functionappmanaged_identity, outbound_vnet_routing, private_endpoint_connection_ids[], app_insights_id
osiris.azure.storageaccount / osiris.azure.keyvault / osiris.azure.containerregistry / osiris.azure.recoveryvault / osiris.azure.sqlserver / osiris.azure.cosmosaccountprivate_endpoint_connection_ids[]
osiris.azure.applicationinsightsworkspace_resource_id (gebundener Log-Analytics-Workspace)
osiris.azure.loganalyticscustomer_id (vom KQL verwendete Workspace-UUID; kein Geheimnis)

Provider-Metadaten

Jede Ressource enthält provider.type mit dem nativen ARM-Ressourcentyp (z. B. Microsoft.Network/virtualNetworks, Microsoft.Compute/virtualMachines). Abonnementübergreifende Stubs enthalten provider.subscription mit der ID des entfernten Abonnements. Alle Ressourcen enthalten provider.source mit dem Wert azure-cli.

Ressourcen-IDs

Azure-Ressourcen-IDs folgen dem Muster azure::<ARM-resource-id> und verwenden die vollständige ARM-Ressourcen-ID als nativen Bezeichner. Das gewährleistet global eindeutige, deterministische IDs, die eine abonnementübergreifende Korrelation überstehen.

Region-Kanonisierung

provider.region und metadata.scope.regions werden in die Azure-Slug-Form kanonisiert (kleingeschrieben, ohne Leerzeichen). Die az-CLI gibt location je nach Ressourcentyp inkonsistent zurück: Die meisten ARM-Ressourcen verwenden westeurope / eastus2, während App Service Plans und Web Apps die Anzeigeform (West Europe) liefern. Der Producer normalisiert auf den Slug, damit ein Abonnement mit nur einer Region nicht als zwei Regionen in metadata.scope.regions erscheint.

RBAC-Anforderungen

BerechtigungsstufeWas erfasst wird
ReaderAlle Ressourcentypen, Eigenschaften und Erweiterungen (NSG-Regeln, ER-Peerings, Gateway-Verbindungen, VNet-Peerings, DNS-Links, Private-Endpoint-zu-Ziel-Kanten, App Service zu App Insights, AKS-, Container-, Datenbank-, Messaging- und Observability-Ressourcen)
Reader + effectiveRouteTable/actionAlles oben Genannte + effektive NIC-Routen
Network Contributor / OwnerVollständiger Datensatz ohne Einschränkungen

Der Producer prüft die Berechtigung an der ersten NIC und überspringt die Erfassung effektiver Routen kontrolliert, wenn die Berechtigung verweigert wird. Alle anderen Daten werden unabhängig davon erfasst.

Beispiele

Einzelnes Abonnement

Wir werden ein einzelnes Abonnement in unserem Tenant untersuchen und daraus in Microsoft Azure ein OSIRIS-JSON-Dokument erzeugen.

osirisjson-producer azure -S a1b2c3d4-e5f6-7890-abcd-ef1234567890 --purpose audit

OSIRIS-JSON-Ausgabedokument (gekürzt, --purpose audit):

{
  "$schema": "https://osirisjson.org/schema/v1.0/osiris.schema.json",
  "version": "1.0.0",
  "metadata": {
    "generator": {
      "name": "osirisjson-producer-azure",
      "version": "0.4.0",
      "url": "https://osirisjson.org"
    },
    "scope": {
      "name": "a1b2c3d4-e5f6-7890-abcd-ef1234567890 - my-nonprod-subscription",
      "purpose": "audit",
      "providers": ["azure"],
      "accounts": ["f1e2d3c4-b5a6-9078-fedc-ba9876543210"],
      "subscriptions": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"],
      "regions": ["westeurope"]
    }
  },
  "topology": {
    "resources": [
      {
        "id": "azure::/subscriptions/a1b2c3d4/resourceGroups/network-rg/providers/Microsoft.Network/virtualNetworks/hub-vnet",
        "type": "network.vpc",
        "name": "hub-vnet",
        "status": "active",
        "provider": {
          "name": "azure",
          "native_id": "/subscriptions/a1b2c3d4/resourceGroups/network-rg/providers/Microsoft.Network/virtualNetworks/hub-vnet",
          "type": "Microsoft.Network/virtualNetworks",
          "region": "westeurope",
          "source": "azure-cli",
          "subscription": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "tenant": "f1e2d3c4-b5a6-9078-fedc-ba9876543210"
        },
        "properties": {
          "resource_group": "network-rg",
          "address_space": ["10.0.0.0/16"],
          "dns_servers": ["10.0.0.4"],
          "subnet_count": 4,
          "enable_ddos_protection": false,
          "peerings": [
            {
              "name": "hub-to-spoke",
              "peering_state": "Connected",
              "remote_vnet_id": "/subscriptions/a1b2c3d4/.../spoke-vnet",
              "allow_gateway_transit": true,
              "allow_forwarded_traffic": true
            }
          ]
        }
      },
      {
        "id": "azure::/subscriptions/a1b2c3d4/resourceGroups/data-rg/providers/Microsoft.Storage/storageAccounts/mystg",
        "type": "osiris.azure.storageaccount",
        "name": "mystg",
        "status": "active",
        "provider": {
          "name": "azure",
          "native_id": "/subscriptions/a1b2c3d4/resourceGroups/data-rg/providers/Microsoft.Storage/storageAccounts/mystg",
          "type": "Microsoft.Storage/storageAccounts",
          "region": "westeurope",
          "source": "azure-cli",
          "subscription": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "tenant": "f1e2d3c4-b5a6-9078-fedc-ba9876543210"
        },
        "properties": {
          "resource_group": "data-rg",
          "sku_tier": "Standard",
          "sku_name": "Standard_LRS",
          "kind": "StorageV2",
          "access_tier": "Hot",
          "https_only": true,
          "min_tls_version": "TLS1_2",
          "public_network_access": "Disabled",
          "allow_blob_public_access": false
        },
        "extensions": {
          "osiris.azure": {
            "private_endpoint_connection_ids": [
              "/subscriptions/a1b2c3d4/.../privateEndpoints/pe-mystg"
            ]
          }
        }
      }
    ],
    "connections": [
      {
        "source": "azure::/subscriptions/a1b2c3d4/.../subnets/default",
        "target": "azure::/subscriptions/a1b2c3d4/.../virtualNetworks/hub-vnet",
        "type": "contains",
        "direction": "forward"
      },
      {
        "source": "azure::/subscriptions/a1b2c3d4/.../privateEndpoints/pe-mystg",
        "target": "azure::/subscriptions/a1b2c3d4/.../storageAccounts/mystg",
        "type": "dependency.storage",
        "direction": "forward"
      }
    ],
    "groups": [
      {
        "id": "azure::subscription::a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "type": "logical.subscription",
        "name": "my-nonprod-subscription",
        "children": [
          "azure::resourcegroup::network-rg",
          "azure::resourcegroup::data-rg"
        ]
      },
      {
        "id": "azure::region::a1b2c3d4-e5f6-7890-abcd-ef1234567890/westeurope",
        "type": "container.region",
        "name": "westeurope",
        "members": [
          "azure::/subscriptions/a1b2c3d4/.../virtualNetworks/hub-vnet",
          "azure::/subscriptions/a1b2c3d4/.../storageAccounts/mystg"
        ]
      }
    ]
  }
}

Der gleiche Lauf mit dem Standardwert --purpose documentation gibt denselben Ressourcengraphen zurück, jedoch mit entfernten properties- und extensions-Maps für jede Ressource, Verbindung und Gruppe. Dadurch eignet er sich für Topologieansichten auf hoher Ebene und Dokumentation.

edit_note

Help improve this page

Found an issue or want to contribute? Open an issue.