Connecter Microsoft Sentinel à Amazon Web Services pour ingérer les données des journaux des services AWS

Utilisez les connecteurs Amazon Web Services (AWS) pour extraire des journaux des services AWS dans Microsoft Sentinel. Ces connecteurs fonctionnent en accordant à Microsoft Sentinel l’accès à vos journaux de ressources AWS. La configuration du connecteur établit une relation d’approbation entre Amazon Web Services et Microsoft Sentinel. Pour ce faire, un rôle est créé sur AWS, qui autorise Microsoft Sentinel à accéder à vos journaux AWS.

Ce connecteur est disponible en deux versions : l'ancien connecteur pour la gestion CloudTrail et les journaux de données, et la nouvelle version qui peut ingérer les journaux des services AWS suivants en les extrayant d'un compartiment S3 (les liens renvoient vers la documentation AWS) :

Cet onglet explique comment configurer le connecteur AWS S3. Le processus de configuration de celui-ci comporte deux parties : le côté AWS et le côté Microsoft Sentinel. Le processus de chaque côté produit des informations utilisées par l’autre côté. Cette authentification bidirectionnelle crée une communication sécurisée.

Prérequis

  • Assurez-vous que les journaux de votre service AWS sélectionné utilisent le format accepté par Microsoft Sentinel :

    • Amazon VPC : .csv fichier au format GZIP avec des en-têtes ; délimiteur : espace.
    • Amazon GuardDuty : formats json-line et GZIP.
    • AWS CloudTrail : fichier .json au format GZIP.
    • CloudWatch : .csv fichier au format GZIP sans en-tête. Si vous devez convertir vos journaux dans ce format, vous pouvez utiliser cette fonction lambda CloudWatch.
  • Vous devez disposer de l’autorisation d’accès en écriture sur l’espace de travail Microsoft Sentinel.

  • Installez la solution Amazon Web Services à partir du hub de contenu dans Microsoft Sentinel. Pour plus d’informations, consultez Découvrir et gérer le contenu Microsoft Sentinel prêt à l’emploi.

Présentation de l'architecture

Ce graphique et le texte qui suit montrent comment les parties de cette solution de connecteur interagissent.

Capture d’écran de l’architecture du connecteur AWS S3.

  • Les services AWS sont configurés pour envoyer leurs journaux à des compartiments de stockage S3 (Simple Stockage Service).

  • Le compartiment S3 envoie des messages de notification à la file d’attente de messages SQS (Simple Queue Service) chaque fois qu’il reçoit de nouveaux journaux.

  • Le connecteur Microsoft Sentinel AWS S3 interroge la file d’attente SQS à intervalles réguliers et fréquents. S’il y a un message dans la file d’attente, il contient le chemin d’accès aux fichiers journaux.

  • Le connecteur lit le message contenant le chemin d’accès, puis extrait les fichiers du compartiment S3.

  • Pour se connecter à la file d'attente SQS et au compartiment S3, Microsoft Sentinel utilise un fournisseur d'identité Web fédéré (Microsoft Entra ID) pour s'authentifier auprès d'AWS via OpenID Connect (OIDC) et assumer un rôle AWS IAM. Le rôle est configuré avec une stratégie d'autorisations lui donnant accès à ces ressources.

Connecter le connecteur S3

  • Dans votre environnement AWS :

    • Configurez vos services AWS pour envoyer des journaux à un compartiment S3.

    • Créez une file d’attente SQS (Simple Queue Service) pour fournir une notification.

    • Créez un fournisseur d'identité Web pour authentifier les utilisateurs auprès d'AWS via OpenID Connect (OIDC).

    • Créez un rôle assumé pour accorder des autorisations aux utilisateurs authentifiés par le fournisseur d'identité Web OIDC pour accéder à vos ressources AWS.

    • Attachez les stratégies d'autorisations IAM appropriées pour accorder au rôle assumé l'accès aux ressources appropriées (compartiment S3, SQS).

    Nous avons mis à disposition, dans notre dépôt GitHub, un script qui automatise le côté AWS de ce processus. Consultez les instructions relatives à l’installation automatique plus loin dans ce document.

  • Dans Microsoft Sentinel :

