Partage via


Utiliser Azure Policy pour implémenter la gouvernance et les contrôles sur les ressources Azure Cosmos DB

S’APPLIQUE À : NoSQL MongoDB Cassandra Gremlin Table

Azure Policy permet d’appliquer les normes de gouvernance de l’organisation, d’évaluer la conformité des ressources et d’implémenter la correction automatique. Les cas d’utilisation courants incluent la gestion de la sécurité et des coûts et la cohérence de la configuration.

Azure Policy fournit des définitions de stratégie intégrées. Vous pouvez créer des définitions de stratégie personnalisées pour les scénarios qui ne sont pas traités par les définitions de stratégie intégrées. Pour plus d’informations, consultez la documentation Azure Policy.

Important

Azure Policy est appliqué au niveau du fournisseur de ressources pour les services Azure. Les Kits de développement logiciel (SDK) Azure Cosmos DB peuvent effectuer la plupart des opérations de gestion sur les ressources de bases de données, de conteneurs et de débit qui contournent le fournisseur de ressources d’Azure Cosmos DB, ignorant ainsi toute stratégie créée à l’aide d’Azure Policy.

Affecter une définition de stratégie intégrée

Les définitions de stratégie décrivent les conditions de la conformité des ressources et l’effet à exécuter si une condition est remplie. Les affectations de stratégie sont créées à partir des définitions de stratégie. Vous pouvez utiliser des définitions de stratégie personnalisées ou intégrées pour vos ressources Azure Cosmos DB. L’étendue des affectations de stratégie se limite à un groupe de gestion Azure, un abonnement Azure ou un groupe de ressources. Elles sont affectées aux ressources au sein de cette étendue. Si vous le souhaitez, vous pouvez exclure des ressources spécifiques de l’étendue.

Vous pouvez créer des attributions de stratégie avec le Portail Azure, Azure PowerShell, Azure CLI ou un modèle ARM.

Pour créer une affectation de stratégie à partir d’une définition de stratégie intégrée pour Azure Cosmos DB, procédez comme indiqué dans l’article Démarrage rapide : Créer une affectation de stratégie pour identifier les ressources non conformes.

À l’étape de sélection de la définition de stratégie, entrez Azure Cosmos DB dans le champ de recherche pour filtrer la liste des définitions de stratégie intégrées disponibles. Sélectionnez l’une des définitions de stratégie intégrées disponibles, puis choisissez Sélectionner pour poursuivre la création de l’attribution de stratégie.

Conseil

Vous pouvez également utiliser les noms de définition de stratégie intégrée indiqués dans le volet Définitions disponibles avec des modèles Azure PowerShell, Azure CLI ou ARM pour créer des attributions de stratégie.

Recherche de définitions de stratégie intégrée Azure Cosmos DB

Créer une définition de stratégie personnalisée

Vous pouvez créer une définition de stratégie personnalisée pour les scénarios qui ne sont pas traités par les définitions de stratégie intégrées. Par la suite, vous créerez une affectation de stratégie à partir de votre définition de stratégie personnalisée.

Types et alias de propriété dans les règles de stratégie

Utilisez les étapes du processus de définition de stratégie personnalisée pour identifier les propriétés de ressource et les alias de propriété, qui sont nécessaires pour créer des règles de stratégie.

Pour identifier les alias de propriété spécifiques à Azure Cosmos DB, utilisez l’espace de noms Microsoft.DocumentDB via l’une des méthodes indiquées dans l’article relatif aux étapes de définition d’une stratégie personnalisée.

Via Azure CLI :

# 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"

Via 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

Ces commandes génèrent la liste des noms d’alias de propriété pour la propriété Azure Cosmos DB. Voici un extrait de la sortie :

[
  "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",
  "..."
]

Vous pouvez utiliser n’importe lequel de ces noms d’alias de propriété dans les règles de définition de stratégie personnalisée.

Voici un exemple de définition de stratégie qui vérifie si un compte de Azure Cosmos DB est configuré pour plusieurs emplacements d’écriture. La définition de stratégie personnalisée comprend deux règles : l’une pour vérifier le type spécifique d’alias de propriété, et l’autre pour la propriété spécifique du type, en l’occurrence, le champ qui stocke le paramètre d’emplacement d’écritures multiples. Ces deux règles utilisent des noms d’alias.

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

Les définitions de stratégie personnalisée peuvent être utilisées pour créer des attributions de stratégie, tout comme les définitions de stratégie intégrées.

Conformité à la stratégie

Une fois les attributions de stratégie créées, Azure Policy évalue les ressources dans l’étendue de l’affectation. Il vérifie la conformité de chaque ressource avec la stratégie. L’effet spécifié dans la stratégie est ensuite appliqué aux ressources non conformes.

Vous pouvez consulter les résultats de conformité et les détails de la correction dans le Portail Azure ou via Azure CLI ou encore les journaux Azure Monitor.

La capture d’écran suivante montre deux exemples d’affectations de stratégie.

Une affectation est basée sur une définition de stratégie intégrée, qui vérifie que les ressources Azure Cosmos DB sont déployées uniquement dans les régions Azure autorisées. La conformité des ressources affiche le résultat de l’évaluation de la stratégie (conforme ou non conforme) pour les ressources concernées.

L’autre est basée sur une définition de stratégie personnalisée. Cette attribution vérifie que les comptes Azure Cosmos DB sont configurés pour les emplacements d’écriture multiples.

Une fois les affectations de stratégie déployées, le tableau de bord de conformité affiche les résultats de l’évaluation. Notez que cette opération peut prendre jusqu’à 30 minutes après le déploiement d’une affectation de stratégie. En outre, les analyses d’évaluation de stratégie peuvent être lancées à la demande immédiatement après la création d’affectations de stratégie.

La capture d’écran montre les résultats d’évaluation de la conformité suivants pour les comptes Azure Cosmos DB concernés :

  • Aucun des deux comptes n’est conforme à une stratégie selon laquelle le filtrage de réseau virtuel doit être configuré.
  • Aucun des deux comptes n’est conforme à une stratégie requérant que le compte soit configuré pour plusieurs emplacements d’écriture
  • Aucun des deux comptes n’est conforme à une stratégie selon laquelle les ressources ont été déployées vers des régions Azure autorisées.

Résultats de conformité pour les affectations d’Azure Policy répertoriées

Pour comment corriger les ressources non conformes, consultez Corriger les ressources non conformes avec Azure Policy.

Étapes suivantes