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
L'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
classe TIPCommon.base.action.base_action.Action(name: str)
Bases : ABC, Generic[ApiClient]
Une 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, les propriétés génériques et les 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 |
Le 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 enregistreur utilisé pour la journalisation dans les 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 compatibles avec l'action.
Type : |
_entities_to_update |
Entités à mettre à jour à la fin de l'action.
Type : |
json_results |
Résultats JSON de l'action.
Type : |
_attachments |
Pièces jointes du résultat de la demande à ajouter.
Type : |
_contents |
Contenu du résultat de la casse à ajouter.
Type : |
_data_tables |
Tables de données des résultats de cas à ajouter.
Type : |
_html_reports |
Rapports HTML des résultats de cas à ajouter.
Type : |
_links |
Liens vers les résultats de l'affaire à ajouter.
Type : |
_entity_insights |
Insights sur l'entité de la demande à ajouter.
Type : |
_case_insights |
Insights sur la demande à 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 sortie 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() |
Lance l'exécution de 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 de 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 qu'il n'est pas obligatoire de remplacer.
_get_entity_types()_finalize_action_on_success()_finalize_action_on_failure()_on_entity_failure()_handle_timeout()_extract_action_parameters()_finalize()
Méthodes de wrapper 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.
property attachments
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 de la liste sont envoyés au résultat de la demande.
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 l'instruction switch.
Renvoie une liste d'objets Content représentant les insights pour cette demande.
property data_tables
property data_tables: list[DataTable]
Par défaut, toutes les tables de données de la liste sont envoyées au résultat de l'instruction CASE.
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 qui doivent être mises à 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 l'enquête.
Renvoie une liste d'objets EntityInsight représentant les insights pour cette demande.
property entity_types
property entity_types:
list[EntityTypesEnum]
Si l'action fonctionne avec des entités, elle ne traite que les entités 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 ActionSCRIPT_NAMEfailed.
property execution_state
property execution_state: ExecutionState
L'état d'exécution de l'action : un indicateur d'état représenté par un entier à renvoyer à la plate-forme.
Les états possibles sont les suivants :
ExecutionState.COMPLETED = 0ExecutionState.IN_PROGRESS = 1ExecutionState.FAILED = 2ExecutionState.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 seront 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 sinon.
property json_results
property json_results: Dict[str, Any] | List[Dict[str, Any]]
Renvoie le résultat JSON de l'action à envoyer au mur de l'incident.
property links
property links: list[Link]
Tous les liens de la liste seront envoyés au résultat de la demande par défaut.
Renvoie une liste d'objets Link représentant les insights pour cette demande.
property logger
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: Action réussieFalse: É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
classe TIPCommon.base.action.base_enrich_action.EnrichAction(name: str)
Bases : Action
Classe qui représente une action d'enrichissement d'entité.
Cette classe hérite de la classe TIPCommon.base.actions.base_action::Action.
Paramètres
| Paramètres | |
|---|---|
name |
strNom de l'action. |
Attributs
| Attributs | |
|---|---|
enrichment_data |
Cet attribut contient les données d'enrichissement de 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 : tous |
global_context |
Un dictionnaire pour stocker le contexte si nécessaire. Type : |
Méthodes abstraites
| Méthodes abstraites | |
|---|---|
_get_entity_types() |
Récupère le type d'entités sur lesquelles l'action s'exécute. |
_perform_enrich_action() |
Effectuer 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 supplémentaire et la transmet à la classe parente pour l'utiliser dans la méthode |
class TIPCommon.base.action.data_models.ActionParamType
classe TIPCommon.base.action.data_models.ActionParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
BOOLEAN = 1CASE_PRIORITIES = 7CLOSE_CASE_REASONS = 5CLOSE_ROOT_CAUSE = 6CODE = 20CONTENT = 11DDL = 15EMAIL_CONTENT = 10ENTITY_TYPE = 13MULTI_VALUES = 14NULL = -1PASSWORD = 12PLAYBOOK_NAME = 2STAGE = 4STRING = 0USER = 3
class TIPCommon.base.action.data_models.Attachment
classe TIPCommon.base.action.data_models.Attachment(filename: str, file_contents: bytes, title: str = 'Script Result Attachment', additional_data: dict | None = None)
Bases : object
Pièce jointe de résultat de script d'action.
Cette classe est immuable : une fois créée, ses attributs ne peuvent plus être modifiés. Il est compatible avec le hachage (par exemple, pour une 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 de la pièce jointe. Type : |
additional_data |
Données supplémentaires. Type : |
class TIPCommon.base.action.data_models.CaseAttachment
classe TIPCommon.base.action.data_models.CaseAttachment(attachment_id: int, attachment_type: str, description: str, is_favorite: bool)
Bases : object
Une pièce jointe à une demande.
Cette classe est immuable. Après avoir attribué des valeurs et créé l'objet, vous ne pouvez pas attribuer de nouvelles valeurs 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 |
intID de la pièce jointe. |
attachment_type |
strType de pièce jointe. |
description |
strDescription de la pièce jointe. |
is_favorite |
boolIndique si la pièce jointe est marquée comme favorite. |
class TIPCommon.base.action.data_models.CaseComment
classe 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 : object
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 |
strLe commentaire. |
comment_for_client |
str | NoneCommentaire destiné au client. |
modification_time_unix_time_in_ms_for_client |
int
Heure de modification de |
last_editor |
str
ID du dernier éditeur, par exemple 77bdb7a4-8484-481d-9482-2449e33f9518. |
last_editor_full_name |
str
Nom complet du dernier utilisateur ayant modifié l'élément, 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, par exemple 77bdb7a4-8484-481d-9482-2449e33f9518. |
creator_full_name |
str
Nom complet du créateur, par exemple Système. |
comment_id |
intID du commentaire. |
comment_type |
intType du commentaire. |
case_id |
intID de la demande. |
is_favorite |
bool
Indique si le commentaire est marqué comme favori. |
modification_time_unix_time_in_ms |
int
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 |
strIdentifiant de l'alerte, par exemple SUSPICIOUS PHISHING EMAIL_83765943-9437-4771-96F6-BD0FB291384E. |
class TIPCommon.base.action.data_models.CaseInsight
classe 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 : object
Un insight sur une demande.
Cette classe est immuable : après avoir attribué des valeurs et créé l'objet, vous ne pouvez pas attribuer de nouvelles valeurs 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 |
strTitre de l'insight. |
triggered_by |
strNom de l'intégration. |
content |
strMessage de l'insight. |
severity |
InsightSeverityNiveau de gravité des insights. Les valeurs possibles sont les suivantes :
|
insight_type |
InsightTypeType d'insight. Les valeurs possibles sont les suivantes :
|
entity_identifier |
str | NoneIdentifiant de l'entité. |
additional_data |
Any | NoneDonnées supplémentaires. |
additional_data_type |
Any | NoneType de données supplémentaires. |
additional_data_title |
str | NoneTitre des données supplémentaires. |
class TIPCommon.base.action.data_models.CasePriority
classe TIPCommon.base.action.data_models.CasePriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
CRITICAL = 100HIGH = 80INFORMATIONAL = 0LOW = 40MEDIUM = 60
class TIPCommon.base.action.data_models.CaseStage
classe 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
classe 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
classe 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
classe 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
classe 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
classe TIPCommon.base.action.data_models.CloseCaseOrAlertReasons(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
### Constantes
INCONCLUSIVE = 3MAINTENANCE = 2MALICIOUS = 0NOT_MALICIOUS = 1
class TIPCommon.base.action.data_models.Content
classe TIPCommon.base.action.data_models.Content(content: str, title: str = 'Script Result Content')
Bases : object
Contenu du résultat du script d'une action.
Cette classe est immuable : après avoir attribué des valeurs et créé l'objet, vous ne pouvez pas attribuer de nouvelles valeurs 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 | NoneTitre du contenu. |
content |
strContenu à ajouter aux résultats du script. |
class TIPCommon.base.action.data_models.DataTable
classe TIPCommon.base.action.data_models.DataTable(data_table: list[str], title: str = 'Script Result Data Table')
Bases : object
Table de données de résultat de 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 | NoneTitre du tableau. |
data_table |
list[str]Liste des lignes CSV qui constituent la table. |
class TIPCommon.base.action.data_models.EntityInsight
classe TIPCommon.base.action.data_models.EntityInsight(entity: DomainEntityInfo, message: str, triggered_by: str | None = None, original_requesting_user: str | None = None)
Bases : object
Un insight d'entité.
Cette classe est immuable : après avoir attribué des valeurs et créé l'objet, vous ne pouvez pas attribuer de nouvelles valeurs 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 |
EntityObjet d'entité. |
message |
strMessage de l'insight. |
triggered_by |
str | NoneNom de l'intégration. |
original_requesting_user |
str | NoneL'utilisateur d'origine. |
class TIPCommon.base.action.data_models.EntityTypesEnum
classe 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
classe TIPCommon.base.action.data_models.ExecutionState(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
COMPLETED = 0FAILED = 2IN_PROGRESS = 1TIMED_OUT = 3
class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter
classe TIPCommon.base.action.data_models.FullDetailsConfigurationParameter(input_dict: dict[str, Any])
Bases : object
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 | NoneID du paramètre. |
integration_identifier |
strIdentifiant de l'intégration, par exemple VirusTotalV3. |
creation_time |
intHeure de création du paramètre. |
modification_time |
intHeure de la dernière modification du paramètre. |
is_mandatory |
boolDéfinissez si le paramètre est obligatoire ou non. |
description |
str | NoneDescription du paramètre. |
name |
strNom du paramètre. |
display_name |
strNom à afficher du paramètre. |
value |
AnyValeur par défaut du paramètre. |
type |
IntegrationParamTypeType du paramètre. |
optional_values |
listDDL de valeurs facultatives pour le type LDD. |
class TIPCommon.base.action.data_models.HTMLReport
classe TIPCommon.base.action.data_models.HTMLReport(report_name: str, report_contents: str, title: str = 'Script Result HTML Report')
Bases : object
Lien vers le résultat du script d'une action.
Cette classe est immuable : après avoir attribué des valeurs et créé l'objet, vous ne pouvez pas attribuer de nouvelles valeurs 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 | NoneTitre du lien. |
report_name |
strNom du rapport. |
report_contents |
strContenu HTML du rapport. |
class TIPCommon.base.action.data_models.IntegrationParamType
classe TIPCommon.base.action.data_models.IntegrationParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
BOOLEAN = 0EMAIL = 8INTEGER = 1IP = 4NULL = -1PASSWORD = 3STRING = 2
class TIPCommon.base.action.data_models.Link
classe TIPCommon.base.action.data_models.Link(link: str, title: str = 'Script Result Link')
Bases : object
Lien vers le résultat du script d'une action.
Cette classe est immuable : après avoir attribué des valeurs et créé l'objet, vous ne pouvez pas attribuer de nouvelles valeurs 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 | NoneTitre du lien. |
link |
strLe lien. |
class TIPCommon.base.action.data_models.ScriptParameter
classe TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any]
Bases : object
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 | NoneID du paramètre. |
creation_time |
intHeure de création du paramètre. |
modification_time |
intHeure de la dernière modification du paramètre. |
custom_action_id |
int | NoneID de l'action. |
is_mandatory |
boolIndique si le paramètre est obligatoire ou non. |
default_value |
AnyValeur par défaut du paramètre. Ce paramètre est prioritaire sur le paramètre |
description |
str | NoneDescription du paramètre. |
name |
str | NoneNom du paramètre. |
value |
AnyValeur du paramètre. Cette valeur est prioritaire sur le paramètre |
type |
ActionParamTypeType du paramètre. |
optional_values |
listLDD des valeurs facultatives pour le type LDD. |
class TIPCommon.base.interfaces.apiable.Apiable
classe 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
classe TIPCommon.base.interfaces.authable.Authable
Bases : ABC, Generic[AuthParams]
Interface pour les classes qui gèrent l'authentification auprès de 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 élément contenant tous les paramètres d'authentification.Paramètres d'authentification. |
class TIPCommon.base.interfaces.logger.Logger
classe TIPCommon.base.interfaces.logger.Logger
Bases : ABC
Interface de l'enregistreur conçue pour les scripts Content Hub, qui vérifie la compatibilité lorsque l'enregistreur 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 |
Enregistre un message d'avertissement. |
class TIPCommon.base.interfaces.session.Session
classe 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 accepte 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 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 |
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
classe TIPCommon.base.job.base_job.Job(name: str)
Bases : ABC, Generic[ApiClient]
Classe représentant un script de job dans Google SecOps.
Méthodes
start(**kwargs) → None
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Fournit le ou les clients API permettant d'interagir avec des 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émarrage du job.
property logger
property logger: ScriptLogger
Fournit une fonctionnalité de journalisation pour le script de 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 au job.
property soar_job
property soar_job: SiemplifyJob
Représente l'instance de job Google SecOps sous-jacente.
class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob
classe 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 obligées de les remplacer.
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Contient le ou les clients API utilisés pour les interactions avec les services externes.
class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple
classe TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple(success_list, failure_list)
Bases : tuple
Attributs
| Attributs | |
|---|---|
success_list |
Alias du champ numéro 0. |
failure_list |
Alias du 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 dans une 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 de paramètre fournie dans le paramètre job.
Si la valeur est None, une liste vide est renvoyée. |
Génère
ValueError : lorsque le nombre de guillemets n'est pas valide, que certaines valeurs ne sont pas valides ou que certaines valeurs ne correspondent pas aux guillemets.
Renvoie
Liste de valeurs uniques fournies dans le paramètre de la tâche. 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
classe TIPCommon.base.job.data_models.JobParameter(input_dict: MutableMapping[str, Any])
Bases : object
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 | NoneID du paramètre. |
is_mandatory |
boolDéfinissez si le paramètre est obligatoire ou non. Remarque : Cet attribut est prioritaire par rapport à |
name |
str | NoneNom du paramètre. |
type |
ActionParamTypeType du paramètre. |
value |
AnyValeur par défaut du paramètre. Remarque : Cet attribut est prioritaire sur |
class TIPCommon.base.data_models.ActionJsonOutput
classe 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 : object
Représente la sortie JSON structurée d'une action.
class TIPCommon.base.data_models.ActionOutput
classe TIPCommon.base.data_models.ActionOutput(output_message: 'str', result_value: 'str | bool', execution_state: 'ExecutionState', json_output: 'ActionJsonOutput | None', debug_output: 'str' = '')
Bases : object
Représente la structure de sortie complète d'une action.
class TIPCommon.base.data_models.ConnectorJsonOutput
classe 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 : object
Représente la sortie JSON structurée d'un connecteur.
class TIPCommon.base.data_models.ConnectorOutput
classe TIPCommon.base.data_models.ConnectorOutput(json_output: 'ConnectorJsonOutput | None', debug_output: 'str' = '')
Bases : object
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.