Note
Azure AI 검색 Azure 포털, REST API 및 Azure SDK 통해 사용할 수 있습니다. 또한 엔터프라이즈 콘텐츠를 Microsoft Foundry 포털의 에이전트에 대해 재사용 가능한 사용 권한 인식 기술 자료로 변환하는 관리되는 기술 계층인 Foundry IQ를 뒷받침합니다.
인덱싱된 SharePoint 콘텐츠에 대한 쿼리 시간 권한 필터링이 누락되거나 예기치 않은 결과를 반환하거나 권한 필터링된 쿼리가 실패하는 경우 이 문서를 사용합니다.
사전 요구 사항
- Microsoft 365의 SharePoint 인덱서가 ACL 수집이 구성된 상태로 채워 넣은 인덱스.
- 쿼리 시간 ACL 및 RBAC 적용에 설명된 대로 구성된 쿼리 시간 권한 필터링입니다.
- SharePoint 사이트 그룹을 사용하는 경우 REST API 버전
2026-08-01-preview또는 동등한 미리 보기 SDK 패키지입니다. - 인덱스 정의, 생성 또는 명시적 인덱서 상태 및 테스트 사용자에 대한 SharePoint 권한에 액세스합니다.
- 필터링된 결과와 필터링되지 않은 결과를 비교해야 하는 경우 Search Index Data Contributor 또는 이에 상응하는 상위 읽기 권한이 필요합니다.
문제 해결 의사 결정 트리를 따릅니다.
이러한 검사를 순서대로 완료합니다. 관찰된 결과가 수정이 필요한 구성 또는 사용 권한을 식별하는 경우 중지합니다.
1. 쿼리 시 오류가 발생하는지 확인
이 문서에서는 SharePoint 콘텐츠 및 ACL 메타데이터가 인덱싱된 후의 권한 필터링에 대해 설명합니다.
- 데이터 원본을 만들거나 인덱서를 실행할 때
Invalid AAD tenant가 보고되면 Microsoft Entra 테넌트 문제 해결 절차를 따르세요. -
TenantId, 인증 또는 데이터 원본 연결 문자열을 수정해야 하는 경우 Microsoft 365 인덱서에서 SharePoint 구성을 참조하세요. - 인덱싱 중에
UserIds,GroupIds또는SharePointSiteUrl가 누락된 경우 ACL 수집 문제 해결 테이블을 사용하세요.
인덱싱된 권한 메타데이터가 존재하고 쿼리할 때 증상이 발생하는 경우에만 여기에서 계속합니다.
2. 세 가지 ID 식별
각 역할을 맡는 신원을 기록합니다. 한 식별자를 다른 식별자로 대체하지 마세요.
| Identity | Purpose | 확인할 위치 |
|---|---|---|
| 사용자 조회 중 | 위임된 사용자 토큰은 x-ms-query-source-authorization 사용자가 검색할 수 있는 보호된 문서를 결정합니다. |
애플리케이션 인증 흐름 및 쿼리 요청. |
| SharePoint 커넥터 앱 등록 |
sharePointConnectorAppRegistration 인덱스를 사용하면 Azure AI 검색 쿼리하는 사용자의 SharePoint 사이트 그룹 멤버 자격을 확인할 수 있습니다. |
SharePoint 그룹 구성 지원에 설명된 인덱스 정의 및 앱 등록입니다. |
| Azure AI 검색 요청 ID | 헤더의 Microsoft Entra 전달자 토큰 Authorization 또는 헤더의 api-key API 키는 검색 서비스에 대한 요청을 인증합니다. ID에는 인덱스 쿼리 권한이 있어야 합니다. |
쿼리 클라이언트 및 Azure AI 검색 데이터 평면 역할 할당 |
3. 권한 필터 구성 확인
인덱스, 인덱서 및 생성된 개체를 소유자 아티클과 비교합니다.
- 인덱스가
permissionFilterOption로 설정되어 있는지 확인합니다enabled. -
UserIds및GroupIds에 올바른permissionFilter값이 있는지 확인하세요. - SharePoint 사이트 그룹의 경우 인덱스에
sharePointConnectorAppRegistration및sharepointSiteUrl: true가 있는SharePointSiteUrl필드가 있는지 확인합니다. - 인덱싱된 모든 문서 또는 청크가 해당 사용 권한 필드를 전달하는지 확인합니다. 스킬셋이 인덱스 프로젝션을 사용하는 경우 ACL 필드가
indexProjections.mappings에 있는지 확인합니다.
값이 없는 경우 ACL 수집 및 쿼리 시간 적용에 대한 검색 서비스 구성으로 돌아갑니다.
4. 쿼리 토큰을 안전하게 확인
로그하거나, 지원 요청에 붙여넣거나, 전체 액세스 토큰을 공유하지 않습니다. 토큰 페이로드만 로컬로 디코딩하고 진단 출력을 캡처하기 전에 식별자를 삭제합니다.
- 테스트 사용자에 대해 현재 위임된 토큰이 요청에 포함되어
x-ms-query-source-authorization있는지 확인합니다. - 페이로드를 로컬로 디코딩하고 의도한
oid테스트 사용자를 식별했는지 확인합니다.<test-user-object-id>와 같은 정제된 값을 기록합니다. - 사용자를 다시 인증하고 토큰이 누락되었거나 만료된 경우 다시 시도합니다.
사용자 토큰을 생략하면 권한으로 보호되는 콘텐츠가 반환되지 않습니다. 헤더만으로는 Authorization 대체 x-ms-query-source-authorization되지 않습니다.
5. Microsoft Entra 권한 확인
- 인덱싱된
UserIds또는GroupIds에 예상되는 Microsoft Entra 개체 ID가 포함되어 있는지 확인합니다. 이 진단 비교에만 권한 상승 읽기 쿼리를 사용하세요. - 테스트 사용자가 직접 할당되었거나 전이적 Microsoft Entra 그룹 멤버십을 통해 할당된 Microsoft Entra 그룹에 속하는지 확인합니다.
- Microsoft Entra 그룹이 SharePoint 그룹 내에 중첩된 경우 할당을 변경합니다. 이 혼합 관계는 확장되지 않으므로 누락된 결과가 발생할 수 있습니다. 사용자를 SharePoint 그룹 직접 추가하거나 지원되는 Microsoft Entra 그룹 할당을 통해 권한을 부여합니다.
정확한 지원 경계는 지원되는 그룹 관계를 참조하세요.
6. SharePoint 사이트 그룹 사용 권한 확인
문서 ACL이 소유자, 구성원, 방문자 또는 사용자 지정 SharePoint 사이트 그룹에 의존하는 경우 이 단계를 완료합니다.
- 상승된 읽기 권한 쿼리를 사용하여
GroupIds에 예상된spg:-접두사 그룹 ID가 포함되어 있고SharePointSiteUrl가 소스 사이트를 식별하는지 확인합니다. - 테스트 사용자가 해당 SharePoint 그룹 직접 멤버인지 확인합니다.
- 인덱스가
sharePointConnectorAppRegistrationSharePoint 그룹 지원에 필요한 식별자 및 사용 권한을 사용하는지 확인합니다.
인덱싱된 필드가 비어 있거나 부실한 경우 쿼리를 다시 테스트하기 전에 수집을 수정하거나 SharePoint 권한을 동기화합니다.
7. 쿼리 요청 확인
- 사이트 그룹 사용 권한 필터를 SharePoint REST API 버전
2026-08-01-preview또는 동등한 미리 보기 SDK 패키지를 사용합니다. -
Authorization가 인덱스를 쿼리할 수 있는 보안 주체를 인증하는지 확인합니다. -
x-ms-query-source-authorization에 위임된 테스트 사용자 토큰이 포함되어 있는지 확인합니다. - 권한 동작을 격리할 수 있도록 관련 없는 필터 또는 순위 변경 없이 동일한 쿼리를 다시 시도합니다.
일반 쿼리 예제를 요청 셰이프 소유자로 사용합니다. 저장된 요청 또는 로그에 전체 토큰을 포함하지 마세요.
8. 예상 결과와 실제 결과 비교
- 테스트 사용자가 액세스할 수 있는 문서 하나와 사용자가 SharePoint 액세스할 수 없는 문서 하나를 선택합니다.
- 권한 필터링된 쿼리를 테스트 사용자로 실행하고 문서 키 또는 기타 비보안 식별자만 기록합니다.
- 권한 상승 읽기 쿼리를 실행하고 저장된
UserIds,GroupIds,SharePointSiteUrl값을 원본 권한과 비교합니다. - 상승된 권한으로 읽기에서는 예상한 문서가 반환되지만 사용자 쿼리에서는 그렇지 않은 경우, 사용자 토큰과 그룹 확인 과정에 집중하세요. 상승된 권한으로 읽어도 이를 찾지 못하면 수집, 매핑 및 ACL 동기화에 집중하세요.
상승된 읽기는 조사를 위한 것입니다. 최종 사용자에게 무제한 결과를 반환하는 데 사용하지 마세요.
9. 요청 상관 관계 세부 정보 캡처
쿼리가 여전히 실패하는 경우 API 버전, UTC 타임스탬프, 삭제된 요청 본문, HTTP 상태, 응답 헤더 및 서비스에서 반환된 모든 요청 또는 상관 관계 ID를 캡처합니다. 인덱스 이름과 동일한 문서가 상위 권한으로 읽을 때도 나타나는지 여부를 포함합니다.
Microsoft 지원 진단을 공유하기 전에 액세스 토큰, API 키, 비밀, 사용자 이름 및 테넌트별 URL을 제거합니다.