Se connecter à AWS pour détecter les failles et évaluer les risques

Vous pouvez connecter le niveau Enterprise de Security Command Center à votre environnement AWS afin d'effectuer les opérations suivantes:

  • Examinez et corrigez les résultats (y compris les menaces et les failles) provenant d'AWS.
  • Créer et gérer une stratégie de sécurité pour AWS
  • Identifiez les chemins d'attaque potentiels entre l'Internet public et vos ressources AWS de grande valeur.
  • Cartographier la conformité des ressources AWS avec différents standards et benchmarks

La connexion de Security Command Center à AWS permet à votre équipe chargée des opérations de sécurité de gérer et de corriger les menaces et les failles de manière centralisée sur Google Cloud et AWS.

Pour permettre à Security Command Center de surveiller votre organisation AWS, vous devez configurer une connexion à l'aide d'un agent de service Google Cloud et d'un compte AWS ayant accès aux ressources que vous souhaitez surveiller. Security Command Center utilise cette connexion pour collecter régulièrement des métadonnées d'éléments pour tous les comptes et régions AWS que vous définissez.

Ce document explique comment configurer la connexion avec AWS. Lorsque vous configurez une connexion, vous configurez les éléments suivants:

  • Une série de comptes dans AWS ayant un accès direct aux ressources AWS que vous souhaitez surveiller. Dans la console Google Cloud, ces comptes sont appelés comptes de collecteur.
  • Un compte AWS disposant des stratégies et des rôles appropriés pour autoriser l'authentification auprès des comptes de collecteur. Dans la console Google Cloud, ce compte est appelé compte délégué. Le compte délégué et les comptes de collecteur doivent appartenir à la même organisation AWS.
  • un agent de service dans Google Cloud qui se connecte au compte délégué pour l'authentification ;
  • Pipeline permettant de collecter des données d'éléments à partir des ressources AWS.

Cette connexion ne s'applique pas aux fonctionnalités SIEM de Security Command Center, qui vous permettent d'ingérer des journaux AWS à des fins de détection des menaces.

Le schéma suivant présente cette configuration. Le projet locataire est un projet créé automatiquement. Il contient votre instance de pipeline de collecte de données d'éléments.

Configuration d'AWS et de Security Command Center.

Avant de commencer

Effectuez ces tâches avant de terminer celles restantes sur cette page.

Activer le niveau Enterprise de Security Command Center

Suivez les étapes 1 et 2 du guide de configuration pour activer le niveau Enterprise de Security Command Center.

Configurer les autorisations

Pour obtenir les autorisations dont vous avez besoin pour utiliser le connecteur AWS, demandez à votre administrateur de vous attribuer le rôle IAM Propriétaire d'éléments cloud (roles/cloudasset.owner). Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Créer des comptes AWS

Assurez-vous d'avoir créé les ressources AWS suivantes:

Configurer Security Command Center

  1. Dans la console Google Cloud, accédez à la page de configuration.

    Accéder à la configuration

  2. Vérifiez que vous voyez bien l'organisation dans laquelle vous avez activé le niveau Security Command Center Enterprise.

  3. Cliquez sur Étape 3: Configurez le connecteur Amazon Web Services (AWS).

  4. Dans ID de compte délégué, saisissez l'ID du compte AWS que vous pouvez utiliser comme compte délégué.

  5. Vous pouvez également passer en revue les options avancées.

  6. Cliquez sur Continuer.

  7. Effectuez l'une des actions suivantes :

    • Téléchargez les modèles CloudFormation pour le rôle délégué et le rôle de collecteur.
    • Si vous avez configuré les options avancées ou si vous devez modifier les noms de rôle AWS par défaut (aws-delegated-role et aws-collector-role), sélectionnez Utiliser la console AWS. Copiez l'ID de l'agent de service, le nom du rôle délégué et le nom du rôle de collecteur.

    Une fois la connexion créée, vous ne pourrez plus modifier les noms des rôles.

Ne cliquez pas sur Créer. À la place, configurez votre environnement AWS.

