사용자 지정 플러그 인 만들기

중요

이 게시물의 일부 정보는 상용으로 출시되기 전에 실질적으로 수정될 수 있는 사전 릴리스된 제품과 관련이 있습니다. Microsoft는 여기에서 제공하는 정보와 관련하여 명시적이거나 묵시적인 어떠한 보증도 제공하지 않습니다.

Microsoft 이외의 플러그 인에 대한 도움이 필요한 경우 해당 설명서 및 기술 지원을 참조하세요.

새 플러그 인 만들기

관리자가 Copilot for Security를 구성하는 방법에 따라 다음 단계를 수행하여 새 플러그 인을 만들 수 있습니다.

  1. 지원되는 플러그 인 목록에서 플러그 인을 빌드합니다.

  2. 플러그 인에 대한 메타데이터 및 호출 방법을 설명하는 YAML 또는 JSON 플러그 인 매니페스트 파일을 만듭니다.

  3. 보안용 Copilot에 플러그 인 매니페스트를 게시합니다.

플러그 인 요구 사항

모든 Copilot for Security 플러그 인에는 기술 집합에 대한 메타데이터와 기술을 호출하는 방법을 설명하는 YAML 또는 JSON 형식 매니페스트 파일(예: plugin.yaml 또는 plugin.json)이 필요합니다.

매니페스트는 두 개의 필수 최상위 키인 DescriptorSkillGroups, 각각 하위 키 또는 값 쌍과 기술 형식에 따라 필수/선택적 필드로 구성됩니다.

OpenAI 플러그 인에 대한 자세한 내용은 시작하기를 참조하세요.

설명자 필드 요약

필드 유형 설명 필수
Name 문자열 플러그 인의 내부 이름입니다. / \ ? # @을(를) 허용하지 않습니다.
DisplayName 문자열 사람이 읽을 수 있는 플러그 인 이름입니다. 권장
Description 문자열 플러그 인에 대한 사람이 읽을 수 있는 설명입니다.
DescriptionDisplay 문자열 설명이 지정되지 않은 경우 플러그 인에 대해 사람이 읽을 수 있는 대체 설명입니다. 아니오
Category 문자열 참고: 이 값은 현재 사용자 지정 플러그 인 업로드 프로세스 중에 Plugin 하도록 강제됩니다. 아니오
Prerequisites 문자열 아니오
Icon 문자열 기술 세트의 기본 아이콘을 가져오는 데 사용되는 URL입니다. 권장

SkillGroups 필드 요약

Format, Settings, Skills등의 기술 그룹 목록으로 구성됩니다.

필드 유형 설명 필수
Format 문자열 사용 가능한 옵션은 서식 섹션을 참조하세요.
Settings 개체 개체 구조는 설정 섹션을 참조하세요. 예, 형식: API, DOTNET, CONTAINER
Skills 개체 개체 구조는 Skills 섹션을 참조하세요. 예, 형식: GPT, DOTNET, KQL, LogicApp

형식(SkillGroups 필드)

Format 필드에 대한 옵션:

API
GPT
KQL

설정(SkillGroups 필드)

Settings 필드의 개체 구조입니다.

필드 유형 설명 필수
OpenApiSpecUrl 문자열 공용 OpenAPI 사양의 URL입니다.
EndpointUrl 문자열 공용 엔드포인트의 URL입니다. 아니오

기술(SkillGroups 필드)

Skills 필드의 개체 구조입니다.

필드 유형 설명 필수
Description 문자열 이 기술에 대한 사람이 읽을 수 있는 설명입니다. 권장
DescriptionForModel 문자열 기술 선택에 사용되는 기술에 대한 자세한 설명 아니오
Inputs 개체 기술에 대한 사용자 입력에 대한 Name, Description, RequiredDefaultValue (선택 사항) 개체의 목록입니다.
Settings 개체 기술 서식 기반의 사용자 지정 설정입니다.

OpenAI와 Copilot for Security 매니페스트의 차이점

ChatGPT 플러그 인 설명서에 따라 빌드된 OpenAI 플러그 인은 일반적으로 보안 매니페스트 형식에 대한 Copilot와 다른 매니페스트 형식을 사용할 수 있습니다. 보안용 Copilot는 두 형식을 모두 지원합니다.

