Se connecter à Microsoft Azure pour la configuration et la collecte de données sur les ressources

Enterprise

Vous pouvez connecter le niveau Security Command Center Enterprise à votre environnement Microsoft Azure pour effectuer les opérations suivantes :

  • Activez la détection des résultats liés aux erreurs de configuration.
  • Identifiez les chemins d'attaque potentiels depuis l'Internet public vers vos ressources Microsoft Azure de forte valeur.
  • Mappez la conformité des ressources Microsoft Azure avec différentes normes et différents benchmarks.

La connexion entre Security Command Center et Microsoft Azure permet à votre équipe de gérer et de corriger les erreurs de configuration dans Google Cloud et Azure de manière centralisée.

Vous configurez une relation d'approbation entre Security Command Center et Azure à l'aide d'un Google Cloud agent de service et d'une identité gérée attribuée par l'utilisateur Microsoft Azure ayant accès aux ressources Azure que vous souhaitez surveiller. Vous gérez et contrôlez la configuration de confiance dans votre environnement Microsoft Azure.

Vous pouvez créer une connexion Azure pour chaque organisation Google Cloud .

Security Command Center utilise cette connexion pour collecter régulièrement des données sur les ressources Microsoft Azure que vous définissez. Ces données sont traitées de la même manière que les Données de service, conformément à l'Avis de confidentialité de Google Cloud. Le connecteur utilise des appels d'API pour collecter les données des composants Azure. Ces appels d'API peuvent entraîner des frais Microsoft Azure.

Lors d'un scan, le pipeline de collecte de données dépend de l'agent de service pour s'authentifier auprès de l'environnement Microsoft Azure à l'aide de l'identité managée attribuée par l'utilisateur.

Le schéma suivant montre comment la confiance est établie entre Security Command Center et Azure.

Configuration d'Azure et de Security Command Center.

Ce document explique comment configurer la connexion avec Microsoft Azure. Voici les étapes à suivre :

  1. Suivez les étapes préalables décrites dans Avant de commencer.

  2. Créez le connecteur Azure et configurez les abonnements et les emplacements à analyser. Vous aurez besoin de l'ID de locataire Microsoft Azure pour effectuer ces étapes. L'ID de l'agent de service est ainsi créé.

  3. Configurez l'environnement Azure pour créer une identité managée attribuée par l'utilisateur dédiée avec les rôles suivants :

    • Lecteur dans le champ d'application du groupe de gestion racine Microsoft Azure pour lire les ressources, les abonnements et la hiérarchie des groupes de gestion.

    • Lecteur Key Vault dans le champ d'application du groupe de gestion racine Microsoft Azure pour lire les métadonnées sur les coffres de clés et les certificats, clés et secrets associés.

    • Lecteur de données Blob Storage dans le champ d'application du groupe de gestion racine Microsoft Azure pour lire les métadonnées sur les ressources. Attribuez ce rôle si vous prévoyez d'activer Accorder des autorisations pour la découverte Sensitive Data Protection lorsque vous configurez le connecteur Azure.

    • Lecteurs d'annuaire dans Microsoft Entra ID pour lire les groupes et les membres.

    • Lecteur de sécurité dans Microsoft Entra ID pour lire les règles d'autorisation.

    Le nom à afficher par défaut du groupe de gestion racine est Tenant root group.

    Ces autorisations sont nécessaires pour que Security Command Center puisse identifier les groupes de gestion, les groupes avec des membres et les définitions de rôles, qui se trouvent à un niveau supérieur à celui des abonnements dans la hiérarchie des ressources.

    Vous configurez également un identifiant d'identité fédérée pour l'identité gérée attribuée par l'utilisateur à l'aide d'informations sur l'agent de service.

    Vous pouvez suivre les étapes manuellement ou utiliser Terraform. Vous aurez besoin de l'ID d'agent de service si vous effectuez les étapes manuellement.

  4. Terminez la configuration du connecteur Azure et testez la connexion. Vous utilisez des informations sur l'identité managée attribuée par l'utilisateur pour effectuer ces étapes.

Le connecteur Azure n'ingère pas les journaux Azure nécessaires aux fonctionnalités de détection organisées du SIEM dans Security Command Center Enterprise. Pour en savoir plus, consultez Se connecter à Microsoft Azure pour la collecte des données de journaux.

