Couverture pour les ECS clusters Amazon - Amazon GuardDuty

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Couverture pour les ECS clusters Amazon

La couverture du temps d'exécution ECS des clusters Amazon inclut les tâches exécutées sur AWS Fargate (Fargate) les instances de ECS conteneur Amazon 1.

Pour un ECS cluster Amazon qui s'exécute sur Fargate, la couverture d'exécution est évaluée au niveau de la tâche. La couverture du ECS temps d'exécution des clusters inclut les tâches Fargate qui ont commencé à s'exécuter une fois que vous avez activé la surveillance du temps d'exécution et la configuration automatisée des agents pour Fargate (uniquement). ECS Par défaut, une tâche Fargate est immuable. GuardDuty ne sera pas en mesure d'installer l'agent de sécurité pour surveiller les conteneurs sur les tâches déjà en cours d'exécution. Pour inclure une telle tâche Fargate, vous devez arrêter puis recommencer la tâche. Assurez-vous de vérifier si le service associé est pris en charge.

Pour plus d'informations sur le ECS conteneur Amazon, consultez la section Création de capacités.

Consultation des statistiques de couverture

Les statistiques de couverture ECS des ressources Amazon associées à votre propre compte ou à vos comptes de membres sont le pourcentage de ECS clusters Amazon sains par rapport à tous les ECS clusters Amazon sélectionnés Région AWS. Cela inclut la couverture des ECS clusters Amazon associés à la fois aux instances Fargate et EC2 Amazon. L'équation suivante représente cela comme suit :

(Clusters sains/Tous les clusters) x 100

Considérations

  • Les statistiques de couverture du ECS cluster incluent l'état de couverture des tâches Fargate ECS ou des instances de conteneur associées à ce cluster. ECS L'état de couverture des tâches Fargate inclut les tâches en cours d'exécution ou récemment terminées.

  • Dans l'onglet Couverture d'exécution du ECS cluster, le champ Instances de conteneur couvertes indique l'état de couverture des instances de conteneur associées à votre ECS cluster Amazon.

    Si votre ECS cluster Amazon contient uniquement des tâches Fargate, le nombre apparaît comme 0/0.

  • Si votre ECS cluster Amazon est associé à une EC2 instance Amazon qui ne dispose pas d'un agent de sécurité, le ECS cluster Amazon aura également un statut de couverture défaillant.

    Pour identifier et résoudre le problème de couverture de l'EC2instance Amazon associée, consultez la section relative Résolution des problèmes de couverture aux EC2 instances Amazon.

Choisissez l'une des méthodes d'accès pour consulter les statistiques de couverture de vos comptes.

Console
  • Connectez-vous à la GuardDuty console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/guardduty/.

  • Dans le volet de navigation, choisissez Runtime Monitoring.

  • Choisissez l'onglet Runtime coverage.

  • Dans l'onglet Couverture d'exécution des ECS clusters, vous pouvez consulter les statistiques de couverture agrégées en fonction de l'état de couverture de chaque ECS cluster Amazon disponible dans le tableau de liste des clusters.

    • Vous pouvez filtrer le tableau de liste des clusters selon les colonnes suivantes :

      • ID de compte

      • Nom du cluster

      • Type de gestion des agents

      • État de couverture

  • Si l'état de couverture de l'un de vos ECS clusters Amazon est considéré comme insalubre, la colonne Problème inclut des informations supplémentaires sur la raison de ce statut insalubre.

    Si vos ECS clusters Amazon sont associés à une EC2 instance Amazon, accédez à l'onglet Couverture du EC2 temps d'exécution de l'instance et filtrez par le champ Nom du cluster pour afficher le problème associé.

