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.
Règles d'automatisation dans Security Hub
Avec Security Hub, vous pouvez automatiser des tâches telles que la mise à jour, la recherche de détails et la création de tickets pour des intégrations tierces.
Règles d'automatisation et Régions AWS
Les règles d'automatisation peuvent être créées en une seule, Région AWS puis appliquées à toutes les configurations Régions AWS. Lorsque vous utilisez l'agrégation de régions, vous ne pouvez créer des règles que dans la région d'origine. Lorsque vous créez des règles dans la région d'origine, toutes les règles que vous définissez sont appliquées à toutes les régions liées, sauf si vos critères de règles excluent une région liée spécifique. Vous devez créer une règle d'automatisation pour toute région qui n'est pas une région liée.
Actions et critères relatifs aux règles
Les règles d'automatisation de Security Hub utilisent des critères pour référencer les attributs OCSF dans les résultats de Security Hub. Par exemple, les filtres pris en charge pour le Criteria paramètre dans CreateAutomationRuleV2 correspondent aux filtres pris en charge pour le Filters paramètre dans GetFindings V2. Cela signifie que les filtres utilisés dans les règles d'automatisation peuvent être utilisés pour obtenir des résultats. Security Hub prend en charge les champs OCSF suivants pour les critères des règles d'automatisation.
| Champ OCSF | Valeur du filtre de console | Opérateurs de filtre | Type de champ |
|---|---|---|---|
activity_id |
Activity ID |
Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) |
Number |
activity_name |
Provider status |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
class_name |
Finding class name |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
cloud.account.name |
Finding account name |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
cloud.account.uid |
Account ID |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
cloud.provider |
Cloud provider |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
cloud.region |
Region |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
compliance.assessments.category |
Assessment category |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
compliance.assessments.meets_criteria |
Compliance assessment meets criteria |
True, False |
Boolean |
compliance.assessments.name |
Assessment name |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
compliance.control |
Security control ID |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
compliance.control_parameters |
Control parameter name |
EQUALS |
Map |
compliance.standards |
Applicable standards |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
compliance.status |
Compliance status |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
compliance.status_id |
Compliance status ID |
Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) |
Number |
confidence_score |
Confidence |
Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) |
Number |
finding_info.created_time_dt |
Created at |
Start, End, DateRange |
Date (formatted as 2022-12-01T21:47:39.269Z) |
finding_info.desc |
Finding description |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.first_seen_time_dt |
First observed at |
Start, End, DateRange |
Date (formatted as 2022-12-01T21:47:39.269Z) |
finding_info.last_seen_time_dt |
Last observed at |
Start, End, DateRange |
Date (formatted as 2022-12-01T21:47:39.269Z) |
finding_info.modified_time_dt |
Updated at |
Start, End, DateRange |
Date (formatted as 2022-12-01T21:47:39.269Z) |
finding_info.related_events.product.uid |
Related findings product ID |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.related_events.title |
Related findings title |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.related_events.traits.category |
Traits category |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.related_events.uid |
Related findings ID |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.related_events_count |
Related findings count |
Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) |
Number |
finding_info.src_url |
Source URL |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.tags |
Finding info tags |
EQUALS |
Map |
finding_info.title |
Finding title |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.types |
Finding type |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.uid |
Provider finding ID |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
metadata.product.feature.uid |
Generator ID |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
metadata.product.name |
Product name |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
metadata.product.uid |
Product ARN |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
metadata.product.vendor_name |
Company name |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
remediation.desc |
Recommendation text |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
remediation.references |
Recommendation URL |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
resources.cloud_partition |
Resource partition |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
resources.modified_time_dt |
Resource last modified time |
Start, End, DateRange |
Date (formatted as 2022-12-01T21:47:39.269Z) |
resources.name |
Resource name |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
resources.owner.account.name |
Account name |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
resources.owner.account.uid |
Account |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
resources.owner.org.uid |
Organization |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
resources.provider |
Cloud provider |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
resources.region |
Resource region |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
resources.tags |
Resource tags |
EQUALS |
Map |
resources.type |
Resource type |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
resources.uid |
Resource ID |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
vendor_attributes.severity |
Provider severity |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
vendor_attributes.severity_id |
Provider severity ID |
Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) |
Number |
vulnerabilities.affected_code.file.path |
Affected code file path |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
vulnerabilities.affected_packages.name |
Affected package name |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
vulnerabilities.cve.cvss.base_score |
CVE CVSS base score |
Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) |
Number |
vulnerabilities.cve.epss.score |
Epss score |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
vulnerabilities.cve.uid |
Vulnerability ID |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
vulnerabilities.fix_coverage |
Software vulnerabilities coverage |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
vulnerabilities.is_exploit_available |
Software vulnerabilities with exploit available |
True, False |
Boolean |
vulnerabilities.is_fix_available |
Software vulnerabilities with fix available |
True, False |
Boolean |
vulnerabilities.related_vulnerabilities |
Related vulnerabilities |
EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
Pour les critères étiquetés comme des champs de chaîne, l'utilisation de différents opérateurs de filtre sur le même champ affecte la logique d'évaluation. Pour plus d'informations, consultez le StringFilter document de référence de l'API Security Hub.
Chaque critère prend en charge un nombre maximum de valeurs pouvant être utilisées pour filtrer les résultats correspondants. Pour connaître les limites de chaque critère, consultez OcsfFindingFilters la référence de l'API Security Hub
Champs OCSF pouvant être mis à jour
Les champs OCSF qui peuvent être mis à jour à l'aide de règles d'automatisation sont les suivants.
-
Comment -
SeverityId -
StatusId
Comment les règles d'automatisation évaluent les résultats
Une règle d'automatisation évalue les résultats nouveaux et mis à jour que Security Hub génère ou ingère une fois que vous avez créé la règle.
Les règles d'automatisation évaluent les résultats originaux fournis par le fournisseur. Les fournisseurs peuvent fournir de nouveaux résultats et mettre à jour les résultats existants grâce à leur intégration à Security Hub. Les règles ne sont pas déclenchées lorsque vous mettez à jour les champs de recherche après leur création par le biais de l'BatchUpdateFindingsV2opération. Si vous créez une règle d'automatisation et effectuez une BatchUpdateFindingsV2 mise à jour qui affecte le même champ de recherche, la dernière mise à jour définit la valeur de ce champ. Prenons l'exemple suivant :
Vous utilisez BatchUpdateFindingsV2 pour mettre à jour le Status champ d'un résultat de New àIn Process. Si vous appelezGetFindingsV2, le Status champ a désormais une valeur deIn Process. Vous créez une règle d'automatisation qui change le Status champ de la découverte de New à Suppressed (n'oubliez pas que les règles ignorent les mises à jour effectuées avecBatchUpdateFindingsV2). Le fournisseur de recherche met à jour le résultat et remplace le Status champ parNew. Si vous appelezGetFindingsV2, la valeur du Status champ est désormais la suivante Suppressed : la règle d'automatisation a été appliquée et cette règle a été la dernière action entreprise suite à la découverte.
Lorsque vous créez ou modifiez une règle sur la console Security Hub, celle-ci affiche un aperçu des résultats qui correspondent aux critères de la règle. Alors que les règles d'automatisation évaluent les résultats originaux envoyés par le fournisseur de la recherche, l'aperçu de la console reflète les résultats dans leur état final, tels qu'ils seraient affichés dans une réponse à l'opération de l'GetFindingsV2API (c'est-à-dire après l'application d'actions de règles ou d'autres mises à jour à la découverte).
Comment les règles d'automatisation sont ordonnées
Un ordre de règles est attribué à chaque règle d'automatisation. Cela détermine l'ordre dans lequel Security Hub applique vos règles d'automatisation et devient important lorsque plusieurs règles concernent le même champ de recherche ou de recherche.
Lorsque plusieurs actions de règle concernent la même recherche ou le même champ de recherche, la règle dont la valeur numérique est la plus élevée pour l'ordre des règles s'applique en dernier et a l'effet ultime.
Lorsque vous créez une règle dans la console Security Hub, Security Hub attribue automatiquement l'ordre des règles en fonction de l'ordre de création des règles. La première règle que vous créez aura un ordre de règle de 1. Lorsqu'il existe plusieurs règles, chaque règle créée par la suite aura la valeur numérique disponible la plus élevée suivante pour l'ordre des règles.
Lorsque vous créez une règle via CreateAutomationRuleV2 l'API ou AWS CLI, Security Hub applique la règle dont la valeur numérique est la plus faible en RuleOrder premier. Il applique ensuite les règles suivantes dans l'ordre croissant. Si plusieurs résultats sont identiquesRuleOrder, Security Hub applique d'abord une règle avec une valeur antérieure pour le UpdatedAt champ (c'est-à-dire que la règle modifiée la plus récente s'applique en dernier).
Vous pouvez modifier l'ordre des règles à tout moment.
Exemple d'ordre des règles :
Règle A (l'ordre des règles est1) :
-
Critères de la règle A
-
ProductName=Security Hub CSPM -
Resources.TypeestS3 Bucket -
Compliance.Status=FAILED -
RecordStateestNEW -
Workflow.Status=ACTIVE
-
-
Actions relevant de la Règle A
-
Mettre à jour
Confidencevers95 -
Mettre à jour
SeverityversCRITICAL -
Mettre à jour
CommentversThis needs attention
-
Règle B (l'ordre des règles est2) :
-
Critères de la règle B
-
AwsAccountId=123456789012
-
-
Actions relevant de la Règle B
-
Mettre à jour
SeverityversINFORMATIONAL
-
Tout d'abord, les actions de la Règle A s'appliquent aux résultats de Security Hub qui correspondent aux critères de la Règle A. Les actions de la Règle B s'appliquent ensuite aux résultats de Security Hub avec l'ID de compte spécifié. Dans cet exemple, étant donné que la règle B s'applique Severity en dernier, la valeur finale des résultats provenant de l'ID de compte spécifié estINFORMATIONAL. Sur la base de l'action de la Règle A, la valeur Confidence finale des résultats correspondants est95.
Third-party intégrations
Vous pouvez utiliser des règles d'automatisation pour créer des tickets pour les intégrations avec Jira Cloud etServiceNow ITSM. Pour plus d'informations, consultez la section Création d'une règle pour une intégration tierce.
Scénarios dans lesquels les règles d'automatisation ne fonctionnent pas
Voici les scénarios dans lesquels les règles d'automatisation ne fonctionnent pas.
-
Le compte autonome devient membre d'une organisation dotée d'un administrateur délégué
-
Le compte de gestion de l'organisation supprime l'administrateur délégué et définit un nouvel administrateur délégué
-
La configuration de l'agrégateur pour l'administrateur délégué ou le compte autonome change lorsqu'une région non liée devient une région liée
Dans ces scénarios, un membre d'une organisation peut gérer les règles d'automatisation en effectuant des opérations de liste, d'obtention et de suppression dans les API AWS CLI ou.
Lorsqu'une région non liée devient une région liée, l'administrateur délégué ou le compte autonome peut gérer les ressources d'une région liée en effectuant des opérations de liste, d'obtention et de suppression.