사용자 지정 플러그 인 만들기
중요
이 게시물의 일부 정보는 상용으로 출시되기 전에 실질적으로 수정될 수 있는 사전 릴리스된 제품과 관련이 있습니다. Microsoft는 여기에서 제공하는 정보와 관련하여 명시적이거나 묵시적인 어떠한 보증도 제공하지 않습니다.
팁
Microsoft 이외의 플러그 인에 대한 도움이 필요한 경우 해당 설명서 및 기술 지원을 참조하세요.
새 플러그 인 만들기
관리자가 Copilot for Security를 구성하는 방법에 따라 다음 단계를 수행하여 새 플러그 인을 만들 수 있습니다.
지원되는 플러그 인 목록에서 플러그 인을 빌드합니다.
플러그 인에 대한 메타데이터 및 호출 방법을 설명하는 YAML 또는 JSON 플러그 인 매니페스트 파일을 만듭니다.
보안용 Copilot에 플러그 인 매니페스트를 게시합니다.
플러그 인 요구 사항
모든 Copilot for Security 플러그 인에는 기술 집합에 대한 메타데이터와 기술을 호출하는 방법을 설명하는 YAML 또는 JSON 형식 매니페스트 파일(예: plugin.yaml
또는 plugin.json
)이 필요합니다.
매니페스트는 두 개의 필수 최상위 키인 Descriptor
및 SkillGroups
, 각각 하위 키 또는 값 쌍과 기술 형식에 따라 필수/선택적 필드로 구성됩니다.
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 , Required 및 DefaultValue (선택 사항) 개체의 목록입니다. |
|
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
,GetDeviceByUserId
및GetDeviceByUserName
대신 디바이스 ID, 사용자 ID 또는 사용자 이름을 사용하는 단일GetDevices
기술이 있습니다.
- 예를 들어 별도의
보안용 Copilot은
Description
및DescriptionForModel
필드를 지원합니다.Description
는 UX에서 사용되며(설정되지 않은 경우DescriptionForModel
기술 선택에 사용됨)DescriptionForModel
은(는) 기술 선택에만 사용됩니다.- 예를 들어 "호스트 이름과 연결된 SSL 인증서 반환"에 대한 설명과 함께 GetSslCertsByHostname 기술이 있다고 가정합니다. 자세한 설명ForModel은 "DNS 호스트 이름 또는 도메인 이름에 대한 SSL 인증서(TLS 인증서라고도 함)를 검색합니다. 발급자, 주체, 일련 번호, sha1 및 날짜와 같은 인증서 세부 정보와 함께 SSL 인증서 목록을 반환합니다."
기술 설명은 합리적인 지식이 있지만 문제 도메인의 전문가가 아닐 수 있는 사람을 위해 자세히 설명하고 표현해야 합니다. 스킬의 기능뿐만 아니라 누군가가 이 기술을 사용하려는 이유도 설명해야 합니다.
- 예를 들어 좋은 설명은 "IP 주소에 대한 신뢰도 정보를 가져옵니다. 사용자가 IP 주소가 위험한지 확인할 수 있습니다."