Avant de commencer

Les sections suivantes décrivent les conditions préalables, les décisions et les informations nécessaires avant de configurer la connexion entre Security Command Center et Microsoft Azure.

Examiner les fonctionnalités de Microsoft Azure

Assurez-vous de bien connaître les concepts et les fonctionnalités suivants dans Microsoft Azure :

Planifier la collecte de données

Lorsque vous planifiez la stratégie de collecte de données, procédez comme suit. Vous aurez besoin de ces informations pour suivre la procédure décrite dans ce document.

  • Créez ou identifiez le groupe de ressources dans lequel vous allez créer l'identité managée définie par l'utilisateur. Vous aurez besoin du nom du groupe de ressources lors de la configuration.

    Remplacez la variable RESOURCE_GROUP_NAME par le nom du groupe de ressources pour renseigner la valeur dans les prochaines étapes de ce document.

  • Identifiez les ressources pour lesquelles vous souhaitez collecter des données. Si vous prévoyez de collecter des données uniquement à partir d'abonnements ou de régions spécifiques, identifiez-les et enregistrez-les lors de la planification.

    Vous pouvez également configurer le connecteur Azure pour qu'il détecte automatiquement les ressources dans tous les abonnements et toutes les régions.

Configurer les autorisations dans Google Cloud

Dans Google Cloud, pour créer et gérer une connexion aux fournisseurs de services cloud tiers, vous devez disposer du rôle Propriétaire des ressources Cloud (roles/cloudasset.owner) dans l'organisation. Pour en savoir plus sur l'attribution de rôles, consultez Gérer les accès.

Configurer des autorisations dans Microsoft Azure

Pour suivre les étapes de Configurer Microsoft Azure manuellement ou Configurer Microsoft Azure à l'aide de Terraform, vous devez disposer d'une identité Azure avec au moins un groupe de ressources créé, ainsi que des autorisations suivantes pour configurer les règles IAM pour Microsoft Azure et Microsoft Entra.

  • Autorisation Microsoft.Authorization/roleAssignments/write dans le groupe de gestion racine. Cette option est disponible dans l'un des rôles intégrés suivants : Administrateur du contrôle des accès basé sur les rôles ou Administrateur de l'accès utilisateur.

  • Voici les autorisations dans le champ d'application d'un groupe de ressources où l'identité managée attribuée par l'utilisateur sera créée :

    • Microsoft.ManagedIdentity/userAssignedIdentities/write
    • Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/write

    Elles sont disponibles dans le rôle intégré Contributeur d'identité gérée.

  • L'autorisation Microsoft Entra microsoft.directory/roleAssignments/allProperties/allTasks. Cette option est disponible dans le rôle intégré Microsoft Entra Administrateur de rôle privilégié.

Vous devez disposer d'un accès élevé pour définir des autorisations dans le champ d'application du groupe de gestion racine. Pour savoir comment élever le niveau d'accès d'un administrateur général, consultez Élever l'accès pour gérer tous les abonnements et groupes de gestion Azure.

Activer et configurer le connecteur Azure Security Command Center