Configurer votre environnement AWS

Vous pouvez configurer votre environnement AWS à l'aide de l'une des méthodes suivantes:

Utiliser des modèles CloudFormation pour configurer votre environnement AWS

Si vous avez téléchargé des modèles CloudFormation, suivez ces étapes pour configurer votre environnement AWS.

  1. Connectez-vous à la console de compte délégué AWS. Assurez-vous d'être connecté au compte délégué utilisé pour prendre en compte d'autres comptes AWS de collecteur.
  2. Accédez à la console Modèle AWS CloudFormation.
  3. Cliquez sur Piles > Avec de nouvelles ressources (standard).
  4. Importez le fichier de modèle de rôle délégué, puis cliquez sur Suivant.
  5. Saisissez un nom de pile. Si vous avez modifié le nom du rôle délégué, mettez à jour les paramètres. Cliquez sur Suivant.
  6. Conformément aux exigences de votre organisation, mettez à jour les options de pile et cliquez sur Suivant.
  7. Vérifiez les informations, puis cliquez sur Envoyer. Attendez que la pile soit créée. Si un problème survient, consultez la section Dépannage.

    Si vous choisissez d'ajouter des comptes AWS individuellement (en désactivant la découverte automatique pour les comptes), vous pouvez également créer des piles distinctes pour chaque compte AWS au lieu de créer un seul ensemble de piles.

  8. À l'aide d'un compte de gestion AWS ou de tout compte de membre enregistré en tant qu'administrateur délégué, cliquez sur Stackset > Create StackSet (Ensemble de piles > Créer un ensemble de piles).

  9. Cliquez sur Autorisations gérées par le service.

  10. Importez le fichier de modèle de rôle de collecteur. Cliquez sur Suivant.

  11. Sur la page Spécifier les détails de l'ensemble de piles, saisissez le nom et la description de l'ensemble de piles. Vérifiez et mettez à jour l'ID de compte délégué et les noms de rôle. Cliquez sur Suivant.

  12. Conformément aux exigences de votre organisation, configurez les options de votre ensemble de piles. Cliquez sur Suivant.

  13. Sur la page Définir les options de déploiement, procédez comme suit:

    1. Choisissez vos cibles de déploiement. Vous pouvez effectuer un déploiement sur l'ensemble de l'organisation AWS ou sur une unité organisationnelle comprenant tous les comptes AWS à partir desquels vous souhaitez collecter des données.

    2. Spécifiez les régions AWS dans lesquelles créer les rôles et les stratégies. Les rôles étant des ressources globales, vous n'avez pas besoin de spécifier plusieurs régions.

    3. Modifiez d'autres paramètres si nécessaire, puis cliquez sur Suivant.

  14. Vérifiez les modifications, puis cliquez sur Envoyer. Si vous recevez un message d'erreur, consultez la section Dépannage.

  15. Déployez une pile distincte pour provisionner le rôle de collecteur sous le compte de gestion, car un ensemble de piles AWS CloudFormation ne crée pas d'instances de pile sous un compte de gestion. Pour en savoir plus, consultez la section DeploymentTargets.

Pour terminer le processus d'intégration, consultez Terminer le processus d'intégration.

Configurer des comptes AWS manuellement

Si vous ne pouvez pas utiliser les modèles CloudFormation (par exemple, si vous utilisez des noms de rôle différents ou si vous personnalisez l'intégration), vous pouvez créer manuellement les stratégies IAM AWS et les rôles IAM AWS requis.

Vous devez créer des stratégies IAM AWS et des rôles IAM AWS pour le compte délégué et les comptes de collecteur.

Créer la stratégie IAM AWS pour le rôle délégué

Pour créer une stratégie AWS IAM pour le rôle délégué (stratégie déléguée), procédez comme suit:

  1. Connectez-vous à la console de compte délégué AWS.

  2. Cliquez sur Stratégies > Créer une règle.

  3. Cliquez sur JSON et collez le contenu suivant:

    {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Action": "sts:AssumeRole",
              "Resource": "arn:aws:iam::*:role/COLLECTOR_ROLE_NAME",
              "Effect": "Allow"
          },
          {
              "Action": [
                  "organizations:List*",
                  "organizations:Describe*"
              ],
              "Resource": "*",
              "Effect": "Allow"
          }
      ]
    
    }
    

    Remplacez COLLECTOR_ROLE_NAME par le nom du rôle de collecteur que vous avez copié lors de la configuration de Security Command Center (la valeur par défaut est aws-collector-role).

  4. Cliquez sur Suivant.

  5. Dans la section Détails des règles, saisissez un nom et une description pour la règle.

  6. Cliquez sur Créer une stratégie.

