TIPCommon.base
TIPCommon.base.action.action_parser.parse_case_attachment
TIPCommon.base.action.action_parser.parse_case_attachment(attachment: MutableMapping[str, Any]) → CaseAttachment
Analiza un archivo adjunto JSON y devuelve un objeto CaseAttachment.
Parámetros
| Parámetros | |
|---|---|
attachment |
Es un objeto JSON de respuesta que representa el archivo adjunto. |
Devoluciones
Es el objeto CaseAttachment analizado.
Tipo de datos que se devuelve
CaseAttachment
TIPCommon.base.action.action_parser.parse_case_comment
TIPCommon.base.action.action_parser.parse_case_comment(comment: MutableMapping[str, Any]) → CaseComment
Analiza un comentario JSON y devuelve un objeto CaseComment.
Parámetros
| Parámetros | |
|---|---|
comment |
Es un objeto JSON de respuesta que representa el comentario. |
Devoluciones
Es el objeto CaseComment analizado.
Tipo de datos que se devuelve
CaseComment
class TIPCommon.base.action.base_action.Action
class TIPCommon.base.action.base_action.Action(name: str)
Bases: ABC, Generic[ApiClient]
Una implementación de infraestructura genérica unificada para el desarrollo de acciones de Google SecOps.
La clase base Action proporciona métodos abstractos de plantilla para anular en las clases de acción heredadas, las propiedades genéricas y los flujos generales como métodos que se ejecutan cuando se llama al método run de la acción.
Parámetros
| Parámetros | |
|---|---|
name |
str
Es el nombre de la secuencia de comandos de la acción. |
Atributos
| Atributos | |
|---|---|
_soar_action |
Es el objeto del SDK de SiemplifyAction.
Tipo: |
_api_client |
Es el cliente de API de la integración.
Tipo: |
_name |
Es el nombre de la secuencia de comandos que usa esta acción.
Tipo: |
_action_start_time |
Es la hora de inicio de la acción.
Tipo: |
_logger |
Es el objeto de registro que se usa para registrar acciones.
Tipo: |
_params |
Es el contenedor de parámetros para esta acción.
Tipo: |
global_context |
Un diccionario para almacenar el contexto, si es necesario.
Tipo: |
_entity_types |
Son los tipos de entidades que admite la acción.
Tipo: |
_entities_to_update |
Son las entidades que se actualizarán cuando finalice la acción.
Tipo: |
json_results |
Son los resultados en JSON de la acción.
Tipo: |
_attachments |
Son los archivos adjuntos del resultado del caso que se agregarán.
Tipo: |
_contents |
El contenido del resultado del caso que se agregará.
Tipo: |
_data_tables |
Son las tablas de datos de resultados de casos que se agregarán.
Tipo: |
_html_reports |
Son los informes HTML de los resultados del caso que se agregarán.
Tipo: |
_links |
Son los vínculos de resultados del caso que se agregarán.
Tipo: |
_entity_insights |
Son las estadísticas de la entidad del caso que se agregarán.
Tipo: |
_case_insights |
Son las estadísticas del caso que se agregarán.
Tipo: |
_execution_state |
Es el estado de ejecución final de la acción.
Tipo: |
_result_value |
Es el valor del resultado final de la acción.
Tipo: |
_output_message |
Es el mensaje de salida de la acción cuando se ejecuta correctamente.
Tipo: |
_error_output_message |
Es el mensaje de salida de la acción cuando falla.
Tipo: |
Métodos
- run() |
Ejecuta la acción. |
- _get_adjusted_json_results() |
Ajusta el resultado JSON a una estructura en particular. |
Métodos abstractos
| Métodos abstractos | |
|---|---|
_validate_params() |
Valida los parámetros de esta acción. |
_init_managers() |
Inicializa y devuelve un objeto de administrador. |
_perform_action() |
Ejecuta la lógica principal de la acción. |
Métodos adicionales
Estos son métodos a los que se llama durante la ejecución de la acción y que afectan la fase de procesamiento de alertas, pero no es obligatorio anularlos.
_get_entity_types()_finalize_action_on_success()_finalize_action_on_failure()_on_entity_failure()_handle_timeout()_extract_action_parameters()_finalize()
Métodos de wrapper del 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()
Ejemplo
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
Devuelve un int que representa la hora de inicio de la acción en Unix.
property api_client
propertyapi_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Devuelve un objeto Apiable.
Archivos adjuntos de propiedad
property attachments: list[Attachment]
Todos los archivos adjuntos de la lista se envían al resultado del caso de forma predeterminada.
Devuelve una lista de objetos Attachment que representan las estadísticas de este caso.
property case_insights
property case_insights: list[CaseInsight]
Todas las estadísticas de casos de la lista se envían al resultado del caso de forma predeterminada.
Devuelve una lista de objetos CaseInsight que representan las estadísticas de este caso.
Contenido de property
property contents: list[Content]
Todo el contenido de la lista se envía al resultado del caso de forma predeterminada.
Devuelve una lista de objetos Content que representan las estadísticas de este caso.
property data_tables
property data_tables: list[DataTable]
De forma predeterminada, todas las tablas de datos de la lista se envían al resultado del caso.
Devuelve una lista de objetos DataTable que representan las estadísticas de este caso.
property entities_to_update
property entities_to_update: list[DomainEntityInfo]
Todas las entidades de la lista se envían a la plataforma para su actualización.
Devuelve una lista de objetos Entity que representan las entidades que se deben
actualizar en el caso.
property entity_insights
property entity_insights:
list[EntityInsight]
Todas las estadísticas de entidades de la lista se envían al resultado del caso de forma predeterminada.
Devuelve una lista de objetos EntityInsight que representan las estadísticas de este caso.
property entity_types
property entity_types:
list[EntityTypesEnum]
Si la acción funciona con entidades, solo procesa las entidades cuyo tipo esté en
la lista entity_types. De lo contrario, la acción omite la entidad.
Devuelve una lista de objetos EntityTypesEnum que representan los tipos de entidades que la acción puede procesar.
property error_output_message
property error_output_message: str
Es el mensaje de salida de la acción en caso de que falle la ejecución.
Es un mensaje de salida que debería aparecer en caso de que se produzca un error durante el tiempo de ejecución de la acción. El valor predeterminado es ActionSCRIPT_NAMEfailed.
property execution_state
property execution_state: ExecutionState
El estado de ejecución de la acción, un indicador de estado representado por un número entero que se pasa a la plataforma.
Los estados posibles son los siguientes:
ExecutionState.COMPLETED = 0ExecutionState.IN_PROGRESS = 1ExecutionState.FAILED = 2ExecutionState.TIMED_OUT = 3
Devuelve el objeto ExecutionState que representa el estado de ejecución actual.
property html_reports
property html_reports: list[HTMLReport]
Todos los informes HTML de la lista se enviarán al resultado del caso de forma predeterminada.
Devuelve una lista de objetos HTMLReport que representan las estadísticas de este caso.
propiedad is_first_run
property is_first_run: bool
Indica si esta es la primera ejecución.
Se muestra lo siguiente:
True si es la primera ejecución; de lo contrario, False.
property json_results
property json_results: Dict[str, Any] | List[Dict[str, Any]]
Devuelve el resultado JSON de la acción que se enviará al muro del caso.
Vinculaciones de propiedades
property links: list[Link]
Todos los vínculos de la lista se enviarán al resultado del caso de forma predeterminada.
Devuelve una lista de objetos Link que representan las estadísticas de este caso.
Registrador de property
property logger: NewLineLogger
Devuelve el objeto NewLineLogger para las acciones.
Nombre de la propiedad
property name: str
property output_message
property output_message: str
Es el mensaje de salida de la acción en caso de que se ejecute correctamente.
Es el mensaje de salida que resume el resultado de la acción.
Parámetros de property
property params:
[Container]
Muestra un objeto Container que describe los parámetros de la acción, con cada parámetro expuesto como un atributo en minúsculas con guiones bajos.
property result_value
property result_value: bool
Es el valor del resultado de la acción que se pasará de vuelta a la plataforma.
Valores posibles:
True: Se realizó la acción correctamenteFalse: No se pudo realizar la acción
property soar_action
property soar_action: SiemplifyAction
Devuelve el objeto SiemplifyAction del SDK.
class TIPCommon.base.action.base_enrich_action.EnrichAction
class TIPCommon.base.action.base_enrich_action.EnrichAction(name: str)
Bases: Action
Es una clase que representa una acción de enriquecimiento de entidades.
Esta clase hereda de la clase TIPCommon.base.actions.base_action::Action.
Parámetros
| Parámetros | |
|---|---|
name |
strEs el nombre de la acción. |
Atributos
| Atributos | |
|---|---|
enrichment_data |
Este atributo contiene los datos de enriquecimiento de la entidad actual en
cada una de las iteraciones de la entidad. Al final de cada iteración, el atributo Tipo: |
entity_results |
Son los resultados de la entidad incluidos en el resultado JSON de este objeto.
Tipo: Cualquiera |
global_context |
Un diccionario para almacenar el contexto si es necesario. Tipo: |
Métodos abstractos
| Métodos abstractos | |
|---|---|
_get_entity_types() |
Obtiene el tipo de entidades en las que se ejecuta la acción. |
_perform_enrich_action() |
Realiza la lógica de enriquecimiento principal en una entidad. |
Métodos privados
| Métodos privados | |
|---|---|
_perform_action() |
Este método combina los otros métodos abstractos con más lógica de enriquecimiento lista para usar y la pasa a la clase superior para que la use en el método |
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 = 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
class TIPCommon.base.action.data_models.Attachment(filename: str, file_contents: bytes, title: str = 'Script Result Attachment', additional_data: dict | None = None)
Bases: object
Un archivo adjunto de resultado de secuencia de comandos de acción.
Esta clase es inmutable: una vez creada, no se pueden modificar sus atributos. Admite
el hashing (por ejemplo, el uso en conjuntos o como claves de diccionario) y la comparación de igualdad
con el operador ==.
Atributos
| Atributos | |
|---|---|
title |
Es el título del archivo adjunto. Tipo: |
filename |
Es el nombre del archivo adjunto. Tipo: |
file_contents |
Es el contenido del archivo adjunto. Tipo: |
additional_data |
Datos adicionales. Tipo: |
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: object
Un archivo adjunto de un caso.
Esta clase es inmutable; después de asignar valores y crear el objeto,
no se pueden asignar valores nuevos a los atributos. La clase admite el hashing (almacenado en un conjunto o como una clave de diccionario) y el operador ==.
Atributos
| Atributos | |
|---|---|
attachment_id |
intEs el ID del archivo adjunto. |
attachment_type |
strEs el tipo de archivo adjunto. |
description |
strEs la descripción del adjunto. |
is_favorite |
boolIndica si el archivo adjunto está marcado como favorito. |
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: object
Un comentario del caso.
Esta clase es inmutable. Después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el hashing (almacenado en un conjunto o como una clave de diccionario) y el operador ==.
Atributos
| Atributos | |
|---|---|
comment |
strEl comentario |
comment_for_client |
str | NoneEs el comentario para el cliente. |
modification_time_unix_time_in_ms_for_client |
int
Es la hora de modificación de |
last_editor |
str
Es el ID del último editor, como 77bdb7a4-8484-481d-9482-2449e33f9518. |
last_editor_full_name |
str
Es el nombre completo del último usuario editor, como admin admin. |
is_deleted |
bool
Indica si el comentario ya se borró. |
creator_user_id |
str
Es el ID de usuario del creador, como 77bdb7a4-8484-481d-9482-2449e33f9518. |
creator_full_name |
str
Es el nombre completo del creador, como Sistema. |
comment_id |
intEs el ID del comentario. |
comment_type |
intEs el tipo de comentario. |
case_id |
intEs el ID del caso. |
is_favorite |
bool
Indica si el comentario está marcado como favorito. |
modification_time_unix_time_in_ms |
int
Es la hora de la última modificación del comentario en Unix, como 1686040471269. |
creation_time_unix_time_in_ms |
int
La hora de creación del comentario en Unix, como 1686040471269. |
alert_identifier |
strEs el identificador de la alerta, como 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: object
Una estadística del caso.
Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el hashing (almacenado en un conjunto o como una clave de diccionario) y el operador ==.
Atributos
| Atributos | |
|---|---|
title |
strEs el título de la estadística. |
triggered_by |
strEs el nombre de la integración. |
content |
strEs el mensaje de la estadística. |
severity |
InsightSeverityGravedad de la estadística. Los valores posibles son:
|
insight_type |
InsightTypeEs el tipo de estadística. Los valores posibles son:
|
entity_identifier |
str | NoneEs el identificador de la entidad. |
additional_data |
Any | NoneDatos adicionales. |
additional_data_type |
Any | NoneEs el tipo de datos adicionales. |
additional_data_title |
str | NoneEs el título de los datos adicionales. |
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 = 100HIGH = 80INFORMATIONAL = 0LOW = 40MEDIUM = 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 = 3MAINTENANCE = 2MALICIOUS = 0NOT_MALICIOUS = 1
class TIPCommon.base.action.data_models.Content
class TIPCommon.base.action.data_models.Content(content: str, title: str = 'Script Result Content')
Bases: object
Es el contenido del resultado de la secuencia de comandos de una acción.
Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el hashing
(almacenado en un conjunto o como una clave dict) y el operador ==.
Atributos
| Atributos | |
|---|---|
title |
str | NoneEs el título del contenido. |
content |
strEs el contenido que se agregará a los resultados de la secuencia de comandos. |
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: object
Es una tabla de datos de resultados de secuencias de comandos de acciones.
Esta clase es inmutable. Después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el hashing (almacenado en un conjunto o como una clave de diccionario) y el operador ==.
Atributos
| Atributos | |
|---|---|
title |
str | NoneEs el título de la tabla. |
data_table |
list[str]Es una lista de filas de CSV que construyen la tabla. |
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: object
Es una estadística de entidad.
Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el hashing (almacenado en un conjunto o como una clave de diccionario) y el operador ==.
Atributos
| Atributos | |
|---|---|
entity |
EntityEs el objeto de entidad. |
message |
strEs el mensaje de la estadística. |
triggered_by |
str | NoneEs el nombre de la integración. |
original_requesting_user |
str | NoneEl usuario original. |
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 = 0FAILED = 2IN_PROGRESS = 1TIMED_OUT = 3
class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter
class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter(input_dict: dict[str, Any])
Bases: object
Es un objeto de parámetro de secuencia de comandos general.
Atributos
| Atributos | |
|---|---|
full_dict |
dict[str, Any]Es el diccionario original que se recibió de la API. |
id |
int | NoneEs el ID del parámetro. |
integration_identifier |
strEs el identificador de la integración, como VirusTotalV3. |
creation_time |
intEs la hora en la que se creó el parámetro. |
modification_time |
intEs la hora en la que se modificó el parámetro por última vez. |
is_mandatory |
boolDefine si el parámetro es obligatorio o no. |
description |
str | NoneEs la descripción del parámetro. |
name |
strEs el nombre del parámetro. |
display_name |
strEs el nombre visible del parámetro. |
value |
AnyEs el valor predeterminado del parámetro. |
type |
IntegrationParamTypeEl tipo del parámetro. |
optional_values |
listUn DDL de valores opcionales para el DDL de tipo. |
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: object
Es un vínculo de resultado de secuencia de comandos de acción.
Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el hashing (almacenado en un conjunto o como una clave de diccionario) y el operador ==.
Atributos
| Atributos | |
|---|---|
title |
str | NoneEs el título del vínculo. |
report_name |
strEs el nombre del informe. |
report_contents |
strEs el contenido HTML del informe. |
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 = 0EMAIL = 8INTEGER = 1IP = 4NULL = -1PASSWORD = 3STRING = 2
class TIPCommon.base.action.data_models.Link
class TIPCommon.base.action.data_models.Link(link: str, title: str = 'Script Result Link')
Bases: object
Es un vínculo de resultado de secuencia de comandos de acción.
Esta clase es inmutable: después de asignar valores y crear el objeto, no se pueden asignar valores nuevos a los atributos. La clase admite el hashing (almacenado en un conjunto o como una clave de diccionario) y el operador ==.
Atributos
| Atributos | |
|---|---|
title |
str | NoneEs el título del vínculo. |
link |
strEl vínculo. |
class TIPCommon.base.action.data_models.ScriptParameter
class TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any]
Bases: object
Es un objeto de parámetro de secuencia de comandos general.
Atributos
| Atributos | |
|---|---|
full_dict |
dict[str, Any]Es el diccionario original recibido de la API. |
id |
int | NoneEs el ID del parámetro. |
creation_time |
intEs la hora en la que se creó el parámetro. |
modification_time |
intEs la hora en la que se modificó el parámetro por última vez. |
custom_action_id |
int | NoneEs el ID de acción. |
is_mandatory |
boolIndica si el parámetro es obligatorio o no. |
default_value |
AnyEs el valor predeterminado del parámetro. Este parámetro tiene prioridad sobre el parámetro |
description |
str | NoneEs la descripción del parámetro. |
name |
str | NoneEs el nombre del parámetro. |
value |
AnyEl valor del parámetro. Este valor se prioriza sobre el parámetro |
type |
ActionParamTypeEl tipo del parámetro. |
optional_values |
listDDL de valores opcionales para el tipo DDL. |
class TIPCommon.base.interfaces.apiable.Apiable
class TIPCommon.base.interfaces.apiable.Apiable(authenticated_session: AuthenticatedSession, configuration: ApiParams)
Bases: ABC, Generic[ApiParams]
Es una interfaz para clases que administran llamadas a la API a servicios externos.
class TIPCommon.base.interfaces.authable.Authable
class TIPCommon.base.interfaces.authable.Authable
Bases: ABC, Generic[AuthParams]
Es una interfaz para las clases que administran la autenticación con servicios externos.
Métodos abstractos
| Métodos abstractos | |
|---|---|
authenticat_session(params: Authparams) → None |
Autentica el atributo self.session de la clase con params.
Este método te autentica en el servicio con el que interactúa la sesión, después de crear un objeto con esa sesión. |
Atributos
| Atributos | |
|---|---|
params |
object, dataclass, TypedDict, namedtuple o cualquier elemento que contenga todos los parámetros de autenticación.Son los parámetros de autenticación. |
class TIPCommon.base.interfaces.logger.Logger
class TIPCommon.base.interfaces.logger.Logger
Bases: ABC
Es una interfaz de registro diseñada para las secuencias de comandos de Content Hub que verifica la compatibilidad cuando se reemplaza o simula el registrador pasado.
Métodos abstractos
| Métodos abstractos | |
|---|---|
debug(msg: str, *args, **kwargs) → None |
Registra un mensaje de depuración. |
error(error_msg: str, *args, **kwargs) → None |
Registra un mensaje de error. |
exception(ex: Exception, *args, **kwargs) → None |
Registra un mensaje de excepción. |
info(msg: str, *args, **kwargs) → None |
Registra un mensaje de información. |
warn(warning_msg: str, *args, **kwargs) → None |
Registra un mensaje de advertencia. |
class TIPCommon.base.interfaces.session.Session
class TIPCommon.base.interfaces.session.Session
Bases: ABC, Generic[_R]
Esta clase administra las sesiones de la API con un objeto de sesión. Admite varios tipos de sesiones y simulaciones con bibliotecas como requests o httpx.
Atributos
| Atributos | |
|---|---|
headers |
dict |
verify |
bool |
Métodos abstractos
| Métodos abstractos | |
|---|---|
delete(url: str, *args, **kwargs)→ _R |
Borra un recurso del servidor. |
get(url: str, *args, **kwargs)→ _R |
Obtiene un recurso del servidor. |
patch(url: str, *args, **kwargs) → _R |
Aplica un parche a un recurso en el servidor. |
post(url: str, *args, **kwargs) → _R |
Publica un recurso en el servidor. |
put(url: str, *args, **kwargs) → _R |
Coloca (actualiza o crea) un recurso en el servidor. |
request(method: str, *args, **kwargs) → _R |
Realiza una solicitud al servidor. |
class TIPCommon.base.job.base_job.Job
class TIPCommon.base.job.base_job.Job(name: str)
Bases: ABC, Generic[ApiClient]
Es una clase que representa una secuencia de comandos de trabajo en Google SecOps.
Métodos
start(**kwargs) → None
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Proporciona el cliente o los clientes de API para interactuar con servicios externos.
property error_msg
property error_msg: str
Almacena cualquier mensaje de error que se haya producido durante la ejecución del trabajo.
Propiedad job_start_time
property job_start_time: int
Representa la marca de tiempo en la que se inició el trabajo.
Registrador de property
property logger: ScriptLogger
Proporciona la funcionalidad de registro para la secuencia de comandos del trabajo.
Nombre de la propiedad
property name: str
Contiene el nombre de la secuencia de comandos del trabajo.
Parámetros de property
property params: Container
Contiene los parámetros de configuración proporcionados al trabajo.
property soar_job
property soar_job: SiemplifyJob
Representa la instancia de trabajo subyacente de Google SecOps.
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]
En esta sección, se describen los métodos de ciclo de vida que influyen en el procesamiento de trabajos. No es necesario que las subclases las anulen.
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Contiene el cliente o los clientes de API que se usan para las interacciones con servicios externos.
class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple
class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple(success_list, failure_list)
Bases: tuple
Atributos
| Atributos | |
|---|---|
success_list |
Alias para el campo número 0. |
failure_list |
Es el alias del campo número 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]
Valida y analiza un valor de parámetro separado por comas en una lista de elementos únicos. Esta función controla valores únicos, cadenas entre comillas y formatos mixtos.
Parámetros
| Parámetros | |
|---|---|
param_name |
Es la clave del parámetro. |
param_csv_value |
Es el valor del parámetro proporcionado en el parámetro job.
Si es None, se devuelve una lista vacía. |
Se genera el error
ValueError: Cuando el recuento de comillas dobles no es válido, algunos valores no son válidos
o algunos valores tienen comillas dobles que no coinciden.
Devoluciones
Es una lista de valores únicos proporcionados en el parámetro del trabajo. Si no se encuentran valores válidos, se devuelve una lista vacía.
Tipo de datos que se devuelve
list[str]
class TIPCommon.base.job.data_models.JobParameter
class TIPCommon.base.job.data_models.JobParameter(input_dict: MutableMapping[str, Any])
Bases: object
Es un objeto de parámetro de secuencia de comandos general.
Atributos
| Atributos | |
|---|---|
full_dict |
dict[str, Any]Es el dict original recibido de la API. |
id |
int | NoneEs el ID del parámetro. |
is_mandatory |
boolDefine si el parámetro es obligatorio o no. Nota: Este atributo se prioriza sobre |
name |
str | NoneEs el nombre del parámetro. |
type |
ActionParamTypeEl tipo del parámetro. |
value |
AnyEs el valor predeterminado del parámetro. Nota: Este atributo se prioriza sobre |
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: object
Representa el resultado JSON estructurado de una acción.
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: object
Representa la estructura de salida completa de una acción.
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: object
Representa el resultado JSON estructurado de un conector.
class TIPCommon.base.data_models.ConnectorOutput
class TIPCommon.base.data_models.ConnectorOutput(json_output: 'ConnectorJsonOutput | None', debug_output: 'str' = '')
Bases: object
Representa la estructura de salida completa de un conector.
TIPCommon.base.data_models.alert_info_from_json
TIPCommon.base.data_models.alert_info_from_json(json_: MutableMapping[str, Any])→ AlertInfo
Crea un objeto AlertInfo a partir de un JSON de atributos.
Devoluciones
Es el objeto AlertInfo creado.
Tipo de datos que se devuelve
AlertInfo
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.