Procédez comme suit pour créer et configurer le connecteur Azure.

  1. Assurez-vous de disposer des autorisations définies dans la section Configurer les autorisations dans Google Cloud.

  2. Assurez-vous de disposer de l'ID de locataire Microsoft Azure composé de 36 caractères.

  3. Ouvrez l'onglet Connecteurs sur la page Paramètres.

    Accéder à "Connecteurs"

  4. Sélectionnez l'organisation dans laquelle vous avez activé Security Command Center Enterprise.

  5. Cliquez sur Ajouter un connecteur > Microsoft Azure.

  6. Sur la page Configurer le connecteur, saisissez l'ID de locataire Azure.

  7. Pour permettre à Sensitive Data Protection de profiler vos données Azure, laissez l'option Accorder des autorisations pour la découverte Sensitive Data Protection sélectionnée. Cette option ajoute le rôle "Lecteur des données Blob du stockage" dans le modèle Terraform pour l'identité gérée définie par l'utilisateur.

  8. Sélectionnez l'une des options suivantes :

    • Ajouter des abonnements automatiquement : Security Command Center détecte et inclut automatiquement les abonnements. Vous pouvez éventuellement exclure des ID d'abonnement de la collecte en les ajoutant au champ Exclure des abonnements Azure.
    • Ajouter des abonnements individuellement : Security Command Center ne détectera pas automatiquement les abonnements. Vous devez définir au moins un abonnement à l'aide du champ Ajouter un abonnement Azure.
  9. Dans la section Sélectionner les emplacements Azure de collecte de données, vous pouvez sélectionner un ou plusieurs emplacements Microsoft Azure à partir desquels collecter des données. Laissez ce champ vide pour collecter les données de tous les emplacements. Lorsque vous sélectionnez un lieu dans le menu, les lieux désélectionnés sont exclus.

    Les paramètres recommandés sont Découvrir automatiquement vos abonnements Azure et utiliser tous les emplacements Microsoft Azure.

  10. Cliquez sur Suivant. La page Se connecter à Azure s'ouvre.

  11. Laissez la page Se connecter à Azure ouverte et passez à la section Configurer l'environnement Microsoft Azure.

    Après avoir configuré Microsoft Azure, revenez sur cette page pour terminer la configuration du connecteur Azure.

Configurer l'environnement Microsoft Azure

Remplissez l'une des sections suivantes :

Configurer manuellement Microsoft Azure

La section suivante décrit les étapes manuelles générales à suivre pour configurer l'environnement Azure qui établit une relation de confiance entre Security Command Center et Microsoft Azure. Cette procédure n'est pas exhaustive. Chaque section fournit des liens vers la documentation Microsoft Azure qui explique comment effectuer cette tâche.

Prérequis

Étape 1 : Créez une identité managée attribuée par l'utilisateur dans un groupe de ressources

  1. Suivez la procédure décrite dans Gérer les identités gérées attribuées par l'utilisateur pour créer l'identité gérée attribuée par l'utilisateur.

    Lorsque vous créez l'identité, spécifiez les éléments suivants :

    • Abonnement : sélectionnez l'abonnement dans lequel l'identité sera gérée.
    • Groupe de ressources : spécifiez le nom du groupe de ressources, RESOURCE_GROUP_NAME, dans lequel l'identité sera gérée. Vous l'avez identifié lors de la planification de la collecte de données.
    • Région : sélectionnez une région, par exemple East US.
    • Nom : saisissez un nom pour l'identité gérée attribuée par l'utilisateur (par exemple, gcp-managed-identity). Remplacez la variable USER_ASSIGNED_MANAGED_IDENTITY_NAME par le nom de l'identité. Elle sera renseignée dans les étapes de ce document où elle est requise.
  2. Notez les informations suivantes. Vous l'utiliserez dans les étapes suivantes.

    • ID client : valeur de 36 caractères attribuée à l'identité.
    • ID de l'objet (principal) : valeur de 36 caractères attribuée à l'identité.
    • Nom de l'identité : valeur que vous avez définie pour Name.

Étape 2 : Créez des identifiants fédérés pour l'identité managée attribuée par l'utilisateur

Pour ajouter des identifiants fédérés à l'identité gérée attribuée par l'utilisateur, suivez les étapes décrites dans Configurer une identité gérée attribuée par l'utilisateur pour approuver un fournisseur d'identité externe.

Suivez les conseils décrits dans le scénario d'un autre émetteur et définissez les éléments suivants :

  • Scénario d'identifiants fédérés : sélectionnez Autre : configurer une identité gérée par un fournisseur OpenID Connect externe pour accéder aux ressources Microsoft Azure en tant qu'application.
  • URL de l'émetteur : saisissez https://accounts.google.com.
  • Identifiant de l'objet : saisissez l'ID de l'agent de service généré lorsque vous avez créé le connecteur Azure Security Command Center.
  • Nom : saisissez un nom pour l'identifiant fédéré (par exemple, gcp-managed-identity-fic).
  • Audience : saisissez https://cloud.google.com.

Étape 3 : Attribuez des rôles intégrés Microsoft Azure

Suivez la procédure décrite dans Attribuer des rôles Azure à l'aide du portail Azure pour attribuer les rôles intégrés Microsoft Azure suivants à l'identité managée attribuée par l'utilisateur :

  • Lecteur Vault
  • Reader
  • Lecteur des données blob de stockage

