커스텀 통합 빌드

다음에서 지원:

이 문서에서는 Google SecOps의 커스텀 통합을 빌드하는 워크플로를 설명합니다. 현재 권장사항은 선호하는 IDE를 사용하여 로컬에서 통합을 개발하고 최신 GitOps 워크플로를 사용하여 GitHub를 통해 관리하는 것입니다. 기존 환경 또는 빠른 프로토타입의 경우 기본 제공되는 SOAR IDE 내에서 직접 통합을 빌드할 수도 있습니다.

통합을 로컬에서 개발하고 GitHub를 통해 관리하는 것이 권장되는 워크플로입니다. 이 접근 방식은 최신 GitOps 관행과 일치하므로 버전 제어, 공동작업, 자동화된 종속 항목 관리가 개선됩니다.

개념 워크플로 개요

커스텀 통합을 로컬에서 개발하려면 이 GitOps 수명 주기를 따르는 것이 좋습니다. 이러한 명령어의 정확한 최신 문법은 GitHub의 공식 MP CLI 문서를 참고하세요.

  1. 포크 및 클론: 공식 content-hub 저장소를 로컬 개발 머신에 클론합니다.
  2. 도구 설치: mp CLI 도구와 uv Python 패키지 관리자를 설치합니다.
  3. 인증: 인스턴스 URL과 API 키를 사용하여 MP CLI를 통해 Google SecOps 환경에 로그인합니다.
  4. 로컬에서 개발: 선호하는 IDE (예: VS Code 또는 PyCharm)를 사용하여 통합 코드를 작성하고 로컬 디버깅 및 테스트 도구를 활용합니다.
  5. 종속 항목 관리: uv를 사용하여 로컬 pyproject.toml 파일에서 종속 항목 (예: TIPCommon)을 선언하고 관리합니다.
  6. 동기화: mp pull 및 mp push 명령어를 사용하여 테스트 및 배포를 위해 로컬 코드를 Google SecOps 인스턴스와 동기화합니다.

대안: 기본 제공 IDE에서 커스텀 통합 만들기

기존 통합을 유지보수하거나, 스크립트를 빠르게 테스트하거나, 로컬 개발이 제한된 환경에서 작업하는 경우 기본 제공 IDE를 사용할 수 있습니다.

사용 사례: 커스텀 Armis 통합 빌드

IDE에서 커스텀 통합을 만들려면 다음 단계를 따르세요.

  1. 기본 메뉴에서 응답 > IDE로 이동합니다.
  2. 새 항목 만들기를 클릭하고 통합을 선택합니다.
  3. 이름을 입력하고 만들기를 클릭합니다.

이제 통합이 설정 설정 옵션과 함께 표시되어 커스텀 통합임을 나타냅니다.

설정 설정을 클릭하여 아이콘, 설명, Python 종속 항목, 통합 매개변수를 정의할 수 있는 통합 설정을 표시합니다.

커스텀 관리자 만들기

관리자는 서드 파티 도구 API의 래퍼입니다. 필수는 아니지만 외부 도구와 상호작용하는 통합에 사용하는 것이 좋습니다. 관리자는 SDK에서 가져오면 안 됩니다. 생성 후 커넥터, 작업, 작업으로 가져옵니다.

커스텀 관리자를 만들려면 다음 단계를 따르세요.

  1. IDE에서 새 항목 만들기를 클릭하고 관리자를 선택합니다.
  2. Armis 통합을 선택하고 관리자 이름을 입력합니다.
  3. 다음 스크립트를 수정하고 실행합니다.
import requests