OpenAI 플러그 인 매니페스트는 업로드될 때 보안 매니페스트에 대한 Copilot로 변환됩니다.

참고

특히 노트의 제한 사항에 대한 매핑 세부 정보는 나중에 변경될 수 있습니다. 현재 플랫폼은 OpenAPI 버전 3.0 또는 3.0.1의 플러그 인만 지원합니다.

플러그 인 필드 매핑

플러그 인 필드 유형 설명자 필드 필수 참고
schema_version 문자열 아니오 OpenAI 매니페스트 스키마 버전(예: 'v1')입니다. 현재 사용하지 않습니다.
name_for_model 문자열 이름 100자의 길이로 제한됩니다. 기술 세트의 내부 이름입니다. / \ ? #을(를) 허용하지 않습니다.
name_for_human 문자열 DisplayName 사람이 읽을 수 있는 플러그 인 이름입니다. 40자의 길이로 제한됩니다.
description_for_model 문자열 설명 16,000자의 길이로 제한됩니다. LLM과 함께 사용하기 위한 내부 설명입니다.
description_for_human 문자열 DescriptionDisplay 플러그 인에 대한 사람이 읽을 수 있는 설명입니다. 200자의 길이로 제한됩니다.
logo_url 문자열 아이콘 권장 플러그 인의 주 아이콘을 가져오는 데 사용되는 URL입니다.
contact_email 문자열 아니오 플러그 인에 대한 전자 메일 연락처입니다. 현재 사용하지 않습니다.
legal_info_url 문자열 아니오 플러그 인 정보에 대한 링크입니다. 현재 사용하지 않습니다.
api 개체 개체 구조는 플러그 인 API 섹션을 참조하세요.
auth 개체 authorization_type은(는) bearer까지 제한됩니다. none, oauth, api_key, aad, aad_delegated 같은 다른 인증 type에 대한 지원에 따라야 할 세부 정보입니다.

플러그 인(API 필드)

api 필드의 개체 구조

필드 유형 설명 필수
type 문자열 현재 지원되는 유일한 형식은 openapi입니다.
url 문자열 API의 OpenAPI 사양 문서에 대한 링크입니다.

플러그 인 작성 지침

플러그 인 작성과 관련된 많은 고려 사항이 있습니다. 이 문서는 Copilot for Security용 플러그 인을 작성하기 위한 몇 가지 지침과 모범 사례를 캡처하기 위한 것입니다.

참고

보안용 Copilot이 서로 다른 두 기술을 정확하게 구분하지 못하는 경우 "기술 충돌"이 발생합니다.

  • 동일한 유형의 응답을 반환하지만 입력에 따라 달라지는 여러 기술을 보유하는 대신 여러 입력을 사용하고 내부적으로 데이터를 가져오는 방법을 파악하는 기술을 정의합니다.

    • 예를 들어 별도의 GetDeviceById , GetDeviceByUserIdGetDeviceByUserName 대신 디바이스 ID, 사용자 ID 또는 사용자 이름을 사용하는 단일 GetDevices 기술이 있습니다.
  • 보안용 Copilot은 DescriptionDescriptionForModel 필드를 지원합니다. Description 는 UX에서 사용되며(설정되지 않은 경우 DescriptionForModel 기술 선택에 사용됨) DescriptionForModel은(는) 기술 선택에만 사용됩니다.

    • 예를 들어 "호스트 이름과 연결된 SSL 인증서 반환"에 대한 설명과 함께 GetSslCertsByHostname 기술이 있다고 가정합니다. 자세한 설명ForModel은 "DNS 호스트 이름 또는 도메인 이름에 대한 SSL 인증서(TLS 인증서라고도 함)를 검색합니다. 발급자, 주체, 일련 번호, sha1 및 날짜와 같은 인증서 세부 정보와 함께 SSL 인증서 목록을 반환합니다."
  • 기술 설명은 합리적인 지식이 있지만 문제 도메인의 전문가가 아닐 수 있는 사람을 위해 자세히 설명하고 표현해야 합니다. 스킬의 기능뿐만 아니라 누군가가 이 기술을 사용하려는 이유도 설명해야 합니다.

    • 예를 들어 좋은 설명은 "IP 주소에 대한 신뢰도 정보를 가져옵니다. 사용자가 IP 주소가 위험한지 확인할 수 있습니다."  

참고 항목