맞춤 통합 빌드
이 문서에서는 상업용 통합과 동일한 구조를 사용하여 통합 개발 환경 (IDE) 내에서 맞춤 통합을 만드는 방법을 설명합니다. 다양한 환경을 위해 Google Security Operations Marketplace에서 맞춤 통합을 찾아 구성할 수 있습니다. 그런 다음 플레이북, 수동 작업, 원격 에이전트에서 사용할 수 있습니다. 다른 IDE 항목과 마찬가지로 가져오기 및 내보내기 기능도 지원됩니다.
IDE에서 맞춤 통합 만들기
Armis 제품의 맞춤 통합을 빌드하고 Ping 작업과 함께 관리자를 만들 수 있습니다. 이 절차에서는 Python 및 객체 지향 프로그래밍에 대한 지식이 있다고 가정합니다.
사용 사례: 맞춤 Armis 통합 빌드
IDE에서 맞춤 통합을 만들려면 다음 단계를 따르세요.
- 기본 메뉴에서 응답 > IDE로 이동합니다.
- 새 항목 만들기를 클릭하고 통합을 선택합니다.
- 이름을 입력하고 만들기를 클릭합니다.
이제 통합이 설정 설정 옵션과 함께 표시되어 맞춤 통합임을 나타냅니다.
설정 설정을 클릭하여 아이콘, 설명, Python 종속 항목, 통합 매개변수를 정의할 수 있는 통합 설정을 표시합니다.
맞춤 관리자 만들기
관리자는 서드 파티 도구 API의 래퍼입니다. 필수는 아니지만 외부 도구와 상호작용하는 통합에 권장됩니다. 관리자는 SDK에서 가져오면 안 됩니다. 생성 후 커넥터, 작업, 작업으로 가져옵니다.
맞춤 관리자를 만들려면 다음 단계를 따르세요.
- IDE에서 새 항목 만들기를 클릭하고 관리자를 선택합니다.
- Armis 통합을 선택하고 관리자 이름을 입력합니다.
- 다음 스크립트를 수정하고 실행합니다.
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) 유효성을 검사할 응답 :param error_msg: (str) 표시할 오류 메시지 """ 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 Marketplace 구성, Ping 작업
통합 설정에 정의된 매개변수는 Google SecOps Marketplace 구성에 표시됩니다. 매개변수는 다음과 같습니다.
- API 루트: 연결하려는 서비스의 기준 URL입니다.
- API Secret: 서비스를 사용하여 애플리케이션을 인증하는 데 사용되는 기밀 키입니다.
- SSL 확인 체크박스: 사용 설정하면 Armis 서버 연결에 사용되는 SSL 인증서가 유효한지 확인합니다.
- 원격으로 실행 체크박스: 코드를 로컬이 아닌 원격 서버에서 실행할지 여부를 결정하는 설정입니다. 이 옵션을 사용 설정하면 시스템에서 처리를 위해 전용 서버에 필요한 안내와 데이터를 전송합니다.
매개변수를 업데이트하려면 다음 단계를 따르세요.
- 올바른 사용자 인증 정보를 입력합니다.
- 저장 > 테스트를 클릭합니다.
핑 작업이 누락되면 테스트 버튼이 실패하고 빨간색 X가 표시됩니다.
핑 작업 구현
Ping 작업의 논리는 성공적인 인증과 유사하게 작동합니다.
Ping 작업을 구현하려면 다음을 실행하세요.
- IDE에서 Armis 통합에
Ping
라는 새 작업을 만듭니다. ArmisManager
auth
메서드를 사용하여 인증을 확인합니다.
통합 사용 설정
통합을 사용 설정하려면 다음 단계를 따르세요.
- 응답 > IDE에서 사용 설정/사용 중지 전환 버튼을 클릭하여 사용 위치로 전환합니다.
- 저장을 클릭합니다. 녹색 전환 버튼은 성공을 나타냅니다. 마켓의 사용자 인증 정보가 ArmisManager에 전달됩니다.
auth
가 오류 없이 완료되면 테스트 버튼에 녹색 체크표시가 표시됩니다.
extract_configuration_param
메서드를 사용하여 통합 구성에서 매개변수를 가져옵니다. 또는 extract_action_param
를 사용하여 작업 내에서 매개변수를 정의합니다. 하지만 Ping 작업은 항상 구성 매개변수를 사용해야 합니다. 이러한 매개변수는 마켓에서 테스트하기 때문입니다.
맞춤 통합 보기
Google SecOps Marketplace로 이동하여 만든 맞춤 통합을 검색합니다. 초기 구성 중에 이미지를 만들지 않은 경우 기본 커스텀 이미지가 할당됩니다. Google SecOps Marketplace 업데이트는 맞춤 통합을 재정의하거나 삭제하지 않습니다.
IDE에서 내보내기 및 가져오기
다음 작업 중 하나를 수행합니다.
- 통합을 가져오려면 다음 단계를 따르세요.
- 올바른 폴더 구조로 ZIP 파일을 업로드합니다. 통합이 IDE 및 Google SecOps Marketplace에 표시됩니다.
- 가져오기를 클릭합니다. 통합은 IDE와 Marketplace 모두에 표시됩니다.
- 시스템에서 정의, 스크립트, 구성이 포함된 ZIP 파일을 생성합니다. 관리자 폴더는 자동으로 포함되지 않습니다.
- 통합을 내보내려면 다음 단계를 따르세요.
- 내보내기를 클릭하여 패키지를 다운로드합니다.
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.