Copilot Studio 에이전트를 생성하면, 에이전트 ID를 알고 있는 누구나 데모 웹 사이트 및 사용자 지정 웹 사이트를 통해 즉시 에이전트에 액세스할 수 있습니다. 이 채널은 기본적으로 사용 가능하며 구성이 필요하지 않습니다.
Microsoft Teams 앱의 경우 고급 웹 채널 보안 옵션을 구성할 수 있습니다.
노트
Teams 전용 라이선스가 있는 경우 보안 액세스를 활성화하기 위해 암호를 생성할 수 없습니다. 보안 액세스 토큰이 자동으로 생성되며 기본적으로 보안 액세스가 활성화됩니다.
사용자는 Copilot Studio에서 직접 에이전트 ID를 찾거나 다른 사용자로부터 ID를 받을 수 있습니다. 하지만 에이전트의 역량과 민감도에 따라, 그러한 접근은 바람직하지 않을 수도 있습니다.
Direct Line 기반 보안을 사용하면 Direct Line 비밀이나 토큰을 통해 보안 액세스를 활성화함으로써, 제어하는 위치에서만 액세스할 수 있도록 설정할 수 있습니다.
또한 비밀을 교환 및 재생성하고 토큰을 새로 고칠 수 있으며 더 이상 사용하지 않으려는 경우 보안 액세스를 쉽게 비활성화할 수 있습니다.
참고
Copilot Studio는 Bot Framework Direct Line 채널을 통해 웹 페이지나 앱과 에이전트를 연결합니다.
웹 채널 보안 활성화 또는 비활성화
각 개별 에이전트에 대한 비밀 및 토큰 사용을 강제할 수 있습니다.
이 옵션이 활성화되면 채널은 클라이언트가 비밀 사용 또는 비밀을 사용하여 생성된 토큰 사용을 통해 요청을 인증해야 합니다.
이러한 보안 조치를 갖추지 않은 상태로 에이전트에 액세스하려는 시도는 작동하지 않습니다.
- 에이전트의 설정 페이지로 이동하여, 보안을 선택한 후, 웹 채널 보안을 선택하세요.
- 보안 액세스 필요를 켭니다.
경고
보안 액세스 필요 설정을 켜거나 끄면, 시스템에 설정이 반영되어 적용되기까지 최대 2시간이 소요될 수 있습니다. 그때까지는 이전 설정이 적용됩니다. 이 변경 사항을 적용하기 위해 에이전트를 게시할 필요는 없습니다.
의도치 않게 에이전트가 노출되는 일을 피하려면 미리 계획을 세우십시오.
웹 채널 보안 옵션을 비활성화해야 하는 경우, 보안 액세스 필요 토글을 해제하여 설정할 수 있습니다. 보안 액세스를 비활성화하려면 최대 2시간이 소요될 수 있습니다.
비밀 또는 토큰 사용
서비스투서비스 앱을 만드는 경우 인증 헤더 요청에 비밀을 지정하는 것이 가장 간단한 방법일 수 있습니다.
클라이언트가 웹 브라우저 또는 모바일 앱에서 실행되는 앱을 작성하거나 코드가 고객에게 표시될 수 있는 경우 비밀을 토큰으로 교환해야 합니다. 토큰을 사용하지 않으면 비밀이 손상될 수 있습니다. 서비스에서 토큰 획득을 요청하는 경우 권한 부여 헤더에 비밀을 지정하십시오.
토큰은 단일 대화에만 작동하며 새로 고치지 않으면 만료됩니다.
상황에 가장 적합한 보안 모델을 선택하십시오.
경고
하드 코딩되거나 네트워크 호출을 통해 전송된 브라우저에서 실행되는 모든 코드에서 비밀을 노출하지 마십시오.
서비스 코드의 비밀을 사용하여 토큰을 획득하는 것이 Copilot Studio 에이전트를 보호하는 가장 안전한 방법입니다.
비밀 획득
앱의 인증 헤더 요청 등에서 지정할 수 있도록 비밀이 필요합니다.
탐색 메뉴에서 설정 아래의 보안을 선택합니다. 그런 다음 웹 채널 보안 타일을 선택합니다.
복사를 선택하여 비밀 1 또는 비밀 2 중 하나를 클립보드에 복사합니다. 가시성 아이콘
을 선택하여 비밀을 보여줍니다. 경고 프롬프트가 나타나기 전에 비밀이 나타납니다.
비밀 교환
에이전트가 사용하는 비밀을 변경해야 하는 경우, 다운 타임이나 중단 없이 변경할 수 있습니다.
Copilot Studio는 동시에 작동하는 두 가지 비밀을 제공합니다. 에이전트가 사용하는 비밀을 다른 비밀로 교체할 수 있습니다. 비밀이 바뀌고 사용자가 모두 새로운 비밀을 사용하여 연결되면 비밀을 다시 생성할 수 있습니다.
비밀 다시 생성
비밀을 다시 생성하려면 비밀 옆의 재생성을 선택합니다.
경고
원본 비밀 값 또는 해당 비밀 값으로 획득한 토큰을 사용하여 연결된 사용자 프로필의 연결이 해제됩니다.
토큰 생성
단일 에이전트 대화를 시작할 때 사용할 토큰을 생성할 수 있습니다. 자세한 내용은 모바일 또는 사용자 지정 앱에 에이전트 게시의 Direct Line 토큰 가져오기 섹션을 참조하세요.
서비스 코드에서 다음 요청을 보내 비밀을 토큰으로 교환하십시오.
<SECRET>을 1 단계에서 얻은 비밀 값으로 교체합니다.POST https://directline.botframework.com/v3/directline/tokens/generate Authorization: Bearer <SECRET>
다음 코드 조각은 생성된 토큰 요청 및 해당 응답의 예를 제공합니다.
샘플 토큰 요청 생성
POST https://directline.botframework.com/v3/directline/tokens/generate
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0
샘플 토큰 응답 생성
HTTP/1.1 200 OK
[other headers]
{
"conversationId": "abc123",
"token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
"expires_in": 1800
}
요청이 성공하면 응답이 하나의 대화와 토큰 만료 전까지 남은 초를 나타내는 expires_in 값에 유효한 토큰을 포함합니다.
토큰을 계속 유효하게 유지하려면 만료되기 전에 토큰 새로 고침을 수행해야 합니다.
토큰 새로 고침
토큰이 만료되지 않았다면 횟수 제한 없이 토큰을 갱신할 수 있습니다.
만료된 토큰은 갱신할 수 없습니다.
토큰을 새로 고치려면 다음 요청을 전송하고 <TOKEN TO BE REFRESHED>를 새로 고치려는 토큰으로 교체합니다.
POST https://directline.botframework.com/v3/directline/tokens/refresh
Authorization: Bearer <TOKEN TO BE REFRESHED>
다음 스니펫은 토큰 새로 고침 요청 및 해당 응답의 예를 제공합니다.
샘플 새로 고침 요청
POST https://directline.botframework.com/v3/directline/tokens/refresh
Authorization: Bearer CurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn
샘플 새로 고침 응답
요청이 성공하면 응답이 동일한 대화와 새 토큰 만료 전까지 남은 초를 나타내는 expires_in 값에 유효한 새 토큰을 포함합니다.
새 토큰을 계속 유용하게 사용하려면 만료되기 전에 다시 갱신하십시오.
HTTP/1.1 200 OK
[other headers]
{
"conversationId": "abc123",
"token": "RCurR_XV9ZA.cwA.BKA.y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xniaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0",
"expires_in": 1800
}
토큰 새로 고침에 대한 자세한 내용은 Direct Line 토큰 새로 고침 섹션을 Direct Line API - 인증에서 참조하세요.