[이 문서는 시험판 설명서이므로 변경될 수 있습니다.]
Copilot Studio에서 만든 사용자 지정 에이전트는 기본적으로 안전합니다. 여기에는 UPIA(사용자 프롬프트 삽입 공격) 및 XPIA(도메인 간 프롬프트 삽입 공격)와 같은 다양한 위협에 대한 기본 제공 보호가 포함됩니다. 런타임 시 에이전트는 이러한 유형의 공격을 차단하여 데이터 반출 위험을 줄입니다.
Copilot Studio는 사용자 지정 에이전트의 모니터링 기능 및 보안을 더욱 강화하기 위해 조직에서 향상된 감독을 위해 외부 위협 탐지 시스템을 구성할 수 있도록 합니다. 이러한 도구는 에이전트의 런타임 동안 작동하며 에이전트 활동을 지속적으로 평가합니다. 시스템에서 의심스러운 도구 또는 작업을 감지하면 개입하여 실행하지 못하도록 차단할 수 있습니다. 이 위협 탐지는 실시간 보호 및 규정 준수 적용의 추가 계층을 제공합니다.
중요합니다
외부 위협 탐지는 생성 오케스트레이션을 사용하는 생성 에이전트에서만 호출됩니다. 클래식 에이전트의 경우 외부 위협 검색을 건너뜁니다.
작동 방식
외부 위협 탐지 시스템은 웹 서비스로 설정되어 위협 탐지 엔드포인트가 있는 REST API를 노출합니다. 에이전트와 엔드포인트 간에 보안 연결이 구성됩니다. 런타임 시 오케스트레이터가 도구 호출을 고려할 때마다 제안된 도구 사용에 대한 관련 데이터를 평가를 위해 위협 탐지 엔드포인트로 보냅니다. 위협 탐지 시스템은 데이터를 분석하고 도구 호출을 허용하거나 차단하는 결정을 반환합니다.
위협 탐지 시스템이 에이전트 작업 중에 보안 문제를 감지하면 에이전트는 즉시 처리를 중지하고 메시지가 차단되었음을 사용자에게 알깁니다. 반면, 시스템에서 작업을 승인하는 경우 에이전트는 사용자에게 표시되는 영향이나 중단 없이 원활하게 진행됩니다.
중요합니다
이 문서는 Microsoft Copilot Studio 프리뷰 설명서를 포함하며 변경될 수 있습니다.
미리 보기 기능은 프로덕션용이 아니며 기능이 제한되었을 수 있습니다. 이러한 기능은 공식 릴리스 이전에 제공되므로 사용자가 조기에 액세스하고 피드백을 제공할 수 있습니다.
프로덕션이 가능한 에이전트를 빌드하는 경우 Microsoft Copilot Studio 개요를 참조하세요.
외부 위협 탐지를 설정하는 옵션
Copilot Studio는 유연한 "Bring Your Own Protection" 접근 방식을 지원합니다. 조직은 고유한 요구 사항에 가장 적합한 보안 솔루션을 자유롭게 통합할 수 있습니다.
옵션은 다음과 같습니다.
- 사용자 고유의 사용자 지정 모니터링 도구를 개발하거나 누군가가 직접 개발하게 합니다. 에이전트가 연결할 수 있도록 시스템 엔드포인트를 설정하는 방법에 대한 자세한 내용은 Copilot Studio 에이전트에 대한 런타임 위협 탐지 시스템 빌드를 참조하세요.
- Microsoft Defender에서 강력한 엔터프라이즈 솔루션 적용
- 다른 신뢰할 수 있는 보안 공급자의 제품 사용
위협 탐지 공급자와 공유되는 데이터는 무엇인가요?
위협 탐지 시스템에 대한 연결을 구성하면 에이전트는 실행하는 동안 외부 보안 공급자와 데이터를 공유합니다. 에이전트는 도구 호출을 고려할 때마다 서비스와 통신합니다. 이 데이터 공유는 에이전트 사용자의 환경을 저하하지 않고 구성된 시스템에서 효율적인 의사 결정을 보장합니다.
시스템과 공유된 상위 수준 데이터에는 다음이 포함됩니다.
- 사용자의 최근 프롬프트 및 에이전트와 사용자 간에 교환된 채팅 메시지의 최신 기록입니다.
- 에이전트에서 사용한 이전 도구의 출력입니다.
- 대화 메타데이터: 에이전트의 ID, 에이전트와 상호 작용하는 사용자, 사용자의 테넌트 및 에이전트를 트리거한 트리거(해당하는 경우).
- 이 도구를 선택한 이유와 제안된 입력 및 값에 대한 에이전트 생성 추론을 포함하여 에이전트가 호출하려는 도구입니다.
중요합니다
- 공급자 데이터 처리 정책은 Microsoft에서 사용하는 정책과 다를 수 있습니다. 차이점은 지리적 지역 외부의 데이터 처리 및 저장을 포함할 수 있습니다.
- 공급자와 약관이 표준을 충족하고 조직의 데이터를 보호하는 데 필요한 규정을 준수해야 합니다.
- 위협 검색 서비스와 데이터 공유를 차단하려는 경우 언제든지 통합 연결을 끊을 수 있습니다.
필수 조건
이 작업을 시작하려면 다음이 필요합니다.
- 에이전트 도구 사용 요청을 평가하도록 설정된 외부 위협 탐지 서비스입니다. 서비스는 REST API 엔드포인트를 노출해야 합니다. 통합의 Copilot Studio 쪽에서 설치하려면 보안 공급자 웹 서비스에 대한 기본 URL 이 필요합니다. 이 문서에서는 이 URL을 엔드포인트로 참조합니다. 에이전트는 이 기본 URL에서 API에 위협 탐지 요청을 보냅니다. 보안 공급자로부터 이 URL을 받아야 합니다.
- 에이전트와 위협 검색 서비스 간의 인증을 위해 애플리케이션을 등록할 수 있는 Microsoft Entra 테넌트입니다.
- 개별 환경 수준과 환경 그룹 수준 모두에 대해 에이전트와 외부 위협 탐지 시스템 간의 연결을 구성하는 Power Platform 관리자 역할이 있는 사용자입니다.
외부 위협 탐지 시스템 구성
에이전트에 대한 외부 위협 탐지 시스템을 구성하는 프로세스에는 다음 두 단계가 있습니다.
- Microsoft Entra 애플리케이션을 구성합니다.
- Power Platform 관리 센터에서 위협 탐지를 구성합니다.
1단계: Microsoft Entra 애플리케이션 구성
Microsoft Entra 애플리케이션을 구성하는 데 사용할 수 있는 두 가지 경로는 다음과 같습니다.
- 옵션 A: PowerShell 스크립트를 사용하여 구성(권장)
- 옵션 B: Azure Portal을 사용하여 수동으로 구성
옵션 A: PowerShell을 사용하여 구성(권장)
제공된 PowerShell 스크립트를 사용하여 Microsoft Entra 애플리케이션의 생성 및 구성을 자동화할 수 있습니다.
PowerShell 구성의 필수 구성 요소
- Windows PowerShell 5.1 이상
- Microsoft Entra 테넌트에서 애플리케이션 등록을 만들 수 있는 충분한 권한
- 위협 탐지 웹 서비스의 기본 URL입니다. URL을 다음 스크립트 매개 변수의 URL이라고
Endpoint합니다. 보안 공급자로부터 이 URL을 받아야 합니다. - 조직의 Microsoft Entra 테넌트 ID입니다. 테넌트 ID는 다음 스크립트 매개 변수에서
TenantId로 지칭됩니다.
스크립트 다운로드 및 준비
Create-CopilotWebhookApp.ps1 스크립트를 다운로드합니다.
스크립트 매개 변수
스크립트는 다음 매개 변수를 허용합니다.
| Parameter | 유형 | 필수 | 설명 |
|---|---|---|---|
| TenantId | String | Yes | GUID 형식(예 12345678-1234-1234-1234-123456789012: )의 Microsoft Entra 테넌트 ID입니다. |
| 엔드포인트 | String | Yes | 외부 위협 탐지 서비스의 기본 URL입니다(보안 공급자가 제공). Microsoft Defender를 보안 공급자로 사용하는 경우 Defender 포털에서 엔드포인트를 가져올 수 있습니다. |
| DisplayName | String | Yes | 애플리케이션 등록을 위해 제공하는 고유한 표시 이름입니다. 1~120자 사이일 수 있습니다. |
| FICName | String | Yes | 페더레이션 ID 자격 증명에 제공하는 고유한 이름입니다. 1~120자 사이일 수 있습니다. |
| DryRun | 스위치 | 아니오 | 선택적 플래그입니다. 플래그가 -DryRun 제공되면 스크립트는 리소스를 만들지 않고 유효성 검사 실행을 수행합니다. |
스크립트 실행
애플리케이션을 만들려면:
관리자 권한으로 Windows PowerShell을 엽니다.
스크립트가 포함된 디렉터리로 이동합니다.
다음 스크립트를 실행하고
TenantId,Endpoint,DisplayName및FICName자리 표시자를 사용자 고유의 매개변수로 대체하십시오..\Create-CopilotWebhookApp.ps1 ` -TenantId "11111111-2222-3333-4444-555555555555" ` -Endpoint "https://provider.example.com/threat_detection/copilot" ` -DisplayName "Copilot Security Integration - Production" ` -FICName "ProductionFIC"
대화형 스크립트는 명령줄에서 실행됩니다. 스크립트는 만든 Microsoft Entra 애플리케이션의 앱 ID를 출력합니다. 나중에 Power Platform 관리 센터에서 위협 탐지를 구성할 때 앱 ID가 필요합니다.
옵션 B: Azure Portal을 사용하여 수동으로 구성
수동 구성을 위한 필수 구성 요소
- 조직의 Microsoft Entra 테넌트 ID입니다. 테넌트 ID는 다음 지침에서 tenantId 라고 합니다.
- Microsoft Entra 테넌트에서 애플리케이션 등록을 만들 수 있는 충분한 권한입니다.
- 사용 중인 위협 탐지 웹 서비스의 기본 URL입니다. 이를 다음 지침의 엔드포인트 라고 합니다. 보안 공급자로부터 이 URL을 받아야 합니다.
Microsoft Entra 애플리케이션을 등록합니다.
다음 단계에 따라 Microsoft Entra 애플리케이션 등록을 만듭니다. 애플리케이션은 에이전트와 위협 검색 웹 서비스 간의 인증을 보호하는 데 사용됩니다. 이러한 앱을 만드는 방법을 알아보려면 Microsoft Entra ID에 애플리케이션 등록을 참조하십시오.
- Azure Portal에 로그인하고 Microsoft Entra ID 페이지로 이동합니다.
- 앱 등록에서 새 등록을 선택합니다.
- 이름을 제공하고 지원되는 계정 유형으로 이 조직 디렉터리의 계정만(단일 테넌트)을 선택합니다.
- 앱을 등록합니다.
- 앱을 만든 후 앱 ID를 복사합니다. 나중에 Power Platform 관리 센터에서 위협 탐지를 구성할 때 앱 ID가 필요합니다.
선택한 공급자를 사용하여 Microsoft Entra 애플리케이션에 권한을 부여합니다.
에이전트는 FIC(페더레이션 ID 자격 증명)를 위협 탐지 시스템 공급자와 데이터를 교환하기 위한 안전한 비밀 없는 인증 방법으로 사용합니다. 다음 단계에 따라 Microsoft Entra 애플리케이션에 대한 FIC를 구성합니다. 자세한 내용은 외부 ID 공급자를 신뢰하도록 사용자 할당 관리 ID 구성을 참조하세요.
Azure Portal을 열고 앱 등록으로 이동합니다. 위의 1단계에서 만든 애플리케이션을 선택합니다.
사이드바에서 관리>인증서 & 비밀>페더레이션된 자격 증명을 선택합니다.
자격 증명 추가를 선택합니다.
페더레이션된 자격 증명 시나리오 드롭다운에서 다른 발급자를 선택합니다.
다음 지침에 따라 필드를 채웁니다.
발급자: 다음 URL을 입력하여 조직의 Microsoft Entra 테넌트 ID로 바
{tenantId}꿉니다.https://login.microsoftonline.com/{tenantId}/v2.0유형: 명시적 주체 식별자를 선택합니다.
값: 다음과 같이 구조화된 문자열을 입력합니다.
/eid1/c/pub/t/{base 64 encoded tenantId}/a/m1WPnYRZpEaQKq1Cceg--g/{base 64 encoded endpoint}조직의 Microsoft Entra 테넌트 ID 및 위협 탐지 웹 서비스의 기본 URL에 대해 base64 인코딩을 수행합니다. 자리 표시자를
{base 64 encoded tenantId}테넌트 ID의 base64로 인코딩된 값으로 바꾸고 자리 표시자를{base 64 encoded endpoint}base64로 인코딩된 기본 URL로 바꿉니다.테넌트 ID 및 엔드포인트 URL의 base64 인코딩을 가져오려면 다음 PowerShell 스크립트를 사용합니다. 테넌트 ID 및 엔드포인트 URL에 대한 실제 값으로 자리 표시자 값 "11111111-2222-3333-4444-555555555555" 및 "https://provider.example.com/threat_detection/copilot""를 교체하세요.
# Encoding tenant ID $tenantId = [Guid]::Parse("11111111-2222-3333-4444-555555555555") $base64EncodedTenantId = [Convert]::ToBase64String($tenantId.ToByteArray()).Replace('+','-').Replace('/','_').TrimEnd('=') Write-Output $base64EncodedTenantId # Encoding the endpoint $endpointURL = "https://provider.example.com/threat_detection/copilot" $base64EncodedEndpointURL = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($endpointURL)).Replace('+','-').Replace('/','_').TrimEnd('=') Write-Output $base64EncodedEndpointURL이름: 설명이 포함된 이름을 선택합니다.
추가 단추를 선택합니다.
2단계: 위협 탐지 시스템 구성
다음으로, 에이전트를 외부 보안 공급자에 연결하도록 Power Platform 관리 센터에서 위협 탐지 시스템을 구성해야 합니다.
Power Platform 관리 센터에서 위협 탐지를 구성하기 위한 필수 구성 요소
- 이전 단계에서 만든 Microsoft Entra 애플리케이션의 앱 ID입니다.
- 외부 모니터링 시스템 공급자가 제공하는 엔드포인트 링크입니다. 엔드포인트 링크는 Microsoft Entra 애플리케이션을 구성할 때 사용하는 것과 동일한 기본 URL 엔드포인트입니다.
- 연결을 구성할 Power Platform 관리자 역할이 있는 사용자입니다.
- 보안 공급자가 등록된 애플리케이션에 권한을 부여하는 데 필요한 다른 단계를 수행합니다. 특정 온보딩 및 권한 부여 단계는 공급자의 설명서(해당하는 경우)를 참조해야 합니다.
Power Platform 관리 센터에서 위협 탐지 시스템을 구성하려면 다음 단계를 수행합니다.
- Power Platform 관리 센터에 로그인합니다.
- 측면 탐색에서 보안을 선택한 다음 위협 검색을 선택합니다. 위협 검색 페이지가 열립니다.
- 추가 위협 탐지를 선택합니다. 창이 열립니다.
- 에이전트 보호를 향상할 환경을 선택하고 설정을 선택합니다. 창이 열립니다.
- Copilot Studio에서 위협 탐지 공급자와 데이터를 공유하도록 허용을 선택합니다.
- Azure Entra 앱 ID 아래에 이전에 만든 Microsoft Entra 애플리케이션의 앱 ID를 입력합니다.
- 외부 모니터링 시스템 공급자가 제공하는 엔드포인트 링크를 입력합니다. 엔드포인트 링크는 Microsoft Entra 애플리케이션을 구성할 때 사용하는 것과 동일한 기본 URL 엔드포인트입니다.
- 오류 동작 설정에서 위협 탐지 시스템이 시간에 응답하지 않거나 오류로 응답하는 경우에 대한 시스템의 기본 동작을 정의합니다. 기본적으로 에이전트가 응답할 수 있도록 설정되지만 위험을 더 줄이기 위해쿼리 차단 옵션을 선택할 수도 있습니다.
- 저장을 선택합니다.
중요합니다
Microsoft Entra 앱이 Microsoft Entra에서 제대로 구성되지 않았거나 선택한 공급자에게 제대로 권한이 부여되지 않은 경우 저장이 실패합니다.
비고
구성되면 위협 탐지 시스템은 에이전트가 도구를 호출하기 전에 트리거됩니다. 에이전트가 1초 이내에 시스템에서 결정(허용 또는 차단)을 받지 못하면 도구가 계획대로 실행 되도록 허용 합니다.
Troubleshooting
발생할 수 있는 문제 및 처리 방법에 대한 몇 가지 정보는 다음과 같습니다.
Power Platform 관리 센터 위협 감지 구성 문제
다음 표에서는 이전 단계에서 저장을 선택할 때 발생할 수 있는 일반적인 오류와 이러한 오류를 처리하는 방법에 대해 설명합니다.
| Error | 처리 방법 |
|---|---|
| 설정을 저장하는 동안 문제가 발생했습니다. 다시 저장해 보고 작동하지 않는 경우 관리자에게 문의하여 도움을 요청하십시오. | 구성 저장의 일반적인 문제입니다. 다시 시도하세요. 작동하지 않는 경우 Copilot Studio에 문의하여 지원을 요청하십시오. |
| 보호 공급자에 연결하는 동안 문제가 발생했습니다. 공급자에게 문의하여 도움을 요청하십시오. | 이 오류는 제공된 엔드포인트에 대한 호출 시간이 초과되거나 실패할 때 표시됩니다. 공급자에게 문의하여 해당 서비스에 문제가 없는지 확인합니다. |
| 보호 공급자에 연결하는 동안 문제가 발생했습니다. 엔드포인트 링크를 확인해 보십시오. 작동하지 않는 경우 보호 공급자에게 문의하여 도움을 요청하세요. | 이 오류는 제공된 엔드포인트에 대한 호출이 실패할 때 표시됩니다. 제공된 엔드포인트 링크를 확인하고 작동하지 않는 경우 위협 탐지 서비스 공급자에게 문의하고 해당 서비스에 문제가 없는지 확인합니다. |
| 보호 공급자에 연결하는 동안 문제가 발생했습니다. 다시 시도하면 작동하지 않는 경우 보호 공급자에게 문의하여 도움을 요청하세요. | 이 오류는 제공된 엔드포인트에 대한 호출이 실패할 때 표시됩니다. 다시 시도하고 작동하지 않는 경우 공급자에게 문의하여 해당 서비스에 문제가 없는지 확인합니다. |
| 구성에 문제가 있습니다. 입력한 세부 정보 및 Microsoft Entra 구성을 확인해 보세요. 문제가 지속되면 관리자에게 도움을 요청하십시오. | 토큰 획득에 실패했습니다. Microsoft Entra 애플리케이션 구성 및 페더레이션 ID 자격 증명을 확인합니다. 특정 문제에 대한 자세한 내용은 "오류 정보 복사"를 선택한 후 찾을 수 있습니다. |
| 구성을 변경하려면 Power Platform 관리자 권한이 있는지 확인합니다. | 필요한 권한이 있는 사용자 만들기 |
자세한 오류 정보는 오류 정보 복사를 선택합니다.
일반적인 Microsoft Entra 및 인증 문제
다음은 Microsoft Entra 앱 및 인증에서 발생할 수 있는 몇 가지 일반적인 문제입니다.
Microsoft Entra 애플리케이션이 없습니다.
예: 토큰 획득 실패: AADSTS700016: 식별자가 '55ed00f8-faac-4a22-9183-9b113bc53dd4'인 애플리케이션이 'Contoso' 디렉터리에 없습니다. 이 문제는 애플리케이션이 테넌트의 관리자가 설치하지 않았거나 테넌트의 모든 사용자가 동의한 경우에 발생할 수 있습니다. 잘못된 테넌트에 인증 요청을 보냈을 수 있습니다.
처리 방법: 제공된 애플리케이션 ID가 올바르고 Azure에 있는지 확인합니다.
앱에 구성된 FIC 없음
본보기: 토큰을 획득하지 못했습니다. 구성 문제로 인해 인증이 차단되고 있습니다. 자세한 내용은 서버의 오류 메시지를 확인하세요. 애플리케이션 등록 포털에서 구성을 수정할 수 있습니다. 자세한 내용은 https://aka.ms/msal-net-invalid-client를 참조하세요. 원래 예외: AADSTS70025: 클라이언트 '57342d48-0227-47cd-863b-1f4376224c21'(Webhooks 테스트)에 구성된 페더레이션 ID 자격 증명이 없습니다.
처리 방법: 제공된 앱에 구성된 FIC가 없습니다. 설명서를 따르고 그에 따라 FIC를 구성합니다.
잘못된 FIC 발급자
본보기: 토큰을 획득하지 못했습니다. 구성 문제로 인해 인증이 차단되고 있습니다. 자세한 내용은 서버의 오류 메시지를 확인하세요. 애플리케이션 등록 포털에서 구성을 수정할 수 있습니다. 자세한 내용은 https://aka.ms/msal-net-invalid-client를 참조하세요. 원래 예외: AADSTS7002111: 제시된 어설션 발급자 ''https://login.microsoftonline.com/262d6d26-0e00-40b3-9c2f-31501d4dcbd1/v2.0에 대해 일치하는 페더레이션 ID 레코드를 찾을 수 없습니다. 페더레이션 ID 자격 증명 발급자가 'https://login.microsoftonline.com/{tenantId}/v2.0'인지 확인합니다.
처리 방법: 앱에서 예상되는 발급자를 가진 FIC를 찾을 수 없습니다. FIC 구성을 열고 발급자를 https://login.microsoftonline.com/{tenantId}/v2.0(테넌트 ID 입력)로 설정합니다.
잘못된 FIC 제목
본보기: 토큰을 획득하지 못했습니다. 구성 문제로 인해 인증이 차단되고 있습니다. 자세한 내용은 서버의 오류 메시지를 확인하세요. 애플리케이션 등록 포털에서 구성을 수정할 수 있습니다. 자세한 내용은 https://aka.ms/msal-net-invalid-client를 참조하세요. 원래 예외: AADSTS7002137: 제시된 어설션 주체 '/eid1/c/pub/t/Jm0tJgAOs0CcLzFQHU3L0Q/a/iDQPIrayM0GBBVzmyXgucw/aHR0cHM6Ly9jb250b3NvLnByb3ZpZGVyLmNvbeKAiw'에 대해 일치하는 페더레이션 ID 레코드가 없습니다. 페더레이션 ID 자격 증명 주체가 '/eid1/c/pub/t/{tenantId}/a/iDQPIrayM0GBBVzmyXgucw/aHR0cHM6Ly9jb250b3NvLnByb3ZpZGVyLmNvbeKAiw' 인지 확인합니다.
처리 방법: 앱에서 예상되는 주체를 가진 FIC를 찾을 수 없습니다. FIC 구성을 열고 오류에 제안된 대로 주체를 예상 값으로 설정합니다(테넌트 ID 입력). 제목 필드에 추가 공백이나 빈 줄이 없는지 확인합니다.
앱이 공급자와 함께 허용 목록에 없음(Microsoft Defender 관련)
예시: 인증 토큰의 애플리케이션 ID가 웹후크 액세스를 위해 등록된 애플리케이션과 일치하지 않습니다. 올바른 애플리케이션 자격 증명을 사용하고 있는지 확인합니다.
처리 방법: 애플리케이션은 공급자와 함께 허용 목록에 없습니다. 앱 웹후크 액세스 권한을 부여하려면 공급자 설명서를 참조하십시오.
위협 탐지 시스템에 의한 보호 연결 끊기
위협 탐지 시스템이 에이전트를 더 이상 모니터링하지 않으려면 다음 단계를 수행합니다.
- Power Platform 관리 센터에 로그인합니다.
- 측면 탐색에서 보안을 선택한 다음 위협 검색을 선택합니다. 위협 검색 페이지가 열립니다.
- 추가 위협 탐지를 선택합니다. 창이 열립니다.
- 향상된 에이전트 보호를 해제할 환경을 선택하고 설정을 선택합니다. 창이 열립니다.
- 선택한 공급자와 데이터를 공유하도록 Copilot Studio 허용 선택을 취소합니다.
- 저장을 선택합니다.