Créer un rôle AWS IAM pour la relation d'approbation entre AWS et Google Cloud

Créez un rôle délégué qui configure une relation de confiance entre AWS et Google Cloud. Ce rôle utilise la stratégie déléguée créée dans la section Créer la stratégie IAM AWS pour le rôle délégué.

  1. Connectez-vous à la console de compte délégué AWS en tant qu'utilisateur AWS autorisé à créer des rôles et des stratégies IAM.

  2. Cliquez sur Rôles > Créer un rôle.

  3. Dans le champ Trusted entity type (Type d'entité approuvé), cliquez sur Web Identity (Identité Web).

  4. Dans le champ Identity Provider (Fournisseur d'identité), cliquez sur Google.

  5. Dans le champ Audience, saisissez l'ID de compte de service que vous avez copié lors de la configuration de Security Command Center. Cliquez sur Next (Suivant).

  6. Pour accorder au rôle délégué l'accès aux rôles de collecteur, associez-lui les stratégies d'autorisation. Recherchez la stratégie déléguée créée à l'étape Créer la stratégie IAM AWS pour le rôle délégué, puis sélectionnez-la.

  7. Dans la section Détails du rôle, saisissez le nom du rôle délégué que vous avez copié lors de la configuration de Security Command Center (le nom par défaut est aws-delegated-role).

  8. Cliquez sur Créer un rôle.

Créer la stratégie AWS IAM pour la collecte des données d'éléments

Pour créer une stratégie AWS IAM pour la collecte des données d'éléments (stratégie de collecteur), procédez comme suit:

  1. Connectez-vous à la console de compte de collecteur AWS.

  2. Cliquez sur Stratégies > Créer une règle.

  3. Cliquez sur JSON et collez le contenu suivant:

    {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "ce:GetCostAndUsage",
                  "dynamodb:DescribeTableReplicaAutoScaling",
                  "identitystore:ListGroupMemberships",
                  "identitystore:ListGroups",
                  "identitystore:ListUsers",
                  "lambda:GetFunction",
                  "lambda:GetFunctionConcurrency",
                  "logs:ListTagsForResource",
                  "s3express:GetBucketPolicy",
                  "s3express:ListAllMyDirectoryBuckets",
                  "wafv2:GetIPSet"
              ],
              "Resource": [
                  "*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "apigateway:GET"
              ],
              "Resource": [
                  "arn:aws:apigateway:*::/usageplans",
                  "arn:aws:apigateway:*::/usageplans/*/keys",
                  "arn:aws:apigateway:*::/vpclinks/*"
              ]
          }
      ]
    
    }
    
  4. Cliquez sur Suivant.

  5. Dans la section Détails des règles, saisissez un nom et une description pour la règle.

  6. Cliquez sur Créer une stratégie.

  7. Répétez ces étapes pour chaque compte de marchand.

Créer le rôle AWS IAM pour la collecte de données dans chaque compte

