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 ベースクラスは、継承されたアクション クラスでオーバーライドするテンプレート抽象メソッド、汎用プロパティ、アクションの run メソッドを呼び出すときに実行されるメソッドとしての一般的なフローを提供します。
パラメータ
パラメータ | |
---|---|
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]
デフォルトでは、リストの内容がすべてケースの結果に送信されます。
このケースの分析情報を表す 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 エンティティ タイプ
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 リンク
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]
アクションのパラメータを記述する Container
オブジェクトを返します。各パラメータは snake_case 属性として公開されます。
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)
ベース: Enum
定数
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)
ベース: オブジェクト
アクション スクリプトの結果の添付ファイル。
このクラスは不変です。作成後に属性を変更することはできません。ハッシュ化(セットでの使用や辞書のキーとしての使用など)と ==
演算子を使用した等価比較をサポートしています。
属性
属性 | |
---|---|
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)
ベース: オブジェクト
ケースの添付ファイル。
このクラスは不変です。値を割り当ててオブジェクトを作成した後は、属性に新しい値を割り当てることはできません。このクラスは、ハッシュ化(セットまたは辞書のキーとして保存)と ==
演算子をサポートしています。
属性
属性 | |
---|---|
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)
ベース: オブジェクト
ケースのコメント。
このクラスは不変です。値を割り当ててオブジェクトを作成した後は、属性に新しい値を割り当てることはできません。このクラスは、ハッシュ化(セットまたは辞書のキーとして保存)と ==
演算子をサポートしています。
属性
属性 | |
---|---|
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
作成者のフルネーム(System など)。 |
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 アラートの ID(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)
ベース: オブジェクト
ケース分析情報。
このクラスは不変です。値を割り当ててオブジェクトを作成した後、属性に新しい値を割り当てることはできません。このクラスは、ハッシュ化(セットまたは辞書のキーとして保存)と ==
演算子をサポートしています。
属性
属性 | |
---|---|
title |
str 分析情報のタイトル。 |
triggered_by |
str 統合名。 |
content |
str 分析情報のメッセージ。 |
severity |
InsightSeverity 分析情報の重要度。次の値があります。
|
insight_type |
InsightType 分析情報の種類。次の値があります。
|
entity_identifier |
str | None エンティティの ID。 |
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)
ベース: Enum
定数
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)
ベース: Enum
定数
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)
ベース: Enum
定数
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)
ベース: Enum
定数
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)
ベース: Enum
定数
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)
ベース: Enum
定数
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)
ベース: Enum
### 定数
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')
ベース: オブジェクト
アクション スクリプトの結果コンテンツ。
このクラスは不変です。値を割り当ててオブジェクトを作成した後、属性に新しい値を割り当てることはできません。このクラスは、ハッシュ化(セットまたは辞書のキーとして保存)と ==
演算子をサポートしています。
属性
属性 | |
---|---|
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')
ベース: オブジェクト
アクション スクリプトの結果データテーブル。
このクラスは不変です。値を割り当ててオブジェクトを作成した後は、属性に新しい値を割り当てることはできません。このクラスは、ハッシュ化(セットまたは辞書のキーとして保存)と ==
演算子をサポートしています。
属性
属性 | |
---|---|
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)
ベース: オブジェクト
エンティティの分析情報。
このクラスは不変です。値を割り当ててオブジェクトを作成した後、属性に新しい値を割り当てることはできません。このクラスは、ハッシュ化(セットまたは辞書のキーとして保存)と ==
演算子をサポートしています。
属性
属性 | |
---|---|
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)
ベース: Enum
定数
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)
ベース: Enum
定数
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])
ベース: オブジェクト
一般的なスクリプト パラメータ オブジェクト。
属性
属性 | |
---|---|
full_dict |
dict[str, Any] API から受信した元の辞書。 |
id |
int | None パラメータの ID。 |
integration_identifier |
str 統合 ID(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')
ベース: オブジェクト
アクション スクリプト結果リンク。
このクラスは不変です。値を割り当ててオブジェクトを作成した後、属性に新しい値を割り当てることはできません。このクラスは、ハッシュ化(セットまたは辞書のキーとして保存)と ==
演算子をサポートしています。
属性
属性 | |
---|---|
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)
ベース: Enum
定数
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')
ベース: オブジェクト
アクション スクリプト結果リンク。
このクラスは不変です。値を割り当ててオブジェクトを作成した後、属性に新しい値を割り当てることはできません。このクラスは、ハッシュ化(セットまたは辞書のキーとして保存)と ==
演算子をサポートしています。
属性
属性 | |
---|---|
title |
str | None リンクのタイトル。 |
link |
str リンク。 |
class TIPCommon.base.action.data_models.ScriptParameter
クラス TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any]
ベース: オブジェクト
一般的なスクリプト パラメータ オブジェクト。
属性
属性 | |
---|---|
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
ジョブに提供された構成パラメータが含まれます。
プロパティ 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])
ベース: オブジェクト
一般的なスクリプト パラメータ オブジェクト。
属性
属性 | |
---|---|
full_dict |
dict[str, Any] API から受信した元の dict。 |
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)
ベース: オブジェクト
アクションの構造化 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' = '')
ベース: オブジェクト
アクションの完全な出力構造を表します。
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>)
ベース: オブジェクト
コネクタの構造化された JSON 出力を表します。
class TIPCommon.base.data_models.ConnectorOutput
クラス TIPCommon.base.data_models.ConnectorOutput(json_output: 'ConnectorJsonOutput | None', debug_output: 'str' = '')
ベース: オブジェクト
コネクタの完全な出力構造を表します。
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 のプロフェッショナルから回答を得ることができます。