Condividi tramite


Uso di Criteri di Azure per implementare governance e controlli delle risorse di Azure Cosmos DB

SI APPLICA A: NoSQL MongoDB Cassandra Gremlin Tabella

Criteri di Azure consente di imporre standard di governance aziendale, valutare la conformità delle risorse e implementare correzioni automatiche. Casi d'uso comuni includono sicurezza, gestione dei costi e coerenza della configurazione.

Criteri di Azure fornisce definizioni di criteri predefinite. Si possono creare definizioni di criteri personalizzate per scenari che non sono previsti dalle definizioni di criteri predefinite. Per informazioni dettagliate vedere la documentazione di Criteri di Azure.

Importante

Criteri di Azure viene applicato a livello di provider di risorse per i servizi di Azure. Gli SDK di Azure Cosmos DB possono eseguire la maggior parte delle operazioni di gestione su database, risorse contenitore e velocità effettiva che ignorano il provider di risorse di Azure Cosmos DB, in tal modo ignorando tutti i criteri creati con Criteri di Azure. Per garantire l'applicazione dei criteri, vedere Impedire le modifiche dagli SDK di Azure Cosmos DB

Assegnare una definizione dei criteri predefinita

Le definizioni di criteri descrivono le condizioni di conformità delle risorse e l'azione da eseguire se viene soddisfatta una condizione. Le assegnazioni dei criteri vengono create a partire dalle definizioni. È possibile usare le definizioni di criteri predefinite o personalizzate per le risorse Azure Cosmos DB. Le assegnazioni di criteri hanno come ambito un gruppo di gestione di Azure, una sottoscrizione di Azure o un gruppo di risorse e vengono applicate alle risorse nell'ambito selezionato. È possibile escludere risorse specifiche dall'ambito.

È possibile creare assegnazioni di criteri usando il portale di Azure, Azure PowerShell, l'interfaccia della riga di comando di Azure o il modello di Resource Manager di Azure.

Per creare un'assegnazione di criteri da una definizione di criteri predefinita per Azure Cosmos DB, attenersi alla procedura descritta nell'articolo Creare un'assegnazione di criteri con il portale di Azure.

Nel passaggio per selezionare una definizione dei criteri, immettere Azure Cosmos DB nel campo di ricerca per filtrare l'elenco di definizioni di criteri predefinite disponibili. Selezionare una delle definizioni di criteri predefinite disponibili, quindi scegliere Seleziona per continuare a creare l'assegnazione dei criteri.

Suggerimento

È anche possibile usare i nomi delle definizioni dei criteri predefinite indicate nel riquadro Definizioni disponibili per creare le assegnazioni dei criteri con Azure PowerShell, l'interfaccia della riga di comando di Azure o i modelli di Resource Manager.

Ricerca delle definizioni di criteri predefinite per Azure Cosmos DB

Creare una definizione di criteri personalizzata

Per scenari specifici non previsti dai criteri predefiniti, è possibile creare una definizione di criteri personalizzata. In seguito è possibile creare un'assegnazione di criteri dalladefinizione di criteri personalizzata.

Tipi e alias di proprietà nelle regole dei criteri

Usare la procedura di definizione di criteri personalizzati per identificare le proprietà delle risorse e gli alias delle proprietà richiesti per creare regole di criteri.

Per identificare gli alias delle proprietà specifiche di Azure Cosmos DB usare lo spazio dei nomi Microsoft.DocumentDB con uno dei metodi illustrati nell'articolo con la procedura per la definizione di criteri personalizzata.

Usando l'interfaccia della riga di comando di Azure:

# Login first with az login if not using Cloud Shell

# Get Azure Policy aliases for namespace Microsoft.DocumentDB
az provider show --namespace Microsoft.DocumentDB --expand "resourceTypes/aliases" --query "resourceTypes[].aliases[].name"

Usando Azure PowerShell:

# Login first with Connect-AzAccount if not using Cloud Shell

# Use Get-AzPolicyAlias to list aliases for Microsoft.DocumentDB namespace
(Get-AzPolicyAlias -NamespaceMatch 'Microsoft.DocumentDB').Aliases