Créez le rôle de collecteur permettant à Security Command Center de récupérer les données d'éléments d'AWS. Ce rôle utilise la stratégie de collecteur créée dans la section Créer la stratégie IAM AWS pour la collecte des données des éléments.

  1. Connectez-vous à la console de compte de collecteur AWS en tant qu'utilisateur autorisé à créer des rôles IAM pour les comptes de collecteur.

  2. Cliquez sur Rôles > Créer un rôle.

  3. Dans le champ Type d'entité approuvé, cliquez sur Règle de confiance personnalisée.

  4. Dans la section Règle de confiance personnalisée, collez le contenu suivant:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::DELEGATE_ACCOUNT_ID:role/DELEGATE_ACCOUNT_ROLE"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    

    Remplacez les éléments suivants :

  5. Pour accorder au rôle de collecteur l'accès aux données de configuration des éléments AWS, associez les stratégies d'autorisation au rôle. Recherchez la stratégie de collecteur personnalisée créée dans Créer la stratégie IAM AWS pour la collecte de données d'élément, puis sélectionnez-la.

  6. Recherchez et sélectionnez les règles gérées suivantes:

    • arn:aws:iam::aws:policy/job-function/ViewOnlyAccess
    • arn:aws:iam::aws:policy/SecurityAudit
  7. Dans la section Détails du rôle, saisissez le nom du rôle de collecteur que vous avez copié lors de la configuration de Security Command Center.

  8. Cliquez sur Créer un rôle.

  9. Répétez ces étapes pour chaque compte de marchand.

Pour terminer le processus d'intégration, consultez Terminer le processus d'intégration.

Terminer le processus d'intégration

  1. Dans la console Google Cloud, accédez à la page Ajouter un connecteur Amazon Web Services.

    Accéder au connecteur Amazon Web Services

  2. Cliquez sur Tester le connecteur pour vérifier que Security Command Center peut se connecter à votre environnement AWS. Si la connexion aboutit, l'agent de service Google Cloud peut assumer le rôle délégué, et le rôle délégué dispose de toutes les autorisations requises pour assumer le rôle de collecteur. Si la connexion échoue, consultez la section Résoudre les erreurs lors du test de la connexion.

  3. Cliquez sur Créer.

Configuration personnalisée

Cette section décrit certaines des façons de personnaliser la connexion entre Security Command Center et AWS. Ces options sont disponibles dans la section Options avancées (facultatif) de la page Ajouter un connecteur Amazon Web Services de la console Google Cloud.

Par défaut, Security Command Center détecte automatiquement vos comptes AWS dans toutes les régions AWS. La connexion utilise le point de terminaison mondial par défaut pour le service de jetons de sécurité AWS et les requêtes par seconde (RPS) par défaut pour le service AWS que vous surveillez. Ces options avancées vous permettent de personnaliser les paramètres par défaut.