class ArmisManager:
   def init(self, api_root, api_token):
       self.api_root = api_root
       self.api_token = api_token
       self.session = requests.session()
       self.session.headers = {"Accept": "application/json"}


   def auth(self):
       endpoint = "{}/api/vi/access_token/*"
       params = {"secret_key" : self.api_token}
       response = self.session.post(endpoint.format(self.api_root), params=params)
       self.validate_response(response)
       access_token = response.json()["data"]["access_token"]
       self.session.headers.update({"Authorization": access_token})
       return True


   def get_device_by_ip(self, device_ip):
       endpoint = "{}/api/vi/devices/"
       params = {"ip": device_ip}
       response = self.session.get(endpoint.format(self.api_root), params=params)
       self.validate_response(response)
       return response.json()["data"]["data"]


   @staticmethod
   def validate_response(res, error_msg="An error occurred"):
       """Validate a response


       :param res: (requests. Response) The response to validate
       :param error_msg: (str) The error message to display
       """
       try:
           res.raise_for_status()
       except requests.HTTPError as error:
           raise Exception("(error_msg): (error) (text)".format(
               error_msg=error_msg,
               error=error,
               text=error.response.content
           ))

매개변수, Google SecOps Content Hub 구성, Ping 작업

통합 설정에 정의된 매개변수가 Google SecOps Content Hub 구성에 표시됩니다. 매개변수는 다음과 같습니다.

  • API 루트: 연결하려는 서비스의 기준 URL입니다.
  • API 비밀번호: 서비스에서 애플리케이션을 인증하는 데 사용되는 기밀 키입니다.
  • SSL 확인 체크박스: 사용 설정하면 Armis 서버 연결에 사용되는 SSL 인증서가 유효한지 확인합니다.
  • 원격으로 실행 체크박스: 코드 또는 태스크를 로컬이 아닌 원격 서버에서 실행할지 여부를 결정하는 설정입니다. 이 옵션을 사용 설정하면 시스템에서 처리를 위해 필요한 안내와 데이터를 전용 서버로 전송합니다.

매개변수를 업데이트하려면 다음 단계를 따르세요.

  1. 올바른 사용자 인증 정보를 입력합니다.
  2. 저장 > 테스트를 클릭합니다.

Ping 작업이 누락되면 테스트 버튼이 실패하고 빨간색 X가 표시됩니다.

핑 작업 구현

Ping 작업의 로직은 성공적인 인증처럼 작동합니다.

Ping 작업을 구현하려면 다음 단계를 따르세요.

  1. IDE에서 Ping라는 Armis 통합에 새 작업을 만듭니다.
  2. ArmisManager auth 메서드를 사용하여 인증을 확인합니다.

통합 사용 설정

통합을 사용 설정하려면 다음 단계를 따르세요.

  1. 응답 > IDE에서 사용 설정/사용 중지 전환 버튼을 사용 위치로 클릭합니다.
  2. 저장을 클릭합니다. 녹색 전환 버튼은 성공을 나타냅니다. 콘텐츠 허브의 사용자 인증 정보가 ArmisManager로 전달됩니다. auth가 오류 없이 완료되면 테스트 버튼에 녹색 체크표시가 표시됩니다.

extract_configuration_param 메서드를 사용하여 통합 구성에서 매개변수를 가져옵니다. 또는 extract_action_param를 사용하여 작업 자체 내에서 매개변수를 정의합니다. 하지만 Ping 작업은 콘텐츠 허브에서 테스트하므로 항상 구성 매개변수를 사용해야 합니다.

커스텀 통합 보기

콘텐츠 허브로 이동하여 만든 커스텀 통합을 검색합니다. 초기 구성 중에 이미지를 만들지 않은 경우 기본 커스텀 이미지가 할당됩니다. 콘텐츠 허브 업데이트는 커스텀 통합을 재정의하거나 삭제하지 않습니다.

IDE에서 내보내기 및 가져오기

다음 작업 중 하나를 수행합니다.

  • 통합을 가져오려면 다음을 수행합니다.
    1. 올바른 폴더 구조의 ZIP 파일을 업로드합니다. 통합이 IDE 및 콘텐츠 허브에 표시됩니다.
    2. 가져오기를 클릭합니다. 통합은 IDE와 콘텐츠 허브 모두에 표시됩니다.
    3. 시스템에서 정의, 스크립트, 구성이 포함된 ZIP 파일을 생성합니다. 관리자 폴더는 자동으로 포함되지 않습니다.
  • 통합을 내보내려면 다음을 수행합니다.
    • 내보내기를 클릭하여 패키지를 다운로드합니다.

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.