Accordez ces rôles au niveau du groupe de gestion racine.

Étape 4 : Attribuez les rôles intégrés Microsoft Entra ID

Suivez la procédure décrite dans Attribuer des rôles Microsoft Entra à des utilisateurs pour attribuer les rôles intégrés Microsoft Entra ID suivants à l'identité managée attribuée par l'utilisateur :

  • Lecteurs de répertoire
  • Lecteur de sécurité

Lorsque vous avez terminé, passez à la section Terminer la configuration du connecteur Azure.

Configurer Microsoft Azure à l'aide de Terraform

Les étapes générales suivantes décrivent comment utiliser Terraform pour configurer Microsoft Azure. Cette procédure n'est pas exhaustive. Pour en savoir plus sur l'utilisation de Terraform pour provisionner des ressources, consultez la documentation Terraform sur Azure.

  1. Ouvrez la page Se connecter à Azure que vous avez laissée ouverte lorsque vous avez créé le connecteur Azure.

  2. Cliquez sur Télécharger les modèles Terraform. Le fichier azure_terraform.zip contenant plusieurs fichiers JSON est alors téléchargé.

  3. Connectez-vous à Microsoft Azure, puis ouvrez Azure Cloud Shell avec BASH ou Azure PowerShell.

  4. Configurez Terraform en fonction des règles de votre organisation à l'aide de l'une des instructions suivantes :

  5. Copiez le fichier azure_terraform.zip dans votre environnement Azure Cloud Shell, puis extrayez le contenu. Vous verrez les fichiers suivants : main.tf.json, outputs.tf.json, providers.tf.json et variables.tf.json.

  6. Créez des copies de ces fichiers dans un répertoire distinct.

    1. Créez un répertoire pour tester l'exemple de code Terraform et définissez-le comme répertoire actuel.
    2. Dans le répertoire que vous venez de créer, créez des copies des fichiers JSON extraits en leur donnant le même nom que le fichier d'origine :

      • Créez un fichier nommé main.tf.json, puis copiez et collez le code du fichier main.tf.json extrait.
      • Créez un fichier nommé providers.tf.json, puis copiez et collez le code du fichier providers.tf.json extrait.
      • Créez un fichier nommé outputs.tf.json, puis copiez et collez le code du fichier outputs.tf.json extrait.
      • Créez un fichier nommé variables.tf.json, puis copiez et collez le code du fichier variables.tf.json extrait.
  7. Exécutez la commande suivante pour initialiser le déploiement Terraform.

    terraform init -upgrade
    
  8. Exécutez la commande suivante pour créer un plan d'exécution.

    terraform plan -out main.tfplan -var="resource_group_name=RESOURCE_GROUP_NAME" -var="user_assigned_managed_identity_name=USER_ASSIGNED_MANAGED_IDENTITY_NAME"
    

    Remplacez les éléments suivants :

    • RESOURCE_GROUP_NAME : nom du groupe de ressources Microsoft Azure dans lequel l'identité gérée attribuée par l'utilisateur sera créée.
    • USER_ASSIGNED_MANAGED_IDENTITY_NAME : nom de l'identité gérée attribuée par l'utilisateur à créer. Si aucune valeur n'est spécifiée, la valeur par défaut est google-cloud-managed-identity.
  9. Exécutez la commande suivante pour appliquer le plan d'exécution à l'infrastructure Microsoft Azure.

    terraform apply main.tfplan
    
  10. Passez à la section Terminer la configuration du connecteur Azure.

