Microsoft Sentinel AI 지원 사용자 지정 그래프 작성(미리 보기)

Microsoft Sentinel Visual Studio Code GitHub Copilot 사용하여 Jupyter Notebook을 사용하여 사용자 지정 보안 그래프를 만들고 수정하고 쿼리합니다. 자연어로 빌드하려는 내용을 설명하고, 생성된 Notebook을 검토하고, 필요에 따라 구체화합니다.

다음을 비롯한 다양한 그래프 작성 작업에 Copilot를 사용합니다.

  • 설명에서 전체 그래프 작성 Notebook 만들기
  • 기존 그래프 수정 또는 디버그
  • 생성된 그래프 코드 이해
  • 그래프 쿼리 작성 및 실행

사용자 지정 그래프에 대한 AI 지원 작동 방식

Microsoft Sentinel 연결된 Jupyter Notebook에서 작업하는 경우 GitHub Copilot 자연어 프롬프트를 사용하여 그래프 작성 작업에 도움이 될 수 있습니다.

다음 워크플로를 사용하여 그래프 작성을 위해 Copilot와 상호 작용합니다.

  1. 만들려는 그래프 또는 변경 내용에 대해 설명합니다.
  2. Copilot는 그래프 관련 코드를 생성하거나 업데이트합니다.
  3. 결과를 검토하고 실행하고 반복합니다.

그래프별 시나리오의 경우 Microsoft Sentinel Graph API, 스키마 및 작업 영역에 대한 추가 컨텍스트를 Copilot에 제공하는 선택적 도우미를 제공합니다. 이러한 도우미는 정확도와 일관성을 향상하지만 Copilot 지원을 사용할 필요는 없습니다.

필수 구성 요소

시작하기 전에 다음이 있는지 확인합니다.

Copilot를 사용하여 사용자 지정 그래프 만들기 및 편집

다음 단계를 사용하여 새 그래프를 만들거나 GitHub Copilot 사용하여 기존 그래프를 수정합니다.

  1. 기존 Jupyter Notebook(.ipynb)을 열거나 Copilot가 전자 필기장을 만들 수 있도록 허용합니다.

  2. GitHub Copilot 채팅을 엽니다(Windows의 경우 Ctrl+Shift+I, macOS에서는 Cmd+Shift+I).

  3. 빌드하려는 그래프를 설명합니다.

전체 그래프를 만들거나 수정할 때 최상의 결과를 보려면 프롬프트에 를 포함하여 @sentinel /graph-authoring Sentinel 그래프 작성 도우미를 사용합니다. 이렇게 하면 Copilot에 그래프 API, 스키마 및 모범 사례에 대한 추가 컨텍스트가 제공됩니다.

@sentinel /graph-authoring Create a graph that maps email senders to recipients and URLs using EmailEvents

도우미 표준 그래프 작성 수명 주기를 따르는 전체 Notebook을 생성합니다.

단계 설명
환경 설정 필요한 패키지 및 연결 정보를 확인합니다.
데이터 로드 Sentinel 데이터 레이크에서 테이블을 읽습니다.
데이터 변환 노드 및 에지 데이터 준비
그래프 스키마 노드 및 에지 정의
스키마 유효성 검사 그래프 정의의 유효성을 검사합니다.
그래프 빌드 그래프 구체화
그래프 쿼리 그래프 쿼리 실행

그래프 구체화

그래프가 만들어지면 대화를 계속 진행하여 구체화할 수 있습니다. 예를 들면 다음과 같습니다.

@sentinel Add an edge from User to IPAddress
@sentinel Filter the data to show only failed sign-ins

기존 그래프 수정 또는 디버그

Copilot에게 Notebook의 특정 부분을 업데이트하거나 수정하도록 요청합니다. 예시:

@sentinel Change the time range to the last 7 days
@sentinel Update cell 3 to include the Subject column
@sentinel Fix the error in the graph build step

영향을 받는 셀만 업데이트됩니다. 다른 셀은 변경되지 않은 상태로 유지됩니다.

그래프 코드 및 쿼리 이해

Notebook을 변경하지 않고 생성된 코드에 대해 질문합니다. 예시:

@sentinel What does show_schema() do?
@sentinel Explain how edge keys are defined
@sentinel How does this graph query work?

그래프 API 및 예제 조회

Sentinel 그래프 API, 메서드 매개 변수 또는 예제 쿼리에 대한 도움말을 원하는 경우 Copilot에 설명을 요청할 수 있습니다. 보다 정확하고 Sentinel 특정 답변을 위해 프롬프트에 참조 도우미를 #Sentinel 포함합니다. 예시:

What parameters does build_graph_with_data() accept? #sentinel
Write a graph query to find all paths between User and IPAddress #sentinel

이 도우미는 신뢰할 수 있는 Sentinel 그래프 API 설명서를 Copilot에 제공합니다. Notebook은 수정하지 않습니다.

Copilot와 상호 작용하는 방법 선택

다음 표를 사용하여 목표에 따라 Copilot와 상호 작용하는 가장 좋은 방법을 선택합니다.

수행하려는 사항 권장되는 접근 방식
그래프 Notebook 만들기 또는 수정 목표 설명(최상의 결과를 위해 사용 @sentinel )
그래프 오류 수정 또는 디버그 문제 설명(사용 @sentinel)
그래프 API 또는 매개 변수에 대해 질문하기 질문하기(포함 #sentinel)
일반적인 질문하기 일반 Copilot 프롬프트

주요 개념

작업 영역 및 테이블 가용성

AI 지원은 Sentinel 데이터 레이크에 표시되는 테이블을 사용합니다. 액세스 권한이 있는 테이블만 생성된 코드에 사용됩니다.

중요

테이블이 데이터 레이크 탐색기에 표시되지 않으면 그래프 작성에 사용할 수 없습니다.

Notebook 변경 내용

Notebook을 수정할 때 변경해야 하는 셀만 업데이트됩니다. 표준 편집기 실행 취소 명령을 사용하여 변경 내용을 실행 취소할 수 있습니다.

문제 해결

문제 해결 방법
전자 필기장 없음 그래프 작성을 .ipynb 시작하기 전에 파일을 열거나 만듭니다.
테이블이 없습니다. Sentinel 데이터 레이크가 연결되어 있고 예상 테이블이 데이터 레이크 탐색기에 표시되는지 확인합니다.
필수 패키지가 없습니다. Notebook이 지원되는 Sentinel Spark 컴퓨팅 풀에 연결되어 있는지 확인합니다.
예기치 않은 셀이 수정되었습니다. 변경 내용을 실행 취소하고 셀 번호를 지정하여 요청을 다시 시도합니다.