Option Description
Spécifier les comptes AWS à utiliser Vous pouvez autoriser Security Command Center à détecter automatiquement les comptes AWS, ou fournir une liste de comptes AWS que Security Command Center peut utiliser pour rechercher des ressources.
Spécifier les comptes AWS à exclure Si vous autorisez Security Command Center à détecter automatiquement les comptes, vous pouvez fournir la liste des comptes AWS qu'il ne peut pas utiliser pour rechercher des ressources.
Spécifier les régions AWS à surveiller Vous pouvez sélectionner une ou plusieurs régions AWS que Security Command Center doit surveiller. Laissez le champ AWS régions (Régions AWS) vide pour surveiller toutes les régions.
Remplacer les requêtes par seconde (RPS) par défaut pour les services AWS Vous pouvez modifier les RPS pour contrôler la limite de quota de Security Command Center. Définissez le forçage sur une valeur inférieure à la valeur par défaut de ce service, et supérieure ou égale à 1. La valeur par défaut est la valeur maximale. Si vous modifiez les RPS, il se peut que Security Command Center rencontre des problèmes pour récupérer les données. Par conséquent, nous vous déconseillons de modifier cette valeur.
Modifier le point de terminaison pour AWS Security Token Service Vous pouvez spécifier un point de terminaison spécifique pour le service de jetons de sécurité AWS (par exemple, https://sts.us-east-2.amazonaws.com). Laissez le champ AWS Security Token Service (AWS STS) (facultatif) vide pour utiliser le point de terminaison global par défaut (https://sts.amazonaws.com).

Dépannage

Cette section présente certains problèmes courants que vous pouvez rencontrer lors de l'intégration de Security Command Center à AWS.

Les ressources existent déjà

Cette erreur se produit dans l'environnement AWS lorsque vous essayez de créer les stratégies IAM AWS et les rôles IAM AWS. Ce problème survient lorsque le rôle existe déjà dans votre compte AWS et que vous essayez de le créer à nouveau.

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

  • Vérifiez si le rôle ou la stratégie que vous créez existe déjà et répond aux exigences listées dans ce guide.
  • Si nécessaire, modifiez le nom du rôle pour éviter tout conflit.

Compte principal non valide dans la règle

Cette erreur peut se produire dans l'environnement AWS lorsque vous créez les rôles de collecteur, mais que le rôle de délégué n'existe pas encore.

Pour résoudre ce problème, suivez la procédure décrite dans Créer la stratégie IAM AWS pour le rôle délégué et attendez que le rôle délégué soit créé avant de continuer.

Limites de limitation dans AWS

AWS limite les requêtes API pour chaque compte AWS par compte ou par région. Pour s'assurer que ces limites ne sont pas dépassées lorsque Security Command Center collecte des métadonnées d'éléments à partir d'AWS, Security Command Center collecte les données selon un nombre maximal de RPS fixe pour chaque service AWS, comme décrit dans la documentation de l'API pour le service AWS.

Si vous rencontrez une limitation des requêtes dans votre environnement AWS en raison des RPS consommées, vous pouvez atténuer le problème en procédant comme suit:

  • Sur la page des paramètres du connecteur AWS, définissez une RPS personnalisée pour le service AWS qui rencontre des problèmes de limitation des requêtes.

  • Limitez les autorisations du rôle de collecteur AWS afin que les données de ce service spécifique ne soient plus collectées. Cette technique d'atténuation empêche les simulations de chemin d'attaque de fonctionner correctement pour AWS.

La révocation de toutes les autorisations dans AWS arrête immédiatement le processus du collecteur de données. La suppression du connecteur AWS n'interrompt pas immédiatement le processus du collecteur de données, mais ne redémarre pas une fois l'opération terminée.

Résoudre les erreurs lors du test de la connexion

Ces erreurs peuvent se produire lorsque vous testez la connexion entre Security Command Center et AWS.

AWS_FAILED_TO_ASSUME_DELEGATED_ROLE

La connexion n'est pas valide, car l'agent de service Google Cloud ne peut pas assumer le rôle délégué.

Pour résoudre ce problème, tenez compte des conseils suivants:

AWS_FAILED_TO_LIST_ACCOUNTS

La connexion n'est pas valide, car la découverte automatique est activée et le rôle délégué ne peut pas obtenir tous les comptes AWS des organisations.

Ce problème indique que la stratégie autorisant l'action organizations:ListAccounts sur le rôle délégué est manquante sur certaines ressources. Pour résoudre ce problème, vérifiez quelles ressources sont manquantes. Pour vérifier les paramètres de la stratégie déléguée, consultez la section Créer la stratégie IAM AWS pour le rôle délégué.

AWS_INVALID_COLLECTOR_ACCOUNTS

La connexion n'est pas valide, car il existe des comptes de marchand non valides. Le message d'erreur fournit plus d'informations sur les causes possibles, parmi lesquelles:

AWS_FAILED_TO_ASSUME_COLLECTOR_ROLE

Le compte de collecteur n'est pas valide, car le rôle délégué ne peut pas assumer le rôle de collecteur dans le compte de marchand.

Pour résoudre ce problème, tenez compte des conseils suivants:

AWS_COLLECTOR_ROLE_POLICY_MISSING_REQUIRED_PERMISSION

La connexion n'est pas valide, car certains des paramètres d'autorisation requis sont manquants dans la règle de collecteur.

Pour résoudre ce problème, tenez compte des causes suivantes:

Étapes suivantes