API/CLI
  • Exécutez-le ListCoverageAPIavec votre propre identifiant de détecteur valide, votre région actuelle et votre point de terminaison de service. Vous pouvez filtrer et trier la liste des instances à l'aide de cette méthodeAPI.

    • Vous pouvez modifier l'exemple de filter-criteria à l'aide de l'une des options suivantes pour CriterionKey :

      • ACCOUNT_ID

      • ECS_CLUSTER_NAME

      • COVERAGE_STATUS

      • MANAGEMENT_TYPE

    • Vous pouvez modifier l'exemple de AttributeName dans sort-criteria à l'aide des options suivantes :

      • ACCOUNT_ID

      • COVERAGE_STATUS

      • ISSUE

      • ECS_CLUSTER_NAME

      • UPDATED_AT

        Le champ est mis à jour uniquement lorsqu'une nouvelle tâche est créée dans le ECS cluster Amazon associé ou en cas de modification du statut de couverture correspondant.

    • Vous pouvez modifier le max-results (jusqu'à 50).

    • Pour trouver le detectorId correspondant à votre compte et à votre région actuelle, consultez la page Paramètres de la https://console.aws.amazon.com/guardduty/console ou exécutez le ListDetectorsAPI.

    aws guardduty --region us-east-1 list-coverage --detector-id 12abc34d567e8fa901bc2d34e56789f0 --sort-criteria '{"AttributeName": "ECS_CLUSTER_NAME", "OrderBy": "DESC"}' --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"111122223333"}}] }' --max-results 5
  • Exécutez le GetCoverageStatisticsAPIpour récupérer les statistiques agrégées de couverture en fonction dustatisticsType.

    • Vous pouvez modifier l'exemple de statisticsType sur l'une des options suivantes :

      • COUNT_BY_COVERAGE_STATUS— Représente les statistiques de couverture pour les ECS clusters agrégées par statut de couverture.

      • COUNT_BY_RESOURCE_TYPE— Statistiques de couverture agrégées en fonction du type de AWS ressource figurant dans la liste.

      • Vous pouvez modifier l'exemple de filter-criteria dans la commande. Vous pouvez utiliser les options suivantes pour CriterionKey :

        • ACCOUNT_ID

        • ECS_CLUSTER_NAME

        • COVERAGE_STATUS

        • MANAGEMENT_TYPE

        • INSTANCE_ID

    • Pour trouver le detectorId correspondant à votre compte et à votre région actuelle, consultez la page Paramètres de la https://console.aws.amazon.com/guardduty/console ou exécutez le ListDetectorsAPI.

    aws guardduty --region us-east-1 get-coverage-statistics --detector-id 12abc34d567e8fa901bc2d34e56789f0 --statistics-type COUNT_BY_COVERAGE_STATUS --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"123456789012"}}] }'

Pour plus d'informations sur les problèmes de couverture, consultezRésolution des problèmes de couverture.

Configuration des notifications de modification de l'état de couverture

L'état de couverture de votre ECS cluster Amazon peut apparaître comme étant insalubre. Pour savoir quand l'état de couverture change, nous vous recommandons de le surveiller régulièrement et de résoudre les problèmes s'il devient insalubre. Vous pouvez également créer une EventBridge règle Amazon pour recevoir une notification lorsque le statut de couverture passe de Malsain à Sain ou autre. Par défaut, il le GuardDuty publie dans le EventBridge bus pour votre compte.

Exemple de schéma de notification

Dans une EventBridge règle, vous pouvez utiliser les exemples d'événements et de modèles d'événements prédéfinis pour recevoir une notification de l'état de couverture. Pour plus d'informations sur la création d'une EventBridge règle, consultez la section Créer une règle dans le guide de EventBridge l'utilisateur Amazon.

En outre, vous pouvez créer un modèle d'événement personnalisé à l'aide de l'exemple de schéma de notification suivant. Assurez-vous de remplacer les valeurs de votre compte. Pour être averti lorsque le statut de couverture de votre ECS cluster Amazon passe de Healthy àUnhealthy, le detail-type GuardDuty Runtime Protection Unhealthy. Pour être averti lorsque le statut de couverture passe de Unhealthy àHealthy, remplacez la valeur de detail-type par GuardDuty Runtime Protection Healthy.

{ "version": "0", "id": "event ID", "detail-type": "GuardDuty Runtime Protection Unhealthy", "source": "aws.guardduty", "account": "Compte AWS ID", "time": "event timestamp (string)", "region": "Région AWS", "resources": [ ], "detail": { "schemaVersion": "1.0", "resourceAccountId": "string", "currentStatus": "string", "previousStatus": "string", "resourceDetails": { "resourceType": "ECS", "ecsClusterDetails": { "clusterName":"", "fargateDetails":{ "issues":[], "managementType":"" }, "containerInstanceDetails":{ "coveredContainerInstances":int, "compatibleContainerInstances":int } } }, "issue": "string", "lastUpdatedAt": "timestamp" } }