Questi comandi restituiscono l'elenco dei nomi di alias di proprietà per le proprietà di Azure Cosmos DB. Di seguito è riportato un estratto dell'output:

[
  "Microsoft.DocumentDB/databaseAccounts/sku.name",
  "Microsoft.DocumentDB/databaseAccounts/virtualNetworkRules[*]",
  "Microsoft.DocumentDB/databaseAccounts/virtualNetworkRules[*].id",
  "Microsoft.DocumentDB/databaseAccounts/isVirtualNetworkFilterEnabled",
  "Microsoft.DocumentDB/databaseAccounts/consistencyPolicy.defaultConsistencyLevel",
  "Microsoft.DocumentDB/databaseAccounts/enableAutomaticFailover",
  "Microsoft.DocumentDB/databaseAccounts/Locations",
  "Microsoft.DocumentDB/databaseAccounts/Locations[*]",
  "Microsoft.DocumentDB/databaseAccounts/Locations[*].locationName",
  "..."
]

È possibile usare uno qualsiasi di questi nomi di alias di proprietà nelle regole di definizione di criteri personalizzati.

Di seguito è riportata una definizione di criteri di esempio che controlla se un account Azure Cosmos DB è configurato per più posizioni di scrittura. La definizione di criteri personalizzata include due regole: una per verificare il tipo specifico di alias di proprietà e la seconda per la proprietà specifica del tipo, in questo caso il campo che archivia l'impostazione di più posizioni di scrittura. Entrambe le regole usano i nomi degli alias.

"policyRule": {
  "if": {
    "allOf": [
      {
        "field": "type",
        "equals": "Microsoft.DocumentDB/databaseAccounts"
      },
      {
        "field": "Microsoft.DocumentDB/databaseAccounts/enableMultipleWriteLocations",
        "notEquals": true
      }
    ]
  },
  "then": {
    "effect": "Audit"
  }
}

Le definizioni di criteri personalizzate possono essere usate per creare assegnazioni di criteri esattamente come le definizioni di criteri predefinite.

Conformità ai criteri

Una volta create le assegnazioni di criteri, Criteri di Azure esamina le risorse nell'ambito dell'assegnazione. Viene valutata la conformità di ciascuna risorsa con i criteri. L'azione specificata nel criterio viene quindi applicata alle risorse non conformi.

È possibile esaminare i risultati di conformità e i dettagli delle correzioni nel portale di Azure o tramite l'interfaccia della riga di comando di Azure o i log di Monitoraggio di Azure.

Lo screenshot seguente mostra due esempi di assegnazioni di criteri.

Un'assegnazione si basa su una definizione di criteri predefinita e verifica che le risorse di Azure Cosmos DB vengano distribuite solo nelle aree consentite di Azure. La conformità delle risorse mostra il risultato della valutazione dei criteri (conformi o non conformi) per le risorse nell'ambito.

L'altra assegnazione si basa su una definizione di criteri personalizzata. Questa assegnazione verifica che gli account Azure Cosmos DB siano configurati per più posizioni di scrittura.

Una volta distribuite le assegnazioni di criteri, il dashboard di conformità mostra i risultati della valutazione. Questa operazione può richiedere fino a 30 minuti dopo la distribuzione di un'assegnazione di criteri. Inoltre, le analisi di valutazione dei criteri possono essere avviate su richiesta immediatamente dopo la creazione di assegnazioni di criteri.

Lo screenshot mostra i seguenti risultati di valutazione della conformità per gli account Azure Cosmos DB compresi nell’ambito:

  • Di due account nessuno è conforme al criterio che richiede la configurazione del filtro della rete virtuale (VNet).
  • Di due account nessuno è conforme al criterio che richiede la configurazione dell'account per più posizioni di scrittura
  • Di due account nessuno è conforme al criterio per cui le risorse devono essere distribuite nelle aree di Azure consentite.

Risultati della conformità per le assegnazioni di Criteri di Azure elencate

Per correggere le risorse non conformi, vedere come correggere le risorse con Criteri di Azure.

Passaggi successivi