Installation automatique

Pour simplifier le processus d’intégration, Microsoft Sentinel a fourni un script PowerShell pour automatiser l’installation du côté AWS du connecteur (les ressources AWS, les informations d’identification et les autorisations requises).

Le script effectue les actions suivantes :

  • Crée un fournisseur d'identité Web OIDC pour authentifier les utilisateurs Microsoft Entra ID auprès d'AWS.

  • Crée un rôle assumé IAM avec les autorisations minimales nécessaires, pour accorder aux utilisateurs authentifiés par OIDC l'accès à vos journaux dans un compartiment S3 et une file d'attente SQS donnés.

  • Permet aux services AWS spécifiés d’envoyer des journaux à ce compartiment S3 et des messages de notification à cette file d’attente SQS.

  • Si nécessaire, crée ce compartiment S3 et cette file d’attente SQS.

  • Configure toutes les stratégies d’autorisations IAM nécessaires, et les applique au rôle IAM créé ci-dessus.

Pour les cloud Azure Government, un script spécialisé crée un autre fournisseur d'identité Web OIDC, auquel il attribue le rôle assumé IAM.

Conditions préalables à la configuration automatique

Instructions

Pour exécuter le script pour configurer le connecteur, procédez comme suit :

  1. Dans le menu de navigation de Microsoft Sentinel, sélectionnez Connecteurs de données.

  2. Sélectionnez Amazon Web Services S3 dans la galerie de connecteurs de données.

    Si vous ne voulez pas voir le connecter, installez la solution Amazon Web Services à partir du hub de contenu dans Microsoft Sentinel.

  3. Dans ce volet d’informations pour le connecteur, sélectionnez Ouvrir la page du connecteur.

  4. Dans la section Configuration, sous 1. Installer votre environnement AWS, développez Installer avec un script PowerShell (recommandé).

  5. Suivez les instructions à l’écran pour télécharger et extraire le Script d’installation d’AWS S3 (le lien télécharge un fichier zip contenant le script d’installation principal et des scripts d’assistance) à partir de la page du connecteur.

    Remarque

    Pour ingérer des journaux AWS dans un cloud Azure Government, téléchargez et extrayez plutôt ce script de configuration AWS S3 Gov spécialisé.

  6. Avant d’exécuter le script, exécutez la commande aws configure à partir de votre ligne de commande PowerShell, puis entrez les informations pertinentes quand vous y êtes invité. Voir Interface de ligne de commande AWS | Bases de configuration (à partir de la documentation AWS) pour plus de détails.

  7. Maintenant, exécutez le script. Copiez la commande à partir de la page du connecteur (sous « Exécuter le script pour installer l’environnement ») et collez-la dans votre ligne de commande.

  8. Le script vous invite à entrer l’ID d votre espace de travail. Cet ID s’affiche sur la page du connecteur. Copiez-le et collez-le à l’invite du script.

    Capture d’écran de la commande permettant d’exécuter le script d’installation et l’ID de l’espace de travail.

  9. Une fois l’exécution du script terminée, copiez le ARN du rôle et l’URL SQS à partir de la sortie du script (consultez l’exemple de la première capture d’écran ci-dessous), puis collez-les dans les champs correspondants de la page du connecteur, sous 2. Ajouter une connexion (voir la deuxième capture d’écran ci-dessous).

    Capture d’écran de la sortie du script d’installation du connecteur AWS.

    Capture d’écran du collage des informations de rôle AWS du script dans le connecteur S3.

  10. Sélectionnez un type de données dans la liste déroulante Table de destination. Cela indique au connecteur les journaux du service AWS pour la collecte desquels cette connexion est établie, et la table Log Analytics dans laquelle stocker les données ingérées. Sélectionnez Ajouter une connexion.

