비고
이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
쿼리 시 Azure AI Search는 Microsoft Purview에 정의된 민감도 레이블 정책을 적용합니다. 이러한 정책에는 각 문서에 연결된 READ 사용 권한 평가가 포함됩니다. 따라서 사용자는 볼 수 있는 문서만 검색할 수 있습니다.
이 기능은 Microsoft Purview에서 관리되는 조직의 정보 보호 및 규정 준수 요구 사항에 맞게 문서 수준 액세스 제어를 확장합니다.
Purview 민감도 레이블 인덱싱을 사용하도록 설정하면 Azure AI Search는 쿼리 시간 동안 각 문서의 레이블 메타데이터를 확인합니다. Purview 정책에 따라 액세스 필터를 적용하여 요청 중인 사용자가 액세스할 수 있는 결과만 반환합니다.
이 문서에서는 쿼리 시간 민감도 레이블 적용의 작동 방식과 보안 검색 쿼리를 실행하는 방법을 설명합니다.
필수 조건
민감도 레이블 사용 인덱스 쿼리를 수행하려면 다음 조건을 충족해야 합니다.
Azure AI 검색 인덱서가 Microsoft Purview 민감도 레이블을 수집하려면 모든 단계를 따라야 합니다.
Azure AI Search 서비스와 쿼리를 실행하는 사용자는 모두 동일한 Microsoft Entra 테넌트에 속해야 합니다.
최신 미리 보기 API 버전 2025-11-01-preview 또는 호환되는 베타 SDK를 사용하여 인덱스 쿼리를 수행해야 합니다.
쿼리는 API 키가 아닌 Azure RBAC(역할 기반 액세스 제어)를 사용하여 인증되어야 합니다. API 키 액세스는 Purview 민감도 레이블 기능을 사용하는 경우에만 인덱스 스키마 검색으로 제한됩니다.
제한점
- Microsoft Entra 게스트 사용자 및 테넌트 간 쿼리는 지원되지 않습니다.
- 자동 완성 및 제안 API는 Purview 사용 인덱스에 대해 지원되지 않습니다.
- 레이블 평가에 실패하는 경우(예: Purview API를 일시적으로 사용할 수 없음) 서비스는 5xx를 반환하고 부분 또는 필터링되지 않은 결과 집합을 반환 하지 않습니다.
- ACL 기반 보안 필터는 현재 민감도 레이블 기능과 함께 지원되지 않습니다. 둘 다 동시에 사용하도록 설정하지 마세요. 결합된 사용이 지원되면 그에 따라 문서화됩니다.
- 시스템은 마지막 인덱서 실행 시 존재했던 레이블만 평가합니다. 최근 레이블 변경 내용은 다음 예약된 다시 인덱스까지 반영되지 않을 수 있습니다.
쿼리 시간 민감도 레이블 적용의 작동 방식
Microsoft Purview 민감도 레이블이 포함된 인덱스를 쿼리할 때 Azure AI Search는 결과를 반환하기 전에 연결된 Purview 정책을 확인합니다. 이러한 방식으로 쿼리는 사용자 토큰에 액세스할 수 있는 문서만 반환합니다.
1. 사용자 ID 및 애플리케이션 역할 입력
쿼리 시 Azure AI Search는 다음 두 가지 모두의 유효성을 검사합니다.
- 호출 애플리케이션의 RBAC 역할은
Authorization헤더에 제공됩니다. - 헤더에 제공된
x-ms-query-source-authorization토큰을 통한 사용자 ID입니다.
둘 다 레이블 기반 표시 권한을 부여해야 합니다.
| 입력 유형 | Description | 예제 원본 |
|---|---|---|
| 애플리케이션 역할 | 호출 앱에 인덱스에 대한 쿼리를 실행할 수 있는 권한이 있는지 여부를 확인합니다. | Authorization: Bearer <app-token> |
| 사용자 ID | 최종 사용자가 액세스할 수 있는 민감도 레이블을 결정합니다. | x-ms-query-source-authorization: Bearer <user-token> |
2. 민감도 레이블 평가
쿼리 요청을 받으면 Azure AI Search는 다음을 평가합니다.
- 인덱싱된 각 문서의 sensitivityLabel 필드입니다(수집하는 동안 Microsoft Purview에서 추출됨).
- Microsoft Entra ID 및 Purview 레이블 정책에 정의된 사용자의 유효 Purview 권한입니다.
추출 권한이 있는 문서의 민감도 레이블에 대한 권한이 사용자에게 부여되지 않은 경우 해당 문서는 쿼리 결과에서 제외됩니다.
비고
내부적으로 서비스는 RBAC 적용과 유사한 동적 액세스 필터를 빌드합니다.
이러한 필터는 사용자가 볼 수 없으며 쿼리 페이로드에서 수정할 수 없습니다.
3. 결과 필터링 보안
Azure AI Search는 모든 사용자 정의 필터 및 점수 매기기 단계 후에 보안 필터를 적용합니다.
문서는 다음 경우에만 최종 결과 집합에 포함됩니다.
- 호출 애플리케이션에는 유효한 역할 할당(RBAC로) 있습니다.
- 표시되는
x-ms-query-source-authorization사용자 ID 토큰은 유효하며 문서의 민감도 레이블을 사용하여 콘텐츠를 볼 수 있습니다.
두 조건 중 하나가 실패하면 결과에서 문서가 생략됩니다.
쿼리 예
다음은 Microsoft Purview 민감도 레이블 적용을 사용하는 쿼리 요청의 예입니다.
쿼리 토큰은 요청 헤더에 전달됩니다. 두 헤더 모두 애플리케이션과 최종 사용자를 나타내는 유효한 전달자 토큰을 포함해야 합니다.
POST {{endpoint}}/indexes/sensitivity-docs/docs/search?api-version=2025-11-01-preview
Authorization: Bearer {{app-query-token}}
x-ms-query-source-authorization: Bearer {{user-query-token}}
Content-Type: application/json
{
"search": "*",
"select": "title,summary,sensitivityLabel",
"orderby": "title asc"
}
Azure AI Search의 민감도 레이블 처리
Azure AI Search는 SharePoint, Azure Blob 등의 원본에서 민감도 레이블을 사용하여 문서 콘텐츠를 인덱싱할 때 콘텐츠와 레이블 메타데이터를 모두 저장합니다. 검색 쿼리는 사용자가 해당 문서에 대한 데이터 READ 액세스 권한이 있는 경우에만 문서에 적용된 민감도 레이블을 식별하는 GUID와 함께 인덱싱된 콘텐츠를 반환합니다. 이 GUID는 레이블을 고유하게 식별하지만 레이블 이름 또는 관련 권한과 같이 사람이 읽을 수 있는 속성은 포함하지 않습니다.
민감도 레이블은 Microsoft Purview Information Protection에서 적용하는 다른 정책 컨트롤(예: 인쇄 권한 또는 스크린샷 및 화면 캡처 제한)을 수행하는 경우가 많기 때문에 사용자 인터페이스를 포함하는 시나리오에는 GUID만으로는 충분하지 않습니다. Azure AI Search는 이러한 기능을 표시하지 않습니다.
레이블 이름을 표시하거나 UI 관련 제한을 적용하려면 애플리케이션이 Microsoft Purview Information Protection 엔드포인트를 호출하여 전체 레이블 메타데이터 및 관련 권한을 검색해야 합니다.
Azure AI Search에서 반환된 GUID를 사용하여 레이블 속성을 확인하고 Purview 레이블 API를 호출하여 레이블 이름, 설명 및 정책 설정을 가져올 수 있습니다. 이 엔드 투 엔드 데모 샘플 에는 사용자 인터페이스에서 엔드포인트를 호출하는 방법을 보여 주는 코드가 포함되어 있습니다. 또한 레이블 이름을 추출하고 RAG 애플리케이션 또는 에이전트에 사용되는 인용의 일부로 노출하는 방법을 보여 줍니다.