Résolution des problèmes de couverture

Si l'état de couverture de votre ECS cluster Amazon n'est pas satisfaisant, vous pouvez en connaître la raison dans la colonne Problème.

Le tableau suivant fournit les étapes de résolution recommandées pour les problèmes liés à Fargate (ECSAmazon uniquement). Pour plus d'informations sur les problèmes de EC2 couverture des instances Amazon, consultez la section relative aux Résolution des problèmes de couverture instances Amazon. EC2

Type de problème Informations supplémentaires Étapes de dépannage recommandées

L'agent ne fait pas de rapport

L'agent ne présente pas de rapports pour les tâches dans TaskDefinition - 'TASK_DEFINITION'

Vérifiez que la configuration de votre VPC point de terminaison est correcte.

Si votre organisation dispose d'une politique de contrôle des services (SCP), assurez-vous qu'elle ne refuse pas l'guardduty:SendSecurityTelemetryautorisation. Pour plus d’informations, consultez Validation de la politique de contrôle des services de votre organisation.

VPC_ISSUE; for task in TaskDefinition - 'TASK_DEFINITION'

Consultez les détails du VPC problème dans les informations supplémentaires.

L'agent est sorti

ExitCode: EXIT_CODE pour les tâches dans TaskDefinition - 'TASK_DEFINITION'

Consultez les détails du problème dans les informations supplémentaires.

Motif : REASON pour les tâches dans TaskDefinition - 'TASK_DEFINITION'

ExitCode: EXIT_CODE avec raison : »EXIT_CODE'pour les tâches dans TaskDefinition - 'TASK_DEFINITION'

L'agent est sorti : Raison CannotPullContainerError : le manifeste de l'image d'extraction a été réessayé...

Le rôle d'exécution des tâches doit disposer des autorisations Amazon Elastic Container Registry (AmazonECR) suivantes :

... "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", ...

Pour plus d’informations, consultez Fournir ECR les autorisations et les détails du sous-réseau.

Après avoir ajouté les ECR autorisations Amazon, vous devez redémarrer la tâche.

Si le problème persiste, consultezMon AWS Step Functions flux de travail échoue de façon inattendue.

Autres ou agent non provisionné

Problème non identifié, pour les tâches dans TaskDefinition - 'TASK_DEFINITION'

Utilisez les questions suivantes pour identifier la cause première du problème :

  • La tâche a-t-elle démarré avant que vous n'activiez le Runtime Monitoring ?

    Sur AmazonECS, les tâches sont immuables. Pour évaluer le comportement d'exécution d'une tâche Fargate en cours d'exécution, assurez-vous que la surveillance du temps d'exécution est déjà activée, puis redémarrez la tâche GuardDuty pour ajouter le sidecar du conteneur.

  • Cette tâche fait-elle partie d'un déploiement de service qui a débuté avant que vous n'activiez le Runtime Monitoring ?

    Dans l'affirmative, vous pouvez redémarrer le service ou le mettre à jour forceNewDeployment en suivant les étapes décrites dans Mettre à jour un service.

    Vous pouvez également utiliser UpdateServiceou AWS CLI.

  • La tâche a-t-elle été lancée après avoir exclu le ECS cluster de la surveillance du temps d'exécution ?

    Lorsque vous modifiez la GuardDuty balise prédéfinie de GuardDutyManaged - true à GuardDutyManaged -false, il ne GuardDuty recevra pas les événements d'exécution pour le ECS cluster.

  • Il en manque un dans votre tâche TaskExecutionRole ?

    Il est obligatoire d'en ajouter un TaskExecutionRole car des autorisations sont GuardDuty nécessaires pour télécharger le GuardDuty conteneur depuis le ECR référentiel. Pour plus d’informations, consultez Fournir ECR les autorisations et les détails du sous-réseau.

  • Votre service contient-il une tâche dont l'ancien format est taskArn ?

    GuardDuty Runtime Monitoring ne prend pas en charge la couverture des tâches dont l'ancien format esttaskArn.

    Pour plus d'informations sur Amazon Resource Names (ARNs) pour les ECS ressources Amazon, consultez Amazon Resource Names (ARNs) et IDs.