Notes

L’exécution du script peut prendre jusqu’à 30 minutes.

Configuration manuelle

Microsoft recommande d’utiliser le script d’installation automatique pour déployer ce connecteur. Si, pour une raison quelconque, vous ne souhaitez pas tirer parti de cette commodité, suivez les étapes ci-dessous pour configurer le connecteur manuellement.

Préparez vos ressources AWS

  1. Créez un compartiment S3 vers lequel vous expédierez les journaux de vos services AWS – VPC, GuardDuty, CloudTrail ou CloudWatch.

  2. Créez une file d'attente de messages Simple Queue Service (SQS) standard dans laquelle le compartiment S3 publiera des notifications.

  3. Configurez votre compartiment S3 pour envoyer des messages de notification à votre file d'attente SQS.

Installer le connecteur de données AWS et préparer l'environnement

  1. Dans Microsoft Sentinel, sélectionnez Connecteurs de données dans le menu de navigation.

  2. Sélectionnez Amazon Web Services S3 dans la galerie de connecteurs de données.

    Si vous ne voulez pas voir le connecter, installez la solution Amazon Web Services à partir du hub de contenu dans Microsoft Sentinel. Pour plus d’informations, consultez Découvrir et gérer le contenu Microsoft Sentinel prêt à l’emploi.

  3. Dans ce volet d’informations pour le connecteur, sélectionnez Ouvrir la page du connecteur.

  4. Sous Configuration, développez Configuration avec le script PowerShell (recommandé), puis copiez l'ID externe (ID de l'espace de travail) dans votre presse-papiers.

Créer un fournisseur d'identité Web Open ID Connect (OIDC) et un rôle assumé par AWS

  1. Dans une autre fenêtre ou un autre onglet du navigateur, ouvrez la console AWS.

  2. Créez un fournisseur d'identité Web. Suivez ces instructions dans la documentation AWS :
    Création de fournisseurs d'identité OpenID Connect (OIDC).

    Paramètre Sélection / Valeur Commentaires
    ID client - Ignorez cela, vous l'avez déjà. Voir Ligne d'Audience ci-dessous.
    Type de fournisseur OpenID Connect Au lieu du SAML par défaut.
    URL du fournisseur Commercial :
    sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d/

    Gouvernement :
    sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/
    Empreinte 626d44e704d1ceabe3bf0d53397464ac8080142c S'il est créé dans la console IAM, la sélection Obtenir une empreinte devrait vous donner ce résultat.
    Audience Commercial :
    api://1462b192-27f7-4cb9-8523-0f4ecb54b47e

    Gouvernement :
    api://d4230588-5f84-4281-a9c7-2c15194b28f7
  3. Créez un rôle assumé IAM. Suivez ces instructions dans la documentation AWS :
    Création d'un rôle pour l'identité Web ou la fédération OpenID Connect.

    Paramètre Sélection / Valeur Commentaires
    Type d’entité approuvé Identité Web Au lieu du service AWS par défaut.
    Fournisseur d’identité Commercial :
    sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d/

    Gouvernement :
    sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/
    Le fournisseur que vous avez créé à l'étape précédente.
    Audience Commercial :
    api://1462b192-27f7-4cb9-8523-0f4ecb54b47e

    Gouvernement :
    api://d4230588-5f84-4281-a9c7-2c15194b28f7
    Audience que vous avez définie pour le fournisseur d'identité à l'étape précédente.
    Autorisations à attribuer
    • AmazonSQSReadOnlyAccess
    • AWSLambdaSQSQueueExecutionRole
    • AmazonS3ReadOnlyAccess
    • ROSAKMSProviderPolicy
    • Politiques supplémentaires pour l'ingestion des différents types de journaux de service AWS
    Pour plus d'informations sur ces stratégies, consultez la page pertinente sur les stratégies d'autorisations du connecteur AWS S3, dans le référentiel Microsoft Sentinel GitHub.
    Nom « OIDC_MicrosoftSentinelRole » Choisissez un nom significatif qui inclut une référence à Microsoft Sentinel.

    Le nom doit inclure le préfixe exact OIDC_, sinon le connecteur ne fonctionnera pas correctement.
  4. Modifiez la stratégie de confiance du nouveau rôle et ajoutez une autre condition :
    "sts:RoleSessionName": "MicrosoftSentinel_{WORKSPACE_ID)"

    Important

    La valeur du paramètre sts:RoleSessionName doit avoir le préfixe exact MicrosoftSentinel_; sinon, le connecteur ne fonctionnera pas correctement.

    La stratégie de confiance terminée devrait ressembler à ceci :

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Federated": "arn:aws:iam::XXXXXXXXXXXX:oidc-provider/sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/"
          },
          "Action": "sts:AssumeRoleWithWebIdentity",
          "Condition": {
            "StringEquals": {
              "sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/:aud": "api://d4230588-5f84-4281-a9c7-2c15194b28f7",
              "sts:RoleSessionName": "MicrosoftSentinel_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
            }
          }
        }
      ]
    }
    
    • XXXXXXXXXXXX est votre ID de compte AWS.
    • XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX est votre identifiant d’espace de travail Microsoft Sentinel.

    Mettez à jour (enregistrez) la stratégie lorsque vous avez terminé la modification.