Terminer la configuration du connecteur Azure

  1. Assurez-vous de disposer des informations suivantes sur l'identité gérée attribuée par l'utilisateur Microsoft Azure :

    • ID client : valeur de 36 caractères attribuée à l'identité.
    • ID de l'objet (principal) : valeur de 36 caractères attribuée à l'identité.

    Pour savoir comment trouver ces informations, consultez Lister les identités gérées attribuées par l'utilisateur.

  2. Ouvrez la page Se connecter à Azure que vous avez laissée ouverte lorsque vous avez créé le connecteur Azure.

  3. Dans la section Détails de l'identité gérée Azure, saisissez les informations suivantes :

    • ID client d'identité gérée : il s'agit de l'ID client.
    • ID d'objet d'identité gérée : il s'agit de l'ID d'objet (principal).
  4. Cliquez sur Continuer.

  5. Sur la page Tester le connecteur, cliquez sur Tester le connecteur pour vérifier que Security Command Center peut se connecter à l'environnement Microsoft Azure.

    Si la connexion est établie,l'agent de service Google Cloud peut assumer l'identité gérée attribuée par l'utilisateur Microsoft Azure et dispose des autorisations Microsoft Azure et Microsoft Entra requises. Si la connexion échoue, consultez Résoudre les erreurs lors du test de la connexion.

  6. Cliquez sur Enregistrer. La page Connecteurs s'affiche.

Le connecteur commence à analyser et à collecter les données des abonnements et des emplacements Azure que vous avez spécifiés. L'affichage des résultats peut prendre jusqu'à 24 heures.

Résoudre les erreurs lors du test de la connexion

La section suivante décrit les erreurs qui peuvent se produire lorsque vous testez la connexion entre Security Command Center et Microsoft Azure, et explique comment les résoudre.

Erreur AZURE_ENABLED_SUBSCRIPTIONS_NOT_FOUND

Le connecteur Azure n'a pas trouvé d'abonnements activés dans le locataire identifié par le champ ID de locataire Azure. Effectuez les vérifications suivantes :

  • Si l'option Ajouter automatiquement les abonnements est sélectionnée, vérifiez que le locataire inclut des abonnements à l'état Enabled et qu'ils n'apparaissent pas dans le champ Exclure les abonnements Azure.
  • Si l'option Ajouter des abonnements individuellement est sélectionnée, vérifiez que les abonnements que vous avez spécifiés sont à l'état Enabled.

Erreur AZURE_FAILED_TO_ASSUME_MANAGED_IDENTITY

La connexion n'est pas valide, car l'identité managée attribuée par l'utilisateur Microsoft Azure ne peut pas être assumée par l'agent de service Google Cloud . Voici quelques causes possibles :

  • L'identité managée attribuée par l'utilisateur spécifiée dans la connexion n'existe pas ou la configuration est incorrecte.
  • Il est possible que l'identité gérée attribuée par l'utilisateur spécifiée dans la connexion ne dispose pas des identifiants d'identité fédérée requis pour faire confiance à l'agent de service Google Cloud .

Pour résoudre ce problème, procédez comme suit :

Erreur AZURE_MANAGED_IDENTITY_MISSING_REQUIRED_PERMISSION

La connexion n'est pas valide, car l'identité managée attribuée par l'utilisateur Azure ne dispose pas du rôle Microsoft Azure ou Microsoft Entra requis. Le message d'erreur indique le rôle manquant.

Pour résoudre ce problème, vérifiez les paramètres que vous avez définis lorsque vous avez configuré les rôles intégrés Microsoft Azure et les rôles intégrés Microsoft Entra pour vous assurer que la configuration est correcte.

Erreur AZURE_MANAGED_IDENTITY_ASSUMPTION_FAILED_AND_MISSING_REQUIRED_PERMISSION

La connexion n'est pas valide, car l'identité gérée attribuée par l'utilisateur Microsoft Azure n'a pas pu être endossée par l'agent de service Google Cloud et, en même temps, il manque certains des rôles Microsoft Azure ou Microsoft Entra requis.

Le message d'erreur inclut des informations sur le champ d'application que l'identité managée attribuée par l'utilisateur n'a pas pu assumer et sur les rôles manquants.

Pour résoudre ce problème, procédez comme suit :

Autres conseils de dépannage

La section suivante décrit les comportements et les étapes possibles à suivre.

Un résultat est renvoyé pour une ressource Azure supprimée

Une fois une ressource Azure supprimée, il peut s'écouler jusqu'à 40 heures avant qu'elle ne soit supprimée du système d'inventaire des ressources Security Command Center. Si vous choisissez de résoudre un résultat en supprimant la ressource, il est possible qu'il s'affiche pendant cette période, car le composant n'a pas encore été supprimé du système d'inventaire des composants de Security Command Center.

Étapes suivantes