TIPCommon.base
TIPCommon.base.action.action_parser.parse_case_attachment
TIPCommon.base.action.action_parser.parse_case_attachment(attachment: MutableMapping[str, Any]) → CaseAttachment
JSON 첨부파일을 파싱하고 CaseAttachment
객체를 반환합니다.
매개변수
매개변수 | |
---|---|
attachment |
첨부파일을 나타내는 응답 JSON 객체입니다. |
반환
파싱된 CaseAttachment
객체입니다.
반환 유형
CaseAttachment
TIPCommon.base.action.action_parser.parse_case_comment
TIPCommon.base.action.action_parser.parse_case_comment(comment: MutableMapping[str, Any]) → CaseComment
JSON 주석을 파싱하고 CaseComment
객체를 반환합니다.
매개변수
매개변수 | |
---|---|
comment |
댓글을 나타내는 응답 JSON 객체입니다. |
반환
파싱된 CaseComment
객체입니다.
반환 유형
CaseComment
class TIPCommon.base.action.base_action.Action
클래스 TIPCommon.base.action.base_action.Action(name: str)
기본: ABC, Generic[ApiClient]
Google SecOps 작업 개발을 위한 통합 일반 인프라 구현입니다.
Action 기본 클래스는 상속된 작업 클래스에서 재정의할 템플릿 추상 메서드, 일반 속성, 작업의 실행 메서드를 호출할 때 실행되는 메서드로서 일반 흐름을 제공합니다.
매개변수
매개변수 | |
---|---|
name |
str
작업의 스크립트 이름입니다. |
속성
속성 | |
---|---|
_soar_action |
SiemplifyAction SDK 객체입니다.
유형: |
_api_client |
통합의 API 클라이언트입니다.
유형: |
_name |
이 작업을 사용하는 스크립트의 이름입니다.
유형: |
_action_start_time |
작업 시작 시간입니다.
유형: |
_logger |
작업 로깅에 사용되는 로거 객체입니다.
유형: |
_params |
이 작업의 매개변수 컨테이너입니다.
유형: |
global_context |
필요한 경우 컨텍스트를 저장하는 사전입니다.
유형: |
_entity_types |
작업에서 지원하는 항목 유형입니다.
유형: |
_entities_to_update |
작업이 종료될 때 업데이트할 항목입니다.
유형: |
json_results |
작업의 JSON 결과입니다.
유형: |
_attachments |
추가할 케이스 결과 첨부파일입니다.
유형: |
_contents |
추가할 케이스 결과 콘텐츠입니다.
유형: |
_data_tables |
추가할 케이스 결과 데이터 테이블입니다.
유형: |
_html_reports |
추가할 케이스 결과 HTML 보고서입니다.
유형: |
_links |
추가할 케이스 결과 링크입니다.
유형: |
_entity_insights |
추가할 케이스 엔티티 통계입니다.
유형: |
_case_insights |
추가할 케이스 통계입니다.
유형: |
_execution_state |
작업의 최종 실행 상태입니다.
유형: |
_result_value |
작업 최종 결과 값입니다.
유형: |
_output_message |
작업이 성공했을 때의 출력 메시지입니다.
유형: |
_error_output_message |
작업이 실패할 때의 작업 출력 메시지입니다.
유형: |
메서드
- run() |
작업 실행을 실행합니다. |
- _get_adjusted_json_results() |
JSON 결과를 특정 구조로 조정합니다. |
추상 메서드
추상 메서드 | |
---|---|
_validate_params() |
이 작업의 매개변수를 검증합니다. |
_init_managers() |
관리자 객체를 초기화하고 반환합니다. |
_perform_action() |
작업의 기본 로직을 실행합니다. |
추가 방법
이는 작업 실행 중에 호출되고 알림 처리 단계에 영향을 미치지만 재정의할 필요는 없는 메서드입니다.
_get_entity_types()
_finalize_action_on_success()
_finalize_action_on_failure()
_on_entity_failure()
_handle_timeout()
_extract_action_parameters()
_finalize()
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()
예
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
Unix에서 작업 시작 시간을 나타내는 int
를 반환합니다.
property api_client
propertyapi_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Apiable 객체를 반환합니다.
property 첨부파일
property attachments: list[Attachment]
목록에 있는 모든 첨부파일은 기본적으로 케이스 결과로 전송됩니다.
이 케이스의 통계를 나타내는 Attachment
객체 목록을 반환합니다.
property case_insights
property case_insights: list[CaseInsight]
목록의 모든 케이스 통계는 기본적으로 케이스 결과로 전송됩니다.
이 케이스의 통계를 나타내는 CaseInsight
객체 목록을 반환합니다.
property 콘텐츠
property contents: list[Content]
모든 목록 콘텐츠는 기본적으로 케이스 결과로 전송됩니다.
이 케이스의 통계를 나타내는 콘텐츠 객체 목록을 반환합니다.
property data_tables
property data_tables: list[DataTable]
기본적으로 목록의 모든 데이터 테이블이 케이스 결과로 전송됩니다.
이 케이스의 통계를 나타내는 DataTable 객체 목록을 반환합니다.
property entities_to_update
property entities_to_update: list[DomainEntityInfo]
목록의 모든 항목은 업데이트를 위해 플랫폼으로 전송됩니다.
케이스에서 업데이트해야 하는 항목을 나타내는 Entity
객체 목록을 반환합니다.
property entity_insights
property entity_insights:
list[EntityInsight]
목록의 모든 항목 통계는 기본적으로 케이스 결과로 전송됩니다.
이 케이스의 통계를 나타내는 EntityInsight
객체 목록을 반환합니다.
property entity_types
property entity_types:
list[EntityTypesEnum]
작업이 항목과 함께 작동하는 경우 유형이 entity_types
목록에 있는 항목만 처리합니다. 그렇지 않으면 작업에서 엔티티를 건너뜁니다.
작업에서 처리할 수 있는 항목 유형을 나타내는 EntityTypesEnum
객체 목록을 반환합니다.
property error_output_message
property error_output_message: str
실패한 실행의 경우 작업 출력 메시지입니다.
작업 런타임 중에 실패할 경우 표시되어야 하는 출력 메시지입니다. 기본값은 Action
SCRIPT_NAME
failed
입니다.
property execution_state
property execution_state: ExecutionState
작업의 실행 상태입니다. 플랫폼에 다시 전달하기 위해 정수로 표시되는 상태 표시기입니다.
가능한 상태는 다음과 같습니다.
ExecutionState.COMPLETED = 0
ExecutionState.IN_PROGRESS = 1
ExecutionState.FAILED = 2
ExecutionState.TIMED_OUT = 3
현재 실행 상태를 나타내는 ExecutionState
객체를 반환합니다.
property html_reports
property html_reports: list[HTMLReport]
목록에 있는 모든 HTML 보고서는 기본적으로 케이스 결과로 전송됩니다.
이 케이스의 통계를 나타내는 HTMLReport
객체 목록을 반환합니다.
property is_first_run
property is_first_run: bool
첫 번째 실행인지 여부를 나타냅니다.
반환:
첫 번째 실행인 경우 True
, 그렇지 않으면 False
입니다.
property json_results
property json_results: Dict[str, Any] | List[Dict[str, Any]]
케이스 월에 전송할 작업의 JSON 결과를 반환합니다.
속성 링크
property links: list[Link]
목록에 있는 모든 링크는 기본적으로 케이스 결과로 전송됩니다.
이 케이스의 통계를 나타내는 Link
객체 목록을 반환합니다.
property 로거
property logger: NewLineLogger
작업의 NewLineLogger
객체를 반환합니다.
property 이름
property name: str
property output_message
property output_message: str
실행이 성공한 경우 작업의 출력 메시지입니다.
작업 결과를 요약하는 출력 메시지입니다.
property 매개변수
property params:
[Container]
각 매개변수가 snake_case 속성으로 노출된 작업의 매개변수를 설명하는 Container
객체를 반환합니다.
property result_value
property result_value: bool
플랫폼에 다시 전달할 작업의 결과 값입니다.
가능한 값은 다음과 같습니다.
True
: 작업 성공False
: 작업 실패
property soar_action
property soar_action: SiemplifyAction
SDK SiemplifyAction
객체를 반환합니다.
class TIPCommon.base.action.base_enrich_action.EnrichAction
클래스 TIPCommon.base.action.base_enrich_action.EnrichAction(name: str)
기본: Action
엔티티 보강 작업을 나타내는 클래스입니다.
이 클래스는 TIPCommon.base.actions.base_action::Action
클래스에서 상속받습니다.
매개변수
매개변수 | |
---|---|
name |
str 작업의 이름입니다. |
속성
속성 | |
---|---|
enrichment_data |
이 속성은 각 항목 반복에서 현재 항목의 보강 데이터를 보유합니다. 각 반복이 끝나면 항목의 유형: |
entity_results |
이 객체의 JSON 출력에 포함된 항목 결과입니다.
유형: Any |
global_context |
필요한 경우 컨텍스트를 저장하는 사전입니다. 유형: |
추상 메서드
추상 메서드 | |
---|---|
_get_entity_types() |
작업이 실행되는 항목 유형을 가져옵니다. |
_perform_enrich_action() |
엔티티에서 기본 보강 로직을 실행합니다. |
비공개 메서드
비공개 메서드 | |
---|---|
_perform_action() |
이 메서드는 다른 추상 메서드를 더 많은 OOTB 보강 로직과 결합하고 |
class TIPCommon.base.action.data_models.ActionParamType
클래스 TIPCommon.base.action.data_models.ActionParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
기본: 열거형
상수
BOOLEAN = 1
CASE_PRIORITIES = 7
CLOSE_CASE_REASONS = 5
CLOSE_ROOT_CAUSE = 6
CODE = 20
CONTENT = 11
DDL = 15
EMAIL_CONTENT = 10
ENTITY_TYPE = 13
MULTI_VALUES = 14
NULL = -1
PASSWORD = 12
PLAYBOOK_NAME = 2
STAGE = 4
STRING = 0
USER = 3
class TIPCommon.base.action.data_models.Attachment
클래스 TIPCommon.base.action.data_models.Attachment(filename: str, file_contents: bytes, title: str = 'Script Result Attachment', additional_data: dict | None = None)
기본: object
작업 스크립트 결과 첨부파일입니다.
이 클래스는 변경할 수 없습니다. 생성된 후에는 속성을 수정할 수 없습니다. ==
연산자를 사용하여 해싱 (예: 집합에서 사용하거나 사전 키로 사용) 및 동등 비교를 지원합니다.
속성
속성 | |
---|---|
title |
첨부파일의 제목입니다. 유형: |
filename |
첨부파일의 파일 이름입니다. 유형: |
file_contents |
첨부 파일의 콘텐츠입니다. 유형: |
additional_data |
추가 데이터입니다. 유형: |
class TIPCommon.base.action.data_models.CaseAttachment
클래스 TIPCommon.base.action.data_models.CaseAttachment(attachment_id: int, attachment_type: str, description: str, is_favorite: bool)
기본: object
케이스 첨부파일입니다.
이 클래스는 변경할 수 없습니다. 값을 할당하고 객체를 만든 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 ==
연산자를 지원합니다.
속성
속성 | |
---|---|
attachment_id |
int 첨부파일 ID입니다. |
attachment_type |
str 첨부파일의 유형입니다. |
description |
str 첨부파일에 대한 설명입니다. |
is_favorite |
bool 첨부파일이 즐겨찾기로 표시되었는지 여부를 나타냅니다. |
class TIPCommon.base.action.data_models.CaseComment
클래스 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)
기본: object
케이스 댓글입니다.
이 클래스는 변경할 수 없습니다. 값을 할당하고 객체를 생성한 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 ==
연산자를 지원합니다.
속성
속성 | |
---|---|
comment |
str 댓글입니다. |
comment_for_client |
str | None 클라이언트의 의견입니다. |
modification_time_unix_time_in_ms_for_client |
int
|
last_editor |
str
마지막 편집자의 ID입니다(예: 77bdb7a4-8484-481d-9482-2449e33f9518). |
last_editor_full_name |
str
마지막 편집자 사용자의 전체 이름입니다(예: admin admin). |
is_deleted |
bool
댓글이 이미 삭제되었는지 여부를 나타냅니다. |
creator_user_id |
str
생성자 사용자 ID(예: 77bdb7a4-8484-481d-9482-2449e33f9518) |
creator_full_name |
str
생성자의 전체 이름입니다(예: 시스템). |
comment_id |
int 댓글의 ID입니다. |
comment_type |
int 댓글 유형입니다. |
case_id |
int 케이스의 ID입니다. |
is_favorite |
bool
댓글이 즐겨찾기로 표시되었는지 여부를 나타냅니다. |
modification_time_unix_time_in_ms |
int
댓글의 마지막 수정 시간(Unix)(예: 1686040471269) |
creation_time_unix_time_in_ms |
int
댓글의 생성 시간(Unix)(예: 1686040471269)입니다. |
alert_identifier |
str 알림의 식별자입니다(예: SUSPICIOUS PHISHING EMAIL_83765943-9437-4771-96F6-BD0FB291384E). |
class TIPCommon.base.action.data_models.CaseInsight
클래스 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)
기본: object
케이스 통계입니다.
이 클래스는 불변입니다. 값을 할당하고 객체를 생성한 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 ==
연산자를 지원합니다.
속성
속성 | |
---|---|
title |
str 통계의 제목입니다. |
triggered_by |
str 통합 이름입니다. |
content |
str 통계 메시지입니다. |
severity |
InsightSeverity 통계 심각도입니다. 가능한 값은 다음과 같습니다.
|
insight_type |
InsightType 통계 유형입니다. 가능한 값은 다음과 같습니다.
|
entity_identifier |
str | None 항목의 식별자입니다. |
additional_data |
Any | None 추가 데이터입니다. |
additional_data_type |
Any | None 추가 데이터의 유형입니다. |
additional_data_title |
str | None 추가 데이터의 제목입니다. |
class TIPCommon.base.action.data_models.CasePriority
클래스 TIPCommon.base.action.data_models.CasePriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
기본: 열거형
상수
CRITICAL = 100
HIGH = 80
INFORMATIONAL = 0
LOW = 40
MEDIUM = 60
class TIPCommon.base.action.data_models.CaseStage
클래스 TIPCommon.base.action.data_models.CaseStage(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
기본: 열거형
상수
ASSESSMENT = 'Assessment'
IMPROVEMENT = 'Improvement'
INCIDENT = 'Incident'
INVESTIGATION = 'Investigation'
RESEARCH = 'Research'
TRIAGE = 'Triage'
class TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses
클래스 TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
기본: 열거형
상수
NO_CLEAR_CONCLUSION = 'No clear conclusion'
class TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses
클래스 TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
기본: 열거형
상수
LAB_TEST = 'Lab test'
OTHER = 'Other'
RULE_UNDER_CONSTRUCTION = 'Rule under construction'
class TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses
클래스 TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
기본: 열거형
상수
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
클래스 TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
기본: 열거형
상수
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
클래스 TIPCommon.base.action.data_models.CloseCaseOrAlertReasons(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
기본: 열거형
### 상수
INCONCLUSIVE = 3
MAINTENANCE = 2
MALICIOUS = 0
NOT_MALICIOUS = 1
class TIPCommon.base.action.data_models.Content
클래스 TIPCommon.base.action.data_models.Content(content: str, title: str = 'Script Result Content')
기본: object
작업 스크립트 결과 콘텐츠입니다.
이 클래스는 불변입니다. 값을 할당하고 객체를 생성한 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 ==
연산자를 지원합니다.
속성
속성 | |
---|---|
title |
str | None 콘텐츠의 제목입니다. |
content |
str 스크립트 결과에 추가할 콘텐츠입니다. |
class TIPCommon.base.action.data_models.DataTable
클래스 TIPCommon.base.action.data_models.DataTable(data_table: list[str], title: str = 'Script Result Data Table')
기본: object
작업 스크립트 결과 데이터 테이블입니다.
이 클래스는 변경할 수 없습니다. 값을 할당하고 객체를 생성한 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 ==
연산자를 지원합니다.
속성
속성 | |
---|---|
title |
str | None 표의 제목입니다. |
data_table |
list[str] 표를 구성하는 CSV 행 목록입니다. |
class TIPCommon.base.action.data_models.EntityInsight
클래스 TIPCommon.base.action.data_models.EntityInsight(entity: DomainEntityInfo, message: str, triggered_by: str | None = None, original_requesting_user: str | None = None)
기본: object
항목 통계입니다.
이 클래스는 불변입니다. 값을 할당하고 객체를 생성한 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 ==
연산자를 지원합니다.
속성
속성 | |
---|---|
entity |
Entity 엔티티 객체입니다. |
message |
str 통계의 메시지입니다. |
triggered_by |
str | None 통합의 이름입니다. |
original_requesting_user |
str | None 원본 사용자입니다. |
class TIPCommon.base.action.data_models.EntityTypesEnum
클래스 TIPCommon.base.action.data_models.EntityTypesEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
기본: 열거형
상수
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
클래스 TIPCommon.base.action.data_models.ExecutionState(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
기본: 열거형
상수
COMPLETED = 0
FAILED = 2
IN_PROGRESS = 1
TIMED_OUT = 3
class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter
클래스 TIPCommon.base.action.data_models.FullDetailsConfigurationParameter(input_dict: dict[str, Any])
기본: object
일반 스크립트 매개변수 객체입니다.
속성
속성 | |
---|---|
full_dict |
dict[str, Any] API에서 수신한 원래 사전입니다. |
id |
int | None 매개변수의 ID입니다. |
integration_identifier |
str 통합 식별자(예: VirusTotalV3)입니다. |
creation_time |
int 매개변수가 생성된 시간입니다. |
modification_time |
int 매개변수가 마지막으로 수정된 시간입니다. |
is_mandatory |
bool 매개변수가 필수인지 여부를 정의합니다. |
description |
str | None 매개변수 설명입니다. |
name |
str 매개변수 이름입니다. |
display_name |
str 파라미터의 표시 이름입니다. |
value |
Any 매개변수의 기본값입니다. |
type |
IntegrationParamType 매개변수의 유형입니다. |
optional_values |
list DDL 유형의 선택적 값 DDL입니다. |
class TIPCommon.base.action.data_models.HTMLReport
클래스 TIPCommon.base.action.data_models.HTMLReport(report_name: str, report_contents: str, title: str = 'Script Result HTML Report')
기본: object
작업 스크립트 결과 링크입니다.
이 클래스는 불변입니다. 값을 할당하고 객체를 생성한 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 ==
연산자를 지원합니다.
속성
속성 | |
---|---|
title |
str | None 링크의 제목입니다. |
report_name |
str 보고서의 이름입니다. |
report_contents |
str 보고서의 HTML 콘텐츠입니다. |
class TIPCommon.base.action.data_models.IntegrationParamType
클래스 TIPCommon.base.action.data_models.IntegrationParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
기본: 열거형
상수
BOOLEAN = 0
EMAIL = 8
INTEGER = 1
IP = 4
NULL = -1
PASSWORD = 3
STRING = 2
class TIPCommon.base.action.data_models.Link
클래스 TIPCommon.base.action.data_models.Link(link: str, title: str = 'Script Result Link')
기본: object
작업 스크립트 결과 링크입니다.
이 클래스는 불변입니다. 값을 할당하고 객체를 생성한 후에는 속성에 새 값을 할당할 수 없습니다. 이 클래스는 해싱(세트 또는 dict 키로 저장됨)과 ==
연산자를 지원합니다.
속성
속성 | |
---|---|
title |
str | None 링크의 제목입니다. |
link |
str 링크입니다. |
class TIPCommon.base.action.data_models.ScriptParameter
클래스 TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any]
기본: object
일반 스크립트 매개변수 객체입니다.
속성
속성 | |
---|---|
full_dict |
dict[str, Any] API에서 수신된 원래 사전입니다. |
id |
int | None 매개변수의 ID입니다. |
creation_time |
int 매개변수가 생성된 시간입니다. |
modification_time |
int 매개변수가 마지막으로 수정된 시간입니다. |
custom_action_id |
int | None 작업 ID입니다. |
is_mandatory |
bool 파라미터가 필수인지 여부를 나타냅니다. |
default_value |
Any 매개변수의 기본값입니다. 이 매개변수는 플레이북의 |
description |
str | None 매개변수 설명입니다. |
name |
str | None 매개변수 이름입니다. |
value |
Any 매개변수의 값입니다. 이 값은 수동 작업의 |
type |
ActionParamType 매개변수의 유형입니다. |
optional_values |
list DDL 유형의 선택적 값의 DDL입니다. |
class TIPCommon.base.interfaces.apiable.Apiable
클래스 TIPCommon.base.interfaces.apiable.Apiable(authenticated_session: AuthenticatedSession, configuration: ApiParams)
기반: ABC, Generic[ApiParams]
외부 서비스에 대한 API 호출을 관리하는 클래스의 인터페이스입니다.
class TIPCommon.base.interfaces.authable.Authable
클래스 TIPCommon.base.interfaces.authable.Authable
기반: ABC, Generic[AuthParams]
외부 서비스와의 인증을 관리하는 클래스의 인터페이스입니다.
추상 메서드
추상 메서드 | |
---|---|
authenticat_session(params: Authparams) → None |
params 을 사용하여 클래스의 self.session 속성을 인증합니다.
이 메서드는 세션을 사용하여 객체를 만든 후 세션과 상호작용하는 서비스에 사용자를 인증합니다. |
속성
속성 | |
---|---|
params |
object , dataclass , TypedDict , namedtuple 또는 모든 인증 매개변수를 보유하는 항목인증 매개변수입니다. |
class TIPCommon.base.interfaces.logger.Logger
클래스 TIPCommon.base.interfaces.logger.Logger
기본: ABC
전달된 로거가 대체되거나 모의로 처리될 때 호환성을 확인하는 마켓 스크립트용으로 설계된 로거 인터페이스입니다.
추상 메서드
추상 메서드 | |
---|---|
debug(msg: str, *args, **kwargs) → None |
디버그 메시지를 로깅합니다. |
error(error_msg: str, *args, **kwargs) → None |
오류 메시지를 로깅합니다. |
exception(ex: Exception, *args, **kwargs) → None |
예외 메시지를 로깅합니다. |
info(msg: str, *args, **kwargs) → None |
정보 메시지를 로깅합니다. |
warn(warning_msg: str, *args, **kwargs) → None |
경고 메시지를 로깅합니다. |
class TIPCommon.base.interfaces.session.Session
클래스 TIPCommon.base.interfaces.session.Session
기본: ABC, Generic[_R]
이 클래스는 세션 객체를 사용하여 API 세션을 관리합니다. requests
또는 httpx
와 같은 라이브러리를 사용하여 다양한 세션 유형과 모의를 지원합니다.
속성
속성 | |
---|---|
headers |
dict |
verify |
bool |
추상 메서드
추상 메서드 | |
---|---|
delete(url: str, *args, **kwargs)→ _R |
서버에서 리소스를 삭제합니다. |
get(url: str, *args, **kwargs)→ _R |
서버에서 리소스를 가져옵니다. |
patch(url: str, *args, **kwargs) → _R |
서버의 리소스를 패치합니다. |
post(url: str, *args, **kwargs) → _R |
서버에 리소스를 게시합니다. |
put(url: str, *args, **kwargs) → _R |
서버에 리소스를 배치 (업데이트 또는 생성)합니다. |
request(method: str, *args, **kwargs) → _R |
서버에 요청합니다. |
class TIPCommon.base.job.base_job.Job
클래스 TIPCommon.base.job.base_job.Job(name: str)
기본: ABC, Generic[ApiClient]
Google Security Operations SOAR의 작업 스크립트를 나타내는 클래스입니다.
메서드
start(**kwargs) → None
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
외부 서비스와 상호작용하기 위한 API 클라이언트를 제공합니다.
property error_msg
property error_msg: str
작업 실행 중에 발생한 오류 메시지를 저장합니다.
property job_start_time
property job_start_time: int
작업이 시작된 시점의 타임스탬프를 나타냅니다.
property 로거
property logger: ScriptLogger
작업 스크립트의 로깅 기능을 제공합니다.
property 이름
property name: str
작업 스크립트의 이름을 보유합니다.
property 매개변수
property params: Container
작업에 제공된 구성 매개변수가 포함되어 있습니다.
property soar_job
property soar_job: SiemplifyJob
기본 Google Security Operations SOAR 작업 인스턴스를 나타냅니다.
class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob
클래스 TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob(name: str, integration_identifier: str)
기본: Job, Generic[ApiClient]
이 섹션에서는 작업 처리에 영향을 미치는 수명 주기 메서드를 설명합니다. 서브클래스에서 이를 재정의할 필요는 없습니다.
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
외부 서비스 상호작용에 사용되는 API 클라이언트를 보유합니다.
class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple
클래스 TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple(success_list, failure_list)
기본: 튜플
속성
속성 | |
---|---|
success_list |
필드 번호 0의 별칭입니다. |
failure_list |
필드 번호 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]
쉼표로 구분된 매개변수 값을 고유 요소 목록으로 검증하고 파싱합니다. 이 함수는 단일 값, 따옴표로 묶인 문자열, 혼합 형식을 처리합니다.
매개변수
매개변수 | |
---|---|
param_name |
매개변수 키입니다. |
param_csv_value |
job 매개변수에 제공된 매개변수 값입니다.
None 인 경우 빈 목록이 반환됩니다. |
발생 오류
ValueError
- 큰따옴표 수가 잘못되었거나 일부 값이 잘못되었거나 일부 값의 큰따옴표가 일치하지 않습니다.
반환
작업 매개변수에 제공된 고유 값 목록입니다. 유효한 값을 찾을 수 없으면 빈 목록이 반환됩니다.
반환 유형
list[str]
class TIPCommon.base.job.data_models.JobParameter
클래스 TIPCommon.base.job.data_models.JobParameter(input_dict: MutableMapping[str, Any])
기본: object
일반 스크립트 매개변수 객체입니다.
속성
속성 | |
---|---|
full_dict |
dict[str, Any] API에서 수신된 원래 사전입니다. |
id |
int | None 매개변수의 ID입니다. |
is_mandatory |
bool 매개변수가 필수인지 여부를 정의합니다. 참고: 이 속성은 플레이북에서 |
name |
str | None 매개변수의 이름입니다. |
type |
ActionParamType 매개변수의 유형입니다. |
value |
Any 매개변수의 기본값입니다. 참고: 이 속성은 수동 작업에서 |
class TIPCommon.base.data_models.ActionJsonOutput
클래스 TIPCommon.base.data_models.ActionJsonOutput(title: 'str' = 'JsonResult', content: 'str' = '', type: 'str | None' = None, is_for_entity: 'bool' = False, json_result: 'JSON | None' = None)
기본: object
작업의 구조화된 JSON 출력을 나타냅니다.
class TIPCommon.base.data_models.ActionOutput
클래스 TIPCommon.base.data_models.ActionOutput(output_message: 'str', result_value: 'str | bool', execution_state: 'ExecutionState', json_output: 'ActionJsonOutput | None', debug_output: 'str' = '')
기본: object
작업의 전체 출력 구조를 나타냅니다.
class TIPCommon.base.data_models.ConnectorJsonOutput
클래스 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>)
기본: object
커넥터의 구조화된 JSON 출력을 나타냅니다.
class TIPCommon.base.data_models.ConnectorOutput
클래스 TIPCommon.base.data_models.ConnectorOutput(json_output: 'ConnectorJsonOutput | None', debug_output: 'str' = '')
기본: object
커넥터의 전체 출력 구조를 나타냅니다.
TIPCommon.base.data_models.alert_info_from_json
TIPCommon.base.data_models.alert_info_from_json(json_: MutableMapping[str, Any])→ AlertInfo
속성의 JSON에서 AlertInfo 객체를 만듭니다.
반환
생성된 AlertInfo 객체입니다.
반환 유형
AlertInfo
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.