Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra l'uso di Azure Resource Graph con Gestione rete virtuale di Azure. Azure Resource Graph (ARG) estende Gestione risorse di Azure, consentendo di eseguire query su un determinato set di sottoscrizioni per una migliore governance dell'ambiente. Con l'integrazione di ARG, è possibile eseguire query su ARG per ottenere informazioni dettagliate sulle configurazioni di Gestione rete virtuale di Azure. Le informazioni dettagliate vengono fornite tramite query Kusto personalizzate che offrono il livello di risorse o i dati sullo stato a livello di area.
Uso di ARG con Gestione reti virtuali
Di seguito sono riportati alcuni degli scenari in cui è possibile usare Azure Resource Graph per ottenere informazioni dettagliate su Gestione rete virtuale di Azure:
- Recuperare i dati sullo stato dell'obiettivo a livello di area per comprendere le configurazioni distribuite in ogni area e il relativo stato.
- Individuare tutte le risorse a cui è applicata una configurazione specifica.
- Recuperare configurazioni valide applicate a una rete virtuale e il relativo stato di provisioning.
- Identificare il numero di reti virtuali riuscite, non riuscite o in corso durante un processo di distribuzione.
Risorse disponibili
Per l'esecuzione di query sulle configurazioni di amministratore della sicurezza in ARG sono disponibili le risorse seguenti:
- microsoft.network/effectivesecurityadminrules
- microsoft.network/networkmanagers/securityadminconfigurations/rulecollections/snapshots
- microsoft.network/networkmanagers/securityadminconfigurations/rulecollections/rules/snapshots
- microsoft.network/networkmanagers/securityadminconfigurations/snapshots
- microsoft.network/networkmanagers/securityadminregionalgoalstates
Operazioni preliminari
Per iniziare a eseguire query sui dati di Gestione rete virtuale in ARG, seguire questa procedura:
Cercare Resource Graph Explorer nel portale di Azure e selezionare la stessa voce per essere reindirizzati all'editor di query ARG.
Immettere le query Kusto nell'editor di query e selezionare Esegui query.
È possibile scaricare l'output di queste query come CSV da Resource Graph Explorer. È inoltre possibile usare queste query in automazione personalizzata usando qualsiasi client di automazione supportato da ARG, ad esempio PowerShell, l’interfaccia della riga di comando o l’SDK. È possibile creare anche cartelle di lavoro personalizzate nel portale di Azure usando ARG come origine dati.
Nota
ARG consente di eseguire query sulle risorse per le quali si dispone dei diritti di controllo degli accessi in base al ruolo appropriati.
Query di esempio
Di seguito sono riportate le query di esempio che è possibile eseguire sui dati di Gestione reti virtuali. È possibile usarli in dashboard personalizzati e automazioni. Elencati con ogni query vi sono l'input coinvolto e l'output restituito.
Elencare tutti i gestori di reti virtuali che influiscono su una determinata rete virtuale
Input: immettere il vnetId della rete virtuale. Esso usa la sintassi seguente: 00000000-0000-0000-0000-000000000000 Output: elenco degli ID di Gestione reti virtuali.
networkresources
| where type == "microsoft.network/effectivesecurityadminrules"
| extend vnetId = "00000000-0000-0000-0000-000000000000"
| where id == strcat(vnetId,"/providers/Microsoft.Network/effectiveSecurityAdminRules/default")
| mv-expand properties.EffectiveSecurityAdminConfigurations
| mv-expand properties.effectiveSecurityAdminConfigurations
| extend configId = tolower(iff(properties_EffectiveSecurityAdminConfigurations.Id == "", properties_effectiveSecurityAdminConfigurations.id, properties_EffectiveSecurityAdminConfigurations.Id))
| extend networkManagerId = substring(configId, 0, indexof(configId, "/securityadminconfigurations/"))
| distinct networkManagerId
Elencare i dettagli commit del commit amministratore della sicurezza più recente per un determinato gestore di rete
Input: immettere l'ID di Gestione reti virtuali. Usa la sintassi seguente: /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeee4e4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/myVirtualNetworkManager
Output: elenco dei dettagli del commit per le configurazioni dell'amministratore della sicurezza, tra cui CommitId, CommitTimestamp, posizione, SecurityAdminConfigurationId, SecurityAdminRuleIds, SecurityAdminRuleCollectionIds, stato e errorMessage.
networkresources
| where type == "microsoft.network/networkmanagers/securityadminregionalgoalstates"
| where id contains tolower("/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/myVirtualNetworkManager")
| extend adminConfigurationId = tolower(iff(properties.securityAdminConfigurations[0].id == "", properties.SecurityAdminConfigurations[0].Id, properties.securityAdminConfigurations[0].id))
| extend adminRuleCollectionIds = todynamic(iff(properties.securityAdminRuleCollections == "", properties.SecurityAdminRuleCollections, properties.securityAdminRuleCollections))
| extend adminRuleIds = todynamic(iff(properties.securityAdminRules == "", properties.SecurityAdminRules, properties.securityAdminRules))
| extend commitId = iff(properties.commitId == "", properties.CommitId, properties.commitId)
| extend timeStamp = todatetime(iff(properties.commitTimestamp == "", properties.CommitTimestamp, properties.commitTimestamp))
| extend status = iff(properties.status == "", properties.Status, properties.status)
| extend errorMessage = iff(properties.errorMessage == "" and properties.ErrorMessage == "", "", iff(properties.errorMessage == "", properties.ErrorMessage, properties.errorMessage))
| order by timeStamp desc
| project commitId, timeStamp, location, adminConfigurationId, adminRuleCollectionIds, adminRuleIds, status, errorMessage
Numero di reti virtuali interessate da una determinata configurazione dell'amministratore della sicurezza
Input: immettere l’adminConfigurationID dello snapshot di configurazione dell'amministratore della sicurezza. Esso usa la sintassi seguente: "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/myVirtualNetworkManager/securityAdminConfigurations/config_2023-05-15-15-07-27/snapshots/0"
Output: elenco delle reti virtuali interessate, tra cui Region, successCount e failedcount.
Nota
AdminConfigurationId dello snapshot di configurazione dell'amministratore della sicurezza. È possibile ottenere questo ID dall'output della query dei dettagli del commit elenco.
networkresources
| where type == "microsoft.network/effectivesecurityadminrules"
| extend snapshotConfigIdToCheck = tolower("/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/myVirtualNetworkManager/securityAdminConfigurations/config_2023-05-15-15-07-27/snapshots/0")
| mv-expand properties.effectiveSecurityAdminConfigurations
| mv-expand properties.EffectiveSecurityAdminConfigurations
| extend configurationId = tolower(iff(properties_effectiveSecurityAdminConfigurations.id == "", properties_EffectiveSecurityAdminConfigurations.Id, properties_effectiveSecurityAdminConfigurations.id))
| extend provisioningState = tolower(iff(properties.ProvisioningState == "", properties.provisioningState, properties.ProvisioningState))
| where configurationId == snapshotConfigIdToCheck
| summarize count() by location, provisioningState
Passaggi successivi
Creare un'istanza di Gestione rete virtuale di Azure usando il portale di Azure.