TIPCommon.base
TIPCommon.base.action.action_parser.parse_case_attachment
TIPCommon.base.action.action_parser.parse_case_attachment(attachment: MutableMapping[str, Any]) → CaseAttachment
Analizza un allegato JSON e restituisce un oggetto CaseAttachment.
Parametri
| Parametri | |
|---|---|
attachment |
Un oggetto JSON di risposta che rappresenta l'allegato. |
Restituisce
L'oggetto CaseAttachment analizzato.
Tipo restituito
CaseAttachment
TIPCommon.base.action.action_parser.parse_case_comment
TIPCommon.base.action.action_parser.parse_case_comment(comment: MutableMapping[str, Any]) → CaseComment
Analizza un commento JSON e restituisce un oggetto CaseComment.
Parametri
| Parametri | |
|---|---|
comment |
Un oggetto JSON di risposta che rappresenta il commento. |
Restituisce
L'oggetto CaseComment analizzato.
Tipo restituito
CaseComment
class TIPCommon.base.action.base_action.Action
classe TIPCommon.base.action.base_action.Action(name: str)
Basi: ABC, Generic[ApiClient]
Un'implementazione dell'infrastruttura generica unificata per lo sviluppo di azioni di Google SecOps.
La classe base Action fornisce metodi astratti del modello per eseguire l'override nelle classi di azioni ereditate, nelle proprietà generiche e nei flussi generali come metodi eseguiti quando viene chiamato il metodo di esecuzione dell'azione.
Parametri
| Parametri | |
|---|---|
name |
str
Il nome dello script dell'azione. |
Attributi
| Attributi | |
|---|---|
_soar_action |
L'oggetto SDK SiemplifyAction.
Tipo: |
_api_client |
Il client API dell'integrazione.
Tipo: |
_name |
Il nome dello script che utilizza questa azione.
Tipo: |
_action_start_time |
L'ora di inizio dell'azione.
Tipo: |
_logger |
L'oggetto logger utilizzato per il logging nelle azioni.
Tipo: |
_params |
Il container dei parametri per questa azione.
Tipo: |
global_context |
Un dizionario per archiviare il contesto, se necessario.
Tipo: |
_entity_types |
I tipi di entità supportati dall'azione.
Tipo: |
_entities_to_update |
Le entità da aggiornare al termine dell'azione.
Tipo: |
json_results |
I risultati JSON dell'azione.
Tipo: |
_attachments |
Gli allegati dei risultati del caso da aggiungere.
Tipo: |
_contents |
I contenuti dei risultati del caso da aggiungere.
Tipo: |
_data_tables |
Le tabelle di dati dei risultati del caso da aggiungere.
Tipo: |
_html_reports |
I report HTML dei risultati del caso da aggiungere.
Tipo: |
_links |
I link ai risultati della richiesta da aggiungere.
Tipo: |
_entity_insights |
Gli insight sulle entità del caso da aggiungere.
Tipo: |
_case_insights |
Gli insight sulla richiesta da aggiungere.
Tipo: |
_execution_state |
Lo stato di esecuzione finale dell'azione.
Tipo: |
_result_value |
Il valore del risultato finale dell'azione.
Tipo: |
_output_message |
Il messaggio di output dell'azione quando l'operazione va a buon fine.
Tipo: |
_error_output_message |
Il messaggio di output dell'azione quando non va a buon fine.
Tipo: |
Metodi
- run() |
Avvia l'esecuzione dell'azione. |
- _get_adjusted_json_results() |
Adatta il risultato JSON a una struttura specifica. |
Metodi astratti
| Metodi astratti | |
|---|---|
_validate_params() |
Convalida i parametri per questa azione. |
_init_managers() |
Inizializza e restituisce un oggetto gestore. |
_perform_action() |
Esegue la logica principale dell'azione. |
Metodi aggiuntivi
Questi sono metodi che vengono chiamati durante l'esecuzione dell'azione e influiscono sulla fase di elaborazione degli avvisi, ma non è obbligatorio eseguirne l'override.
_get_entity_types()_finalize_action_on_success()_finalize_action_on_failure()_on_entity_failure()_handle_timeout()_extract_action_parameters()_finalize()
Metodi wrapper dell'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()
Esempio
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
Restituisce un int che rappresenta l'ora di inizio dell'azione in Unix.
property api_client
propertyapi_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Restituisce un oggetto Apiable.
Allegati property
property attachments: list[Attachment]
Per impostazione predefinita, tutti gli allegati nell'elenco vengono inviati al risultato della richiesta.
Restituisce un elenco di oggetti Attachment che rappresentano gli insight per questa richiesta.
property case_insights
property case_insights: list[CaseInsight]
Per impostazione predefinita, tutti gli insight sul caso nell'elenco vengono inviati al risultato del caso.
Restituisce un elenco di oggetti CaseInsight che rappresentano gli insight per questa richiesta.
Contenuti della proprietà
property contents: list[Content]
Per impostazione predefinita, tutti i contenuti dell'elenco vengono inviati al risultato del caso.
Restituisce un elenco di oggetti Content che rappresentano gli insight per questa richiesta.
property data_tables
property data_tables: list[DataTable]
Per impostazione predefinita, tutte le tabelle di dati nell'elenco vengono inviate al risultato del caso.
Restituisce un elenco di oggetti DataTable che rappresentano gli insight per questo caso.
property entities_to_update
property entities_to_update: list[DomainEntityInfo]
Tutte le entità nell'elenco vengono inviate alla piattaforma per l'aggiornamento.
Restituisce un elenco di oggetti Entity che rappresentano le entità che devono essere aggiornate nella richiesta.
property entity_insights
property entity_insights:
list[EntityInsight]
Per impostazione predefinita, tutti gli insight sulle entità nell'elenco vengono inviati al risultato del caso.
Restituisce un elenco di oggetti EntityInsight che rappresentano gli insight per questa richiesta.
property entity_types
property entity_types:
list[EntityTypesEnum]
Se l'azione funziona con le entità, elabora solo le entità il cui tipo è presente nell'elenco entity_types. In caso contrario, l'azione salta l'entità.
Restituisce un elenco di oggetti EntityTypesEnum che rappresentano i tipi di entità che l'azione può elaborare.
property error_output_message
property error_output_message: str
Il messaggio di output dell'azione in caso di esecuzione non riuscita.
Un messaggio di output che dovrebbe essere visualizzato in caso di errore durante il runtime dell'azione. Il valore predefinito è ActionSCRIPT_NAMEfailed.
property execution_state
property execution_state: ExecutionState
Lo stato di esecuzione dell'azione, un indicatore di stato rappresentato da un numero intero da restituire alla piattaforma.
Gli stati possibili sono i seguenti:
ExecutionState.COMPLETED = 0ExecutionState.IN_PROGRESS = 1ExecutionState.FAILED = 2ExecutionState.TIMED_OUT = 3
Restituisce l'oggetto ExecutionState che rappresenta lo stato di esecuzione corrente.
property html_reports
property html_reports: list[HTMLReport]
Per impostazione predefinita, tutti i report HTML nell'elenco verranno inviati al risultato del caso.
Restituisce un elenco di oggetti HTMLReport che rappresentano gli insight per questa richiesta.
property is_first_run
property is_first_run: bool
Indica se si tratta della prima esecuzione.
Risultato:
True se è la prima esecuzione, False in caso contrario.
property json_results
property json_results: Dict[str, Any] | List[Dict[str, Any]]
Restituisce il risultato JSON dell'azione da inviare alla bacheca richieste.
Link alla proprietà
property links: list[Link]
Per impostazione predefinita, tutti i link nell'elenco verranno inviati al risultato della richiesta.
Restituisce un elenco di oggetti Link che rappresentano gli insight per questa richiesta.
Logger property
property logger: NewLineLogger
Restituisce l'oggetto NewLineLogger per le azioni.
Nome della proprietà
property name: str
property output_message
property output_message: str
Il messaggio di output dell'azione in caso di esecuzione riuscita.
Il messaggio di output che riassume il risultato dell'azione.
Parametri property
property params:
[Container]
Restituisce un oggetto Container che descrive i parametri dell'azione, con ogni parametro esposto come attributo snake_case.
property result_value
property result_value: bool
Il valore del risultato dell'azione da restituire alla piattaforma.
Valori possibili:
True: azione riuscitaFalse: azione non riuscita
property soar_action
property soar_action: SiemplifyAction
Restituisce l'oggetto SiemplifyAction dell'SDK.
class TIPCommon.base.action.base_enrich_action.EnrichAction
classe TIPCommon.base.action.base_enrich_action.EnrichAction(name: str)
Basi: Azione
Una classe che rappresenta un'azione di arricchimento delle entità.
Questa classe eredita dalla classe TIPCommon.base.actions.base_action::Action.
Parametri
| Parametri | |
|---|---|
name |
strIl nome dell'azione. |
Attributi
| Attributi | |
|---|---|
enrichment_data |
Questo attributo contiene i dati di arricchimento per l'entità corrente in ciascuna delle iterazioni dell'entità. Al termine di ogni iterazione, l'attributo Tipo: |
entity_results |
Risultati delle entità inclusi nell'output JSON per questo oggetto.
Tipo: qualsiasi |
global_context |
Un dizionario per archiviare il contesto, se necessario. Tipo: |
Metodi astratti
| Metodi astratti | |
|---|---|
_get_entity_types() |
Recupera il tipo di entità su cui viene eseguita l'azione. |
_perform_enrich_action() |
Esegui la logica di arricchimento principale su un'entità. |
Metodi privati
| Metodi privati | |
|---|---|
_perform_action() |
Questo metodo combina gli altri metodi astratti con una logica di arricchimento OOTB aggiuntiva e la trasmette alla classe principale per l'utilizzo nel metodo |
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)
Basi: Enum
Costanti
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)
Basi: object
Un allegato con il risultato dello script di un'azione.
Questa classe è immutabile: una volta creata, i suoi attributi non possono essere modificati. Supporta l'hashing (ad esempio, l'utilizzo in set o come chiavi di dizionario) e il confronto di uguaglianza utilizzando l'operatore ==.
Attributi
| Attributi | |
|---|---|
title |
Il titolo dell'allegato. Tipo: |
filename |
Il nome file dell'allegato. Tipo: |
file_contents |
I contenuti del file allegato. Tipo: |
additional_data |
Dati aggiuntivi. Tipo: |
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)
Basi: object
Un allegato della richiesta.
Questa classe è immutabile. Dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.
Attributi
| Attributi | |
|---|---|
attachment_id |
intL'ID allegato. |
attachment_type |
strIl tipo di allegato. |
description |
strLa descrizione dell'allegato. |
is_favorite |
boolIndica se l'allegato è contrassegnato come preferito. |
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)
Basi: object
Un commento sulla richiesta.
Questa classe è immutabile; dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.
Attributi
| Attributi | |
|---|---|
comment |
strIl commento. |
comment_for_client |
str | NoneIl commento per il cliente. |
modification_time_unix_time_in_ms_for_client |
int
L'ora di modifica di |
last_editor |
str
L'ID dell'ultimo editor, ad esempio 77bdb7a4-8484-481d-9482-2449e33f9518. |
last_editor_full_name |
str
Il nome completo dell'ultimo utente editor, ad esempio admin admin. |
is_deleted |
bool
Indica se il commento è già stato eliminato. |
creator_user_id |
str
L'ID utente del creator, ad esempio 77bdb7a4-8484-481d-9482-2449e33f9518. |
creator_full_name |
str
Il nome completo dell'autore, ad esempio Sistema. |
comment_id |
intL'ID del commento. |
comment_type |
intIl tipo di commento. |
case_id |
intL'ID della richiesta. |
is_favorite |
bool
Indica se il commento è contrassegnato come preferito. |
modification_time_unix_time_in_ms |
int
La data e l'ora dell'ultima modifica del commento in formato Unix, ad esempio 1686040471269. |
creation_time_unix_time_in_ms |
int
L'ora di creazione del commento in Unix, ad esempio 1686040471269. |
alert_identifier |
strL'identificatore dell'avviso, ad esempio 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)
Basi: object
Un insight sulla richiesta.
Questa classe è immutabile: dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.
Attributi
| Attributi | |
|---|---|
title |
strIl titolo dell'insight. |
triggered_by |
strNome integrazione. |
content |
strIl messaggio dell'insight. |
severity |
InsightSeverityGravità dell'insight. I valori possibili sono:
|
insight_type |
InsightTypeTipo di insight. I valori possibili sono:
|
entity_identifier |
str | NoneL'identificatore dell'entità. |
additional_data |
Any | NoneDati aggiuntivi. |
additional_data_type |
Any | NoneIl tipo di dati aggiuntivi. |
additional_data_title |
str | NoneIl titolo dei dati aggiuntivi. |
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)
Basi: Enum
Costanti
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)
Basi: Enum
Costanti
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)
Basi: Enum
Costanti
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)
Basi: Enum
Costanti
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)
Basi: Enum
Costanti
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)
Basi: Enum
Costanti
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)
Basi: Enum
### Costanti
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')
Basi: object
Contenuto del risultato dello script di un'azione.
Questa classe è immutabile: dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.
Attributi
| Attributi | |
|---|---|
title |
str | NoneIl titolo dei contenuti. |
content |
strI contenuti da aggiungere ai risultati dello 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')
Basi: object
Una tabella di dati dei risultati dello script di azione.
Questa classe è immutabile; dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.
Attributi
| Attributi | |
|---|---|
title |
str | NoneIl titolo della tabella. |
data_table |
list[str]Un elenco di righe CSV che compongono la tabella. |
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)
Basi: object
Un insight sulle entità.
Questa classe è immutabile: dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.
Attributi
| Attributi | |
|---|---|
entity |
EntityL'oggetto entità. |
message |
strIl messaggio dell'insight. |
triggered_by |
str | NoneIl nome dell'integrazione. |
original_requesting_user |
str | NoneL'utente originale. |
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)
Basi: Enum
Costanti
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)
Basi: Enum
Costanti
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])
Basi: object
Un oggetto parametro di script generico.
Attributi
| Attributi | |
|---|---|
full_dict |
dict[str, Any]Il dizionario originale ricevuto dall'API. |
id |
int | NoneL'ID del parametro. |
integration_identifier |
strL'identificatore dell'integrazione, ad esempio VirusTotalV3. |
creation_time |
intLa data e l'ora in cui è stato creato il parametro. |
modification_time |
intLa data e l'ora dell'ultima modifica del parametro. |
is_mandatory |
boolDefinisci se il parametro è obbligatorio o meno. |
description |
str | NoneLa descrizione del parametro. |
name |
strIl nome del parametro. |
display_name |
strIl nome visualizzato del parametro. |
value |
AnyIl valore predefinito del parametro. |
type |
IntegrationParamTypeIl tipo di parametro. |
optional_values |
listUn DDL di valori facoltativi per il tipo DDL. |
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')
Basi: object
Un link al risultato dello script di un'azione.
Questa classe è immutabile: dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.
Attributi
| Attributi | |
|---|---|
title |
str | NoneIl titolo del link. |
report_name |
strIl nome del report. |
report_contents |
strI contenuti HTML del report. |
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)
Basi: Enum
Costanti
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')
Basi: object
Un link al risultato dello script di un'azione.
Questa classe è immutabile: dopo aver assegnato i valori e creato l'oggetto, non è possibile assegnare nuovi valori agli attributi. La classe supporta l'hashing (memorizzato in un set o come chiave dict) e l'operatore ==.
Attributi
| Attributi | |
|---|---|
title |
str | NoneIl titolo del link. |
link |
strIl link. |
class TIPCommon.base.action.data_models.ScriptParameter
classe TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any]
Basi: object
Un oggetto parametro di script generico.
Attributi
| Attributi | |
|---|---|
full_dict |
dict[str, Any]Dizionario originale ricevuto dall'API. |
id |
int | NoneID del parametro. |
creation_time |
intLa data e l'ora in cui è stato creato il parametro. |
modification_time |
intData e ora dell'ultima modifica del parametro. |
custom_action_id |
int | NoneL'ID azione. |
is_mandatory |
boolIndica se il parametro è obbligatorio o meno. |
default_value |
AnyIl valore predefinito del parametro. Questo parametro ha la priorità sul parametro |
description |
str | NoneDescrizione del parametro. |
name |
str | NoneNome del parametro. |
value |
AnyIl valore del parametro. Questo valore ha la priorità rispetto al parametro |
type |
ActionParamTypeIl tipo di parametro. |
optional_values |
listDDL dei valori facoltativi per il tipo DDL. |
class TIPCommon.base.interfaces.apiable.Apiable
classe TIPCommon.base.interfaces.apiable.Apiable(authenticated_session: AuthenticatedSession, configuration: ApiParams)
Basi: ABC, Generic[ApiParams]
Un'interfaccia per le classi che gestiscono le chiamate API a servizi esterni.
class TIPCommon.base.interfaces.authable.Authable
classe TIPCommon.base.interfaces.authable.Authable
Basi: ABC, Generic[AuthParams]
Un'interfaccia per le classi che gestiscono l'autenticazione con servizi esterni.
Metodi astratti
| Metodi astratti | |
|---|---|
authenticat_session(params: Authparams) → None |
Autentica l'attributo self.session della classe utilizzando params.
Questo metodo ti autentica nel servizio con cui interagisce la sessione, dopo la creazione di un oggetto utilizzando la sessione. |
Attributi
| Attributi | |
|---|---|
params |
object, dataclass, TypedDict, namedtuple o qualsiasi elemento contenente tutti i parametri di autenticazione.Parametri di autenticazione. |
class TIPCommon.base.interfaces.logger.Logger
classe TIPCommon.base.interfaces.logger.Logger
Base: ABC
Un'interfaccia di logger progettata per gli script di Content Hub, che verifica la compatibilità quando il logger passato viene sostituito o simulato.
Metodi astratti
| Metodi astratti | |
|---|---|
debug(msg: str, *args, **kwargs) → None |
Registra un messaggio di debug. |
error(error_msg: str, *args, **kwargs) → None |
Registra un messaggio di errore. |
exception(ex: Exception, *args, **kwargs) → None |
Registra un messaggio di eccezione. |
info(msg: str, *args, **kwargs) → None |
Registra un messaggio informativo. |
warn(warning_msg: str, *args, **kwargs) → None |
Registra un messaggio di avviso. |
class TIPCommon.base.interfaces.session.Session
classe TIPCommon.base.interfaces.session.Session
Basi: ABC, Generic[_R]
Questa classe gestisce le sessioni API utilizzando un oggetto sessione. Supporta vari tipi di sessione e simulazioni con librerie come requests o httpx.
Attributi
| Attributi | |
|---|---|
headers |
dict |
verify |
bool |
Metodi astratti
| Metodi astratti | |
|---|---|
delete(url: str, *args, **kwargs)→ _R |
Elimina una risorsa dal server. |
get(url: str, *args, **kwargs)→ _R |
Recupera una risorsa dal server. |
patch(url: str, *args, **kwargs) → _R |
Applica una patch a una risorsa sul server. |
post(url: str, *args, **kwargs) → _R |
Pubblica una risorsa sul server. |
put(url: str, *args, **kwargs) → _R |
Inserisce (aggiorna o crea) una risorsa sul server. |
request(method: str, *args, **kwargs) → _R |
Invia una richiesta al server. |
class TIPCommon.base.job.base_job.Job
classe TIPCommon.base.job.base_job.Job(name: str)
Basi: ABC, Generic[ApiClient]
Una classe che rappresenta uno script di job in Google SecOps.
Metodi
start(**kwargs) → None
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Fornisce uno o più client API per l'interazione con i servizi esterni.
property error_msg
property error_msg: str
Memorizza eventuali messaggi di errore riscontrati durante l'esecuzione del job.
property job_start_time
property job_start_time: int
Rappresenta il timestamp di avvio del job.
Logger property
property logger: ScriptLogger
Fornisce funzionalità di logging per lo script del job.
Nome della proprietà
property name: str
Contiene il nome dello script del job.
Parametri property
property params: Container
Contiene i parametri di configurazione forniti al job.
property soar_job
property soar_job: SiemplifyJob
Rappresenta l'istanza del job Google SecOps sottostante.
class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob
classe TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob(name: str, integration_identifier: str)
Basi: Job, Generic[ApiClient]
Questa sezione descrive i metodi del ciclo di vita che influenzano l'elaborazione dei job. Le sottoclassi non sono tenute a eseguirne l'override.
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Contiene i client API utilizzati per le interazioni con i servizi esterni.
class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple
classe TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple(success_list, failure_list)
Basi: tuple
Attributi
| Attributi | |
|---|---|
success_list |
Alias per il campo numero 0. |
failure_list |
Alias per il campo numero 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]
Convalida e analizza un valore parametro separato da virgole in un elenco di elementi univoci. Questa funzione gestisce singoli valori, stringhe tra virgolette e formati misti.
Parametri
| Parametri | |
|---|---|
param_name |
La chiave del parametro. |
param_csv_value |
Il valore parametro fornito nel parametro job.
Se None, viene restituito un elenco vuoto. |
Aumenta
ValueError: quando il numero di virgolette doppie non è valido, alcuni valori non sono validi o alcune virgolette doppie non corrispondono.
Restituisce
Un elenco di valori univoci forniti nel parametro del job. Se non vengono trovati valori validi, viene restituito un elenco vuoto.
Tipo restituito
list[str]
class TIPCommon.base.job.data_models.JobParameter
classe TIPCommon.base.job.data_models.JobParameter(input_dict: MutableMapping[str, Any])
Basi: object
Un oggetto parametro di script generico.
Attributi
| Attributi | |
|---|---|
full_dict |
dict[str, Any]Il dizionario originale ricevuto dall'API. |
id |
int | NoneL'ID del parametro. |
is_mandatory |
boolDefinisci se il parametro è obbligatorio o meno. Nota: questo attributo ha la priorità su |
name |
str | NoneIl nome del parametro. |
type |
ActionParamTypeIl tipo di parametro. |
value |
AnyIl valore predefinito del parametro. Nota: questo attributo ha la priorità su |
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)
Basi: object
Rappresenta l'output JSON strutturato per un'azione.
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' = '')
Basi: object
Rappresenta la struttura di output completa di un'azione.
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>)
Basi: object
Rappresenta l'output JSON strutturato per un connettore.
class TIPCommon.base.data_models.ConnectorOutput
classe TIPCommon.base.data_models.ConnectorOutput(json_output: 'ConnectorJsonOutput | None', debug_output: 'str' = '')
Basi: object
Rappresenta la struttura di output completa per un connettore.
TIPCommon.base.data_models.alert_info_from_json
TIPCommon.base.data_models.alert_info_from_json(json_: MutableMapping[str, Any])→ AlertInfo
Crea un oggetto AlertInfo da un JSON di attributi.
Restituisce
L'oggetto AlertInfo creato.
Tipo restituito
AlertInfo
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.