Ajoutez le rôle AWS et les informations de file d'attente au connecteur de données S3

  1. Dans l'onglet du navigateur ouvert sur la console AWS, entrez le service Identity and Access Management (IAM) et accédez à la liste des Rôles. Sélectionnez le rôle que vous avez créé ci-dessus.

  2. Copiez l'ARN dans votre presse-papiers.

  3. Entrez dans le Service Simple Queue, sélectionnez la file d'attente SQS que vous avez créée et copiez l'URL de la file d'attente dans votre presse-papiers.

  4. Revenez à l'onglet de votre navigateur Microsoft Sentinel, qui doit être ouvert sur la page du connecteur de données Amazon Web Services S3 (Aperçu). Sous 2. Ajouter une connexion :

    1. Collez l'ARN du rôle IAM que vous avez copié il y a deux étapes dans le champ Rôle à ajouter.
    2. Collez l’URL de la file d’attente SQS que vous avez copiée à la dernière étape dans le champ URL SQS.
    3. Sélectionnez un type de données dans la liste déroulante Table de destination. Cela indique au connecteur les journaux du service AWS pour la collecte desquels cette connexion est établie, et la table Log Analytics dans laquelle stocker les données ingérées.
    4. Sélectionnez Ajouter une connexion.

    Capture d’écran de l’ajout d’une connexion de rôle AWS avec le connecteur S3.

Configurer un service AWS pour exporter les journaux vers un compartiment S3

Consultez la documentation Amazon Web Services (lien ci-dessous) pour obtenir les instructions d'envoi de chaque type de journal à votre compartiment S3 :

Problèmes connus et résolution des problèmes

Problèmes connus

  • Différents types de journaux peuvent être stockés dans le même compartiment S3, mais ne doivent pas l’être dans le même chemin d’accès.

  • Chaque file d’attente SQS devant pointer vers un type de message, si vous souhaitez ingérer les résultats GuardDuty et les journaux de flux VPC, vous devez configurer des files d’attente distinctes pour chaque type.

  • De même, une seule file d’attente SQS ne pouvant servir qu’un seul chemin d’accès dans un compartiment S3, si pour une raison quelconque vous stockez des journaux dans plusieurs chemins d’accès, chacun d’eux requiert sa propre file d’attente SQS dédiée.

Résolution des problèmes

Découvrez comment résoudre les problèmes de connecteur Amazon Web Services S3.

Étapes suivantes

Dans ce document, vous avez appris à vous connecter à des ressources AWS pour ingérer leurs journaux dans Microsoft Sentinel. Pour en savoir plus sur Microsoft Sentinel, consultez les articles suivants :