TIPCommon.base
TIPCommon.base.action.action_parser.parse_case_attachment
TIPCommon.base.action.action_parser.parse_case_attachment(attachment: MutableMapping[str, Any]) → CaseAttachment
Analyse une pièce jointe JSON et renvoie un objet CaseAttachment
.
Paramètres
Paramètres | |
---|---|
attachment |
Objet JSON de réponse représentant la pièce jointe. |
Renvoie
Objet CaseAttachment
analysé.
Type renvoyé
CaseAttachment
TIPCommon.base.action.action_parser.parse_case_comment
TIPCommon.base.action.action_parser.parse_case_comment(comment: MutableMapping[str, Any]) → CaseComment
Analyse un commentaire JSON et renvoie un objet CaseComment
.
Paramètres
Paramètres | |
---|---|
comment |
Objet JSON de réponse représentant le commentaire. |
Renvoie
Objet CaseComment
analysé.
Type renvoyé
CaseComment
class TIPCommon.base.action.base_action.Action
class TIPCommon.base.action.base_action.Action(name: str)
Bases : ABC, Generic[ApiClient]
Implémentation d'infrastructure générique unifiée pour le développement d'actions Google SecOps.
La classe de base Action fournit des méthodes abstraites de modèle à remplacer dans les classes d'action héritées, des propriétés génériques et des flux généraux en tant que méthodes exécutées lors de l'appel de la méthode d'exécution de l'action.
Paramètres
Paramètres | |
---|---|
name |
str
Nom du script de l'action. |
Attributs
Attributs | |
---|---|
_soar_action |
Objet SDK SiemplifyAction .
Type : |
_api_client |
Client API de l'intégration.
Type : |
_name |
Nom du script utilisant cette action.
Type : |
_action_start_time |
Heure de début de l'action.
Type : |
_logger |
Objet de journalisation utilisé pour la journalisation des actions.
Type : |
_params |
Conteneur de paramètres pour cette action.
Type : |
global_context |
Dictionnaire permettant de stocker le contexte, si nécessaire.
Type : |
_entity_types |
Types d'entités acceptés par l'action.
Type : |
_entities_to_update |
Entités à mettre à jour lorsque l'action se termine.
Type : |
json_results |
Résultats JSON de l'action.
Type : |
_attachments |
Pièces jointes à ajouter au résultat de la demande.
Type : |
_contents |
Contenu des résultats de la demande à ajouter.
Type : |
_data_tables |
Tables de données des résultats des cas à ajouter.
Type : |
_html_reports |
Rapports HTML sur les résultats des tests à ajouter.
Type : |
_links |
Liens vers les résultats de la demande à ajouter.
Type : |
_entity_insights |
Insights sur l'entité de demande à ajouter.
Type : |
_case_insights |
Insights sur les demandes à ajouter.
Type : |
_execution_state |
État d'exécution final de l'action.
Type : |
_result_value |
Valeur du résultat final de l'action.
Type : |
_output_message |
Message de résultat de l'action en cas de réussite.
Type : |
_error_output_message |
Message de sortie de l'action en cas d'échec.
Type : |
Méthodes
- run() |
Exécute l'action. |
- _get_adjusted_json_results() |
Ajuste le résultat JSON à une structure particulière. |
Méthodes abstraites
Méthodes abstraites | |
---|---|
_validate_params() |
Valide les paramètres de cette action. |
_init_managers() |
Initialise et renvoie un objet gestionnaire. |
_perform_action() |
Exécute la logique principale de l'action. |
Autres méthodes
Il s'agit de méthodes appelées lors de l'exécution de l'action et qui affectent la phase de traitement des alertes, mais qui ne sont pas obligatoires à remplacer.
_get_entity_types()
_finalize_action_on_success()
_finalize_action_on_failure()
_on_entity_failure()
_handle_timeout()
_extract_action_parameters()
_finalize()
Méthodes d'encapsulation du SDK
_add_attachment_to_current_case()
_get_current_case_attachments()
_add_comment_to_case()
_get_current_case_comments()
_assign_case_to_user()
_add_tag_to_case()
_attach_playbook_to_current_alert()
_get_similar_cases_to_current_case()
_get_alerts_ticket_ids_from_cases_closed_since_timestamp()
_change_current_case_stage()
_change_current_case_priority()
_close_current_case()
_close_alert()
_escalate_case()
_mark_case_as_important()
_raise_incident()
_add_entity_to_case()
_update_alerts_additional_data()
_get_current_integration_configuration()
_any_alert_entities_in_custom_list()
_add_alert_entities_to_custom_list()
_remove_alert_entities_from_custom_list()
Exemple
from TIPCommon.base.actions.action_base import Action
from TIPCommon.validation import ParameterValidator
SOME_ACTION_SCRIPT_NAME = 'Some Integration - Some Action'
class SomeAction(Action):
def _validate_params(self) -> None:
validator = ParameterValidator(self.soar_action)
... # validation logic
def _perform_action(self, entity: Entity) -> None:
try:
self.logger.info('Querying Api client')
data = self.api_client.do_something(
param=self.params.query,
entity=entity.original_identifier
)
... # Some logic to process the data
except SomeCustomException as err:
self.error_output_message = (
"Action wasn't able to successfully do its thing."
)
raise err from err
def main() -> None:
SomeAction(SEARCH_GRAPHS_SCRIPT_NAME).run()
if __name__ == '__main__':
main()
property action_start_time
property action_start_time: int
Renvoie un int
représentant l'heure de début de l'action au format Unix.
property api_client
propertyapi_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Renvoie un objet Apiable.
Pièces jointes propriété
property attachments: list[Attachment]
Par défaut, toutes les pièces jointes de la liste sont envoyées au résultat de la demande.
Renvoie une liste d'objets Attachment
représentant les insights pour cette demande.
property case_insights
property case_insights: list[CaseInsight]
Par défaut, tous les insights sur les cas de la liste sont envoyés au résultat du cas.
Renvoie une liste d'objets CaseInsight
représentant les insights pour cette demande.
Contenu de la propriété
property contents: list[Content]
Par défaut, tout le contenu de la liste est envoyé au résultat de la demande.
Renvoie une liste d'objets Content représentant les insights pour cette demande.
property data_tables
property data_tables: list[DataTable]
Par défaut, tous les tableaux de données de la liste sont envoyés au résultat de la fiche.
Renvoie une liste d'objets DataTable représentant les insights pour cette demande.
property entities_to_update
property entities_to_update: list[DomainEntityInfo]
Toutes les entités de la liste sont envoyées à la plate-forme pour être mises à jour.
Renvoie une liste d'objets Entity
représentant les entités à mettre à jour dans la demande.
property entity_insights
property entity_insights:
list[EntityInsight]
Par défaut, tous les insights sur les entités de la liste sont envoyés au résultat de la demande.
Renvoie une liste d'objets EntityInsight
représentant les insights pour cette demande.
Types d'entités property
property entity_types:
list[EntityTypesEnum]
Si l'action fonctionne avec des entités, elle ne traite que celles dont le type figure dans la liste entity_types
. Sinon, l'action ignore l'entité.
Renvoie une liste d'objets EntityTypesEnum
représentant les types d'entités que l'action peut traiter.
property error_output_message
property error_output_message: str
Message de sortie de l'action en cas d'échec de l'exécution.
Message de sortie qui doit s'afficher en cas d'échec lors de l'exécution de l'action. La valeur par défaut est Action
SCRIPT_NAME
failed
.
property execution_state
property execution_state: ExecutionState
État d'exécution de l'action : indicateur d'état représenté par un nombre entier à renvoyer à la plate-forme.
Voici les états possibles :
ExecutionState.COMPLETED = 0
ExecutionState.IN_PROGRESS = 1
ExecutionState.FAILED = 2
ExecutionState.TIMED_OUT = 3
Renvoie l'objet ExecutionState
représentant l'état d'exécution actuel.
property html_reports
property html_reports: list[HTMLReport]
Par défaut, tous les rapports HTML de la liste sont envoyés au résultat du cas.
Renvoie une liste d'objets HTMLReport
représentant les insights pour cette demande.
property is_first_run
property is_first_run: bool
Indique s'il s'agit de la première exécution.
Renvoie :
True
s'il s'agit de la première exécution, False
dans le cas contraire.
property json_results
property json_results: Dict[str, Any] | List[Dict[str, Any]]
Renvoie le résultat JSON de l'action à envoyer à la section "Dossier".
Liens propriété
property links: list[Link]
Par défaut, tous les liens de la liste sont envoyés dans le résultat de la demande.
Renvoie une liste d'objets Link
représentant les insights pour cette demande.
Journaliseur property
property logger: NewLineLogger
Renvoie l'objet NewLineLogger
pour les actions.
Nom de la propriété
property name: str
property output_message
property output_message: str
Message de sortie de l'action en cas d'exécution réussie.
Message de sortie qui résume le résultat de l'action.
Paramètres property
property params:
[Container]
Renvoie un objet Container
qui décrit les paramètres de l'action, chaque paramètre étant exposé en tant qu'attribut snake_case.
property result_value
property result_value: bool
Valeur du résultat de l'action à renvoyer à la plate-forme.
Valeurs possibles :
True
: l'action a réussiFalse
: Échec de l'action
property soar_action
property soar_action: SiemplifyAction
Renvoie l'objet SiemplifyAction
du SDK.
class TIPCommon.base.action.base_enrich_action.EnrichAction
class TIPCommon.base.action.base_enrich_action.EnrichAction(name: str)
Bases : Action
Classe représentant une action d'enrichissement d'entité.
Cette classe hérite de la classe TIPCommon.base.actions.base_action::Action
.
Paramètres
Paramètres | |
---|---|
name |
str Nom de l'action. |
Attributs
Attributs | |
---|---|
enrichment_data |
Cet attribut contient les données d'enrichissement pour l'entité actuelle dans chacune des itérations d'entité. À la fin de chaque itération, l'attribut Type : |
entity_results |
Résultats d'entité inclus dans la sortie JSON pour cet objet.
Type : Tout |
global_context |
Dictionnaire permettant de stocker le contexte si nécessaire. Type : |
Méthodes abstraites
Méthodes abstraites | |
---|---|
_get_entity_types() |
Obtient le type d'entités sur lesquelles l'action s'exécute. |
_perform_enrich_action() |
Exécutez la logique d'enrichissement principale sur une entité. |
Méthodes privées
Méthodes privées | |
---|---|
_perform_action() |
Cette méthode combine les autres méthodes abstraites avec une logique d'enrichissement OOTB plus importante et la transmet à la classe parente pour l'utiliser dans la méthode |
class TIPCommon.base.action.data_models.ActionParamType
class TIPCommon.base.action.data_models.ActionParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
BOOLEAN = 1
CASE_PRIORITIES = 7
CLOSE_CASE_REASONS = 5
CLOSE_ROOT_CAUSE = 6
CODE = 20
CONTENT = 11
DDL = 15
EMAIL_CONTENT = 10
ENTITY_TYPE = 13
MULTI_VALUES = 14
NULL = -1
PASSWORD = 12
PLAYBOOK_NAME = 2
STAGE = 4
STRING = 0
USER = 3
class TIPCommon.base.action.data_models.Attachment
class TIPCommon.base.action.data_models.Attachment(filename: str, file_contents: bytes, title: str = 'Script Result Attachment', additional_data: dict | None = None)
Bases : objet
Pièce jointe de résultat de script d'action.
Cette classe est immuable : une fois créée, ses attributs ne peuvent pas être modifiés. Il est compatible avec le hachage (par exemple, l'utilisation dans des ensembles ou en tant que clés de dictionnaire) et la comparaison d'égalité à l'aide de l'opérateur ==
.
Attributs
Attributs | |
---|---|
title |
Titre de la pièce jointe. Type : |
filename |
Nom du fichier de la pièce jointe. Type : |
file_contents |
Contenu du fichier joint. Type : |
additional_data |
Données supplémentaires. Type : |
class TIPCommon.base.action.data_models.CaseAttachment
class TIPCommon.base.action.data_models.CaseAttachment(attachment_id: int, attachment_type: str, description: str, is_favorite: bool)
Bases : objet
Pièce jointe d'une demande.
Cette classe est immuable. Une fois les valeurs attribuées et l'objet créé, de nouvelles valeurs ne peuvent pas être attribuées aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==
.
Attributs
Attributs | |
---|---|
attachment_id |
int ID de la pièce jointe. |
attachment_type |
str Type de pièce jointe. |
description |
str Description de la pièce jointe. |
is_favorite |
bool Indique si la pièce jointe est marquée comme favorite. |
class TIPCommon.base.action.data_models.CaseComment
class TIPCommon.base.action.data_models.CaseComment(comment: str, creator_user_id: str, comment_id: int, comment_type: int, case_id: int, is_favorite: bool, modification_time_unix_time_in_ms: int, creation_time_unix_time_in_ms: int, alert_identifier: str, creator_full_name: str | None = None, is_deleted: bool | None = None, last_editor: str | None = None, last_editor_full_name: str | None = None, modification_time_unix_time_in_ms_for_client: int | None = None, comment_for_client: str | None = None)
Bases : objet
Commentaire sur une demande.
Cette classe est immuable. Une fois les valeurs attribuées et l'objet créé, de nouvelles valeurs ne peuvent pas être attribuées aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==
.
Attributs
Attributs | |
---|---|
comment |
str Le commentaire. |
comment_for_client |
str | None Commentaire destiné au client. |
modification_time_unix_time_in_ms_for_client |
int
Date et heure de modification de |
last_editor |
str
ID du dernier éditeur, tel que 77bdb7a4-8484-481d-9482-2449e33f9518. |
last_editor_full_name |
str
Nom complet du dernier utilisateur ayant effectué une modification, par exemple admin admin. |
is_deleted |
bool
Indique si le commentaire a déjà été supprimé. |
creator_user_id |
str
ID utilisateur du créateur, tel que 77bdb7a4-8484-481d-9482-2449e33f9518. |
creator_full_name |
str
Nom complet du créateur, tel que Système. |
comment_id |
int ID du commentaire. |
comment_type |
int Type du commentaire. |
case_id |
int ID de la demande. |
is_favorite |
bool
Indique si le commentaire est marqué comme favori. |
modification_time_unix_time_in_ms |
int
Date et heure de la dernière modification du commentaire au format Unix, par exemple 1686040471269. |
creation_time_unix_time_in_ms |
int
Heure de création du commentaire au format Unix, par exemple 1686040471269. |
alert_identifier |
str Identifiant de l'alerte, tel que SUSPICIOUS PHISHING EMAIL_83765943-9437-4771-96F6-BD0FB291384E. |
class TIPCommon.base.action.data_models.CaseInsight
class TIPCommon.base.action.data_models.CaseInsight(triggered_by: str, title: str, content: str, severity: InsightSeverity, insight_type: InsightType, entity_identifier: str = '', additional_data: Any | None = None, additional_data_type: Any | None = None, additional_data_title: str | None = None)
Bases : objet
Informations sur une demande.
Cette classe est immuable : une fois les valeurs attribuées et l'objet créé, de nouvelles valeurs ne peuvent pas être attribuées aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==
.
Attributs
Attributs | |
---|---|
title |
str Titre de l'insight. |
triggered_by |
str Nom de l'intégration. |
content |
str Message d'insight. |
severity |
InsightSeverity Gravité de l'insight. Les valeurs possibles sont les suivantes :
|
insight_type |
InsightType Type d'insight. Les valeurs possibles sont les suivantes :
|
entity_identifier |
str | None Identifiant de l'entité. |
additional_data |
Any | None Données supplémentaires. |
additional_data_type |
Any | None Type de données supplémentaires. |
additional_data_title |
str | None Titre des données supplémentaires. |
class TIPCommon.base.action.data_models.CasePriority
class TIPCommon.base.action.data_models.CasePriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
CRITICAL = 100
HIGH = 80
INFORMATIONAL = 0
LOW = 40
MEDIUM = 60
class TIPCommon.base.action.data_models.CaseStage
class TIPCommon.base.action.data_models.CaseStage(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
ASSESSMENT = 'Assessment'
IMPROVEMENT = 'Improvement'
INCIDENT = 'Incident'
INVESTIGATION = 'Investigation'
RESEARCH = 'Research'
TRIAGE = 'Triage'
class TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses
class TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
NO_CLEAR_CONCLUSION = 'No clear conclusion'
class TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses
class TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
LAB_TEST = 'Lab test'
OTHER = 'Other'
RULE_UNDER_CONSTRUCTION = 'Rule under construction'
class TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses
class TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
EXTERNAL_ATTACK = 'External attack'
INFRASTRUCTURE_ISSUE = 'Infrastructure issue'
IRRELEVANT_TCP_UDP_PORT = 'Irrelevant TCP/UDP port'
MISCONFIGURED_SYSTEM = 'Misconfigured system'
OTHER = 'Other'
SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION = 'Similar case is already under investigation'
SYSTEM_APPLICATION_MALFUNCTION = 'System/application malfunction'
SYSTEM_CLOCKED_THE_ATTACK = 'System blocked the attack'
UNFORESEEN_EFFECTS_OF_CHANGE = 'Unforeseen effects of change'
UNKNOWN = 'Unknown'
class TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses
class TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
EMPLOYEE_ERROR = 'Employee error'
HUMAN_ERROR = 'Human error'
LAB_TEST = 'Lab test'
LEGIT_ACTION = 'Legit action'
MISCONFIGURED_SYSTEM = 'Misconfigured system'
NONE = 'None'
NORMAL_BEHAVIOR = 'Normal behavior'
OTHER = 'Other'
PENETRATION_TEST = 'Penetration test'
RULE_UNDER_CONSTRUCTION = 'Rule under construction'
SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION = 'Similar case is already under investigation'
UNKNOWN = 'Unknown'
USER_MISTAKE = 'User mistake'
class TIPCommon.base.action.data_models.CloseCaseOrAlertReasons
class TIPCommon.base.action.data_models.CloseCaseOrAlertReasons(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
### Constantes
INCONCLUSIVE = 3
MAINTENANCE = 2
MALICIOUS = 0
NOT_MALICIOUS = 1
class TIPCommon.base.action.data_models.Content
class TIPCommon.base.action.data_models.Content(content: str, title: str = 'Script Result Content')
Bases : objet
Contenu du résultat du script d'une action.
Cette classe est immuable : une fois les valeurs attribuées et l'objet créé, de nouvelles valeurs ne peuvent pas être attribuées aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==
.
Attributs
Attributs | |
---|---|
title |
str | None Titre du contenu. |
content |
str Contenu à ajouter aux résultats du script. |
class TIPCommon.base.action.data_models.DataTable
class TIPCommon.base.action.data_models.DataTable(data_table: list[str], title: str = 'Script Result Data Table')
Bases : objet
Table de données des résultats du script d'action.
Cette classe est immuable. Une fois les valeurs attribuées et l'objet créé, de nouvelles valeurs ne peuvent pas être attribuées aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==
.
Attributs
Attributs | |
---|---|
title |
str | None Titre du tableau. |
data_table |
list[str] Liste des lignes CSV qui constituent le tableau. |
class TIPCommon.base.action.data_models.EntityInsight
class TIPCommon.base.action.data_models.EntityInsight(entity: DomainEntityInfo, message: str, triggered_by: str | None = None, original_requesting_user: str | None = None)
Bases : objet
Insight sur une entité.
Cette classe est immuable : une fois les valeurs attribuées et l'objet créé, de nouvelles valeurs ne peuvent pas être attribuées aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==
.
Attributs
Attributs | |
---|---|
entity |
Entity Objet d'entité. |
message |
str Message de l'insight. |
triggered_by |
str | None Nom de l'intégration. |
original_requesting_user |
str | None Utilisateur d'origine. |
class TIPCommon.base.action.data_models.EntityTypesEnum
class TIPCommon.base.action.data_models.EntityTypesEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
ADDRESS = 'ADDRESS'
ALERT = 'ALERT'
APPLICATION = 'APPLICATION'
CHILD_HASH = 'CHILDHASH'
CHILD_PROCESS = 'CHILDPROCESS'
CLUSTER = 'CLUSTER'
CONTAINER = 'CONTAINER'
CREDIT_CARD = 'CREDITCARD'
CVE = 'CVE'
CVE_ID = 'CVEID'
DATABASE = 'DATABASE'
DEPLOYMENT = 'DEPLOYMENT'
DESTINATION_DOMAIN = 'DESTINATIONDOMAIN'
DOMAIN = 'DOMAIN'
EMAIL_MESSAGE = 'EMAILSUBJECT'
EVENT = 'EVENT'
FILE_HASH = 'FILEHASH'
FILE_NAME = 'FILENAME'
GENERIC = 'GENERICENTITY'
HOST_NAME = 'HOSTNAME'
IP_SET = 'IPSET'
MAC_ADDRESS = 'MacAddress'
PARENT_HASH = 'PARENTHASH'
PARENT_PROCESS = 'PARENTPROCESS'
PHONE_NUMBER = 'PHONENUMBER'
POD = 'POD'
PROCESS = 'PROCESS'
SERVICE = 'SERVICE'
SOURCE_DOMAIN = 'SOURCEDOMAIN'
THREAT_ACTOR = 'THREATACTOR'
THREAT_CAMPAIGN = 'THREATCAMPAIGN'
THREAT_SIGNATURE = 'THREATSIGNATURE'
URL = 'DestinationURL'
USB = 'USB'
USER = 'USERUNIQNAME'
class TIPCommon.base.action.data_models.ExecutionState
class TIPCommon.base.action.data_models.ExecutionState(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
COMPLETED = 0
FAILED = 2
IN_PROGRESS = 1
TIMED_OUT = 3
class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter
class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter(input_dict: dict[str, Any])
Bases : objet
Objet de paramètre de script général.
Attributs
Attributs | |
---|---|
full_dict |
dict[str, Any] Dictionnaire d'origine reçu de l'API. |
id |
int | None ID du paramètre. |
integration_identifier |
str Identifiant de l'intégration, tel que VirusTotalV3. |
creation_time |
int Heure de création du paramètre. |
modification_time |
int Heure à laquelle le paramètre a été modifié pour la dernière fois. |
is_mandatory |
bool Indiquez si le paramètre est obligatoire ou non. |
description |
str | None Description du paramètre. |
name |
str Nom du paramètre. |
display_name |
str Nom à afficher du paramètre. |
value |
Any Valeur par défaut du paramètre. |
type |
IntegrationParamType Type du paramètre. |
optional_values |
list DDL de valeurs facultatives pour le type LDD. |
class TIPCommon.base.action.data_models.HTMLReport
class TIPCommon.base.action.data_models.HTMLReport(report_name: str, report_contents: str, title: str = 'Script Result HTML Report')
Bases : objet
Lien vers le résultat du script d'action.
Cette classe est immuable : une fois les valeurs attribuées et l'objet créé, de nouvelles valeurs ne peuvent pas être attribuées aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==
.
Attributs
Attributs | |
---|---|
title |
str | None Titre du lien. |
report_name |
str Nom du rapport. |
report_contents |
str Contenu HTML du rapport. |
class TIPCommon.base.action.data_models.IntegrationParamType
class TIPCommon.base.action.data_models.IntegrationParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
BOOLEAN = 0
EMAIL = 8
INTEGER = 1
IP = 4
NULL = -1
PASSWORD = 3
STRING = 2
class TIPCommon.base.action.data_models.Link
class TIPCommon.base.action.data_models.Link(link: str, title: str = 'Script Result Link')
Bases : objet
Lien vers le résultat du script d'action.
Cette classe est immuable : une fois les valeurs attribuées et l'objet créé, de nouvelles valeurs ne peuvent pas être attribuées aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==
.
Attributs
Attributs | |
---|---|
title |
str | None Titre du lien. |
link |
str Le lien. |
class TIPCommon.base.action.data_models.ScriptParameter
class TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any]
Bases : objet
Objet de paramètre de script général.
Attributs
Attributs | |
---|---|
full_dict |
dict[str, Any] Dictionnaire d'origine reçu de l'API. |
id |
int | None ID du paramètre. |
creation_time |
int Heure à laquelle le paramètre a été créé. |
modification_time |
int Heure de la dernière modification du paramètre. |
custom_action_id |
int | None ID de l'action. |
is_mandatory |
bool Indique si le paramètre est obligatoire ou non. |
default_value |
Any Valeur par défaut du paramètre. Ce paramètre est prioritaire sur le paramètre |
description |
str | None Description du paramètre. |
name |
str | None Nom du paramètre. |
value |
Any Valeur du paramètre. Cette valeur est prioritaire sur le paramètre |
type |
ActionParamType Type du paramètre. |
optional_values |
list LDD des valeurs facultatives pour le LDD de type. |
class TIPCommon.base.interfaces.apiable.Apiable
class TIPCommon.base.interfaces.apiable.Apiable(authenticated_session: AuthenticatedSession, configuration: ApiParams)
Bases : ABC, Generic[ApiParams]
Interface pour les classes qui gèrent les appels d'API vers des services externes.
class TIPCommon.base.interfaces.authable.Authable
class TIPCommon.base.interfaces.authable.Authable
Bases : ABC, Generic[AuthParams]
Interface pour les classes qui gèrent l'authentification avec des services externes.
Méthodes abstraites
Méthodes abstraites | |
---|---|
authenticat_session(params: Authparams) → None |
Authentifiez l'attribut self.session de la classe à l'aide de params .
Cette méthode vous authentifie auprès du service avec lequel la session interagit, après la création d'un objet à l'aide de cette session. |
Attributs
Attributs | |
---|---|
params |
object , dataclass , TypedDict , namedtuple ou tout autre élément contenant tous les paramètres d'authentification.Paramètres d'authentification. |
class TIPCommon.base.interfaces.logger.Logger
class TIPCommon.base.interfaces.logger.Logger
Bases : ABC
Interface de journalisation conçue pour les scripts Marketplace, qui vérifie la compatibilité lorsque le journaliseur transmis est remplacé ou simulé.
Méthodes abstraites
Méthodes abstraites | |
---|---|
debug(msg: str, *args, **kwargs) → None |
Consigne un message de débogage. |
error(error_msg: str, *args, **kwargs) → None |
Enregistre un message d'erreur. |
exception(ex: Exception, *args, **kwargs) → None |
Enregistre un message d'exception. |
info(msg: str, *args, **kwargs) → None |
Enregistre un message d'information. |
warn(warning_msg: str, *args, **kwargs) → None |
Consigne un message d'avertissement. |
class TIPCommon.base.interfaces.session.Session
class TIPCommon.base.interfaces.session.Session
Bases : ABC, Generic[_R]
Cette classe gère les sessions d'API à l'aide d'un objet de session. Il est compatible avec différents types de sessions et de simulations avec des bibliothèques telles que requests
ou httpx
.
Attributs
Attributs | |
---|---|
headers |
dict |
verify |
bool |
Méthodes abstraites
Méthodes abstraites | |
---|---|
delete(url: str, *args, **kwargs)→ _R |
Supprime une ressource du serveur. |
get(url: str, *args, **kwargs)→ _R |
Récupère une ressource à partir du serveur. |
patch(url: str, *args, **kwargs) → _R |
Applique un correctif à une ressource sur le serveur. |
post(url: str, *args, **kwargs) → _R |
Publie une ressource sur le serveur. |
put(url: str, *args, **kwargs) → _R |
Place (met à jour ou crée) une ressource sur le serveur. |
request(method: str, *args, **kwargs) → _R |
Envoie une requête au serveur. |
class TIPCommon.base.job.base_job.Job
class TIPCommon.base.job.base_job.Job(name: str)
Bases : ABC, Generic[ApiClient]
Classe représentant un script de job dans Google Security Operations SOAR.
Méthodes
start(**kwargs) → None
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Fournit le ou les clients API pour interagir avec les services externes.
property error_msg
property error_msg: str
Stocke tout message d'erreur rencontré lors de l'exécution du job.
property job_start_time
property job_start_time: int
Représente le code temporel du début du job.
Journaliseur property
property logger: ScriptLogger
Fournit une fonctionnalité de journalisation pour le script du job.
Nom de la propriété
property name: str
Contient le nom du script de job.
Paramètres property
property params: Container
Contient les paramètres de configuration fournis à la tâche.
property soar_job
property soar_job: SiemplifyJob
Représente l'instance de job Google Security Operations SOAR sous-jacente.
class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob
class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob(name: str, integration_identifier: str)
Bases : Job, Generic[ApiClient]
Cette section décrit les méthodes de cycle de vie qui influencent le traitement des jobs. Les sous-classes ne sont pas tenues de les remplacer.
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Contient le ou les clients d'API utilisés pour les interactions avec les services externes.
class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple
class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple(success_list, failure_list)
Bases : tuple
Attributs
Attributs | |
---|---|
success_list |
Alias pour le champ numéro 0. |
failure_list |
Alias pour le champ numéro 1. |
TIPCommon.base.job.base_job_refresh_token.validate_param_csv_to_multi_value
TIPCommon.base.job.base_job_refresh_token.validate_param_csv_to_multi_value(param_name: str, param_csv_value: str | None, delimiter: str = ',') → list[str]
Valide et analyse une valeur de paramètre séparée par une virgule pour la convertir en liste d'éléments uniques. Cette fonction gère les valeurs uniques, les chaînes entre guillemets et les formats mixtes.
Paramètres
Paramètres | |
---|---|
param_name |
Clé du paramètre. |
param_csv_value |
Valeur du paramètre fournie dans le paramètre job .
Si la valeur est None , une liste vide est renvoyée. |
Génère
ValueError
: le nombre de guillemets n'est pas valide, certaines valeurs ne sont pas valides ou certaines valeurs comportent des guillemets non concordants.
Renvoie
Liste des valeurs uniques fournies dans le paramètre du job. Si aucune valeur valide n'est trouvée, une liste vide est renvoyée.
Type renvoyé
list[str]
class TIPCommon.base.job.data_models.JobParameter
class TIPCommon.base.job.data_models.JobParameter(input_dict: MutableMapping[str, Any])
Bases : objet
Objet de paramètre de script général.
Attributs
Attributs | |
---|---|
full_dict |
dict[str, Any] Dictionnaire d'origine reçu de l'API. |
id |
int | None ID du paramètre. |
is_mandatory |
bool Indiquez si le paramètre est obligatoire ou non. Remarque : Cet attribut est prioritaire par rapport à |
name |
str | None Nom du paramètre. |
type |
ActionParamType Type du paramètre. |
value |
Any Valeur par défaut du paramètre. Remarque : Cet attribut est prioritaire par rapport à |
class TIPCommon.base.data_models.ActionJsonOutput
class TIPCommon.base.data_models.ActionJsonOutput(title: 'str' = 'JsonResult', content: 'str' = '', type: 'str | None' = None, is_for_entity: 'bool' = False, json_result: 'JSON | None' = None)
Bases : objet
Représente la sortie JSON structurée pour une action.
class TIPCommon.base.data_models.ActionOutput
class TIPCommon.base.data_models.ActionOutput(output_message: 'str', result_value: 'str | bool', execution_state: 'ExecutionState', json_output: 'ActionJsonOutput | None', debug_output: 'str' = '')
Bases : objet
Représente la structure de sortie complète d'une action.
class TIPCommon.base.data_models.ConnectorJsonOutput
class TIPCommon.base.data_models.ConnectorJsonOutput(alerts: 'list[AlertInfo | CaseInfo]', overflow_alerts: 'list[OverflowAlertDetails]' = <factory>, log_items: 'list' = <factory>, log_rows: 'list[str]' = <factory>, variables: 'dict' = <factory>)
Bases : objet
Représente la sortie JSON structurée d'un connecteur.
class TIPCommon.base.data_models.ConnectorOutput
class TIPCommon.base.data_models.ConnectorOutput(json_output: 'ConnectorJsonOutput | None', debug_output: 'str' = '')
Bases : objet
Représente la structure de sortie complète d'un connecteur.
TIPCommon.base.data_models.alert_info_from_json
TIPCommon.base.data_models.alert_info_from_json(json_: MutableMapping[str, Any])→ AlertInfo
Crée un objet AlertInfo à partir d'un JSON d'attributs.
Renvoie
Objet AlertInfo créé.
Type renvoyé
AlertInfo
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.