Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.
Önemli
(önizleme) olarak işaretlenen özellikler, özellikler veya özellikler hizmet düzeyi sözleşmesi kapsamında değildir, üretim iş yükleri için önerilmez ve genel kullanıma sunulmadan önce değişebilir veya kısıtlanabilir. Azure Yapay Zeka Arama önizleme terimleri, tek başına veya genel kullanıma sunulan bir özelliğin parçası olsun, tüm önizleme işlevleri için geçerlidir.
SharePoint izin meta verilerinin alınması (önizleme), erişim denetim listeleri (ACL’ler) gibi izinlerle ilgili meta verilerini, Microsoft 365’teki SharePoint’ten alınan diğer içeriklerle birlikte korumak için bir Azure Yapay Zeka Arama dizin oluşturucusu kullanır. Dizin oluşturucu, izinleri dizine alınan her belgede meta veri olarak depolar. Sorgu zamanında kullanıcılar yalnızca erişim iznine sahip oldukları belgeleri alır.
Önemli
Tam SharePoint izin modeli, hassasiyet etiketleri ve hazır güvenli kesme gerektiren senaryolar için uzak SharePoint bilgi kaynağı kullanın. Bu yaklaşım, Copilot alma API'si aracılığıyla SharePoint'i doğrudan çağırır. Yönetim tamamen SharePoint'te yer alıyor ve sorgu sonuçları tüm geçerli izinlere ve etiketlere otomatik olarak riayet eder.
Önkoşullar
Azure Yapay Zeka Arama, herhangi bir bölgede Temel veya daha yüksek bir faturalanabilir katmanda kullanılabilir.
yapılandırılmış izinlere sahip Microsoft 365 sitelerde, kitaplıklarda, klasörlerde ve dosyalarda SharePoint.
bu makalede açıklanan ACL'ye özgü gereksinimleri uygulayarak SharePoint dizin oluşturucu belgelerinde tüm yapılandırma adımlarını tamamlayın.
Microsoft Entra uygulama izinlerini ve senaryonuza uygun bir kimlik bilgilerini yapılandırın. Bkz. ACL'ye göre izinler senaryosu. ACL alma işlemi uygulama izinleri gerektirir. Devredilmiş izinler desteklenmez. Uygulama izinleri ile devredilmiş izinler arasındaki seçim için bkz. İzin yapılandırmanızı seçin.
REST API sürüm 2026-08-01-preview veya eşdeğer bir önizleme SDK paketi.
Sınırlama
Artımlı ACL güncelleştirmeleri için 2026-05-01-preview REST API veya üzeri gerekir. Önceki önizleme API sürümlerinde sistem, ACL'leri yalnızca her öğenin ilk alımında yakalar. Sonraki izin değişiklikleri için açık yeniden dizinleme gerekir. Geçiş adımları için bkz. Dizinlenmiş içerik ve kaynak içerik arasındaki izinleri eşitleme.
Üst kapsamdaki izin değişiklikleri, sonraki dizin oluşturucu çalıştırmalarında otomatik olarak algılanmaz. Yenileme seçenekleri için bkz. Dizinlenmiş içerik ve kaynak içerik arasındaki izinleri eşitleme.
Azure portalı bu özelliği desteklemez.
Bu önizlemede aşağıdaki özellikler desteklenmez:
SharePoint Bilgi Yönetimi ilkeleri kullanıcı erişimi için geçerlidir. Sistem, sorgu sırasında bu ilkeleri değerlendirmez, içeri aktarmaz veya uygulamaz.
"Herkes" veya "Kuruluşunuzdaki kişiler" kapsamına sahip paylaşılabilir bağlantılar. Yalnızca "Belirli kişiler" kapsamına sahip bağlantılar desteklenir.
2026-05-01-preview REST API'sinde SharePoint grupları (Sahipler, Üyeler ve Ziyaretçiler grupları gibi) desteklenir. Bkz. SharePoint grupları desteğini yapılandırma. Önceki önizleme API sürümlerinde yalnızca Microsoft Entra gruplarına çözümleyen SharePoint grupları desteklenir.
Aşağıdaki dizin oluşturucu özellikleri, SharePoint kaynaklı dizine alınan belgelerde izin devralmayı desteklemez. Bu özelliklerden herhangi birini beceri kümesinde veya dizin oluşturucuda kullanırsanız, belge düzeyi izinleri dizine alınan içeriğe dahil değildir.
Bilgi deposu; ajan tabanlı almada görüntü sunumu (önizleme) için gereken varlık deposu da buna dahildir. Bu nedenle görüntü sunma, SharePoint ACL'leri alan bilgi kaynakları için desteklenmez.
SharePoint izin modeli desteği
Bu önizleme belgeler, liste öğeleri ve modern ASPX site sayfaları için temel ACL'leri destekler.
| SharePoint Özelliği | Açıklama | Desteklenen | Notlar |
|---|---|---|---|
| Site, kitaplık, liste ve sayfa devralma | Site → kitaplığı/liste → klasör → dosya/öğe/sayfa. | ✔️ | İçeri alma sırasında değerlendirilir; etkin ACL'ler her öğe için hesaplanır. |
| Klasör, dosya, liste öğesi ve sayfa benzersiz ACL'leri | Öğe düzeyinde erişim. | ✔️ | İlk alma sırasında mevcutsa ve benzersiz izinlere sahip öğelerde ACL değişikliklerini algılayan sonraki çalıştırmalarda dahil edilir. |
| SharePoint listesi öğeleri | Liste öğeleri (allSiteLists ve allSiteContent kapsayıcılar) üzerindeki izinler. |
✔️ | Önizleme, 2026-05-01-preview REST API'sinde başlar. |
| ASPX site sayfaları | Modern site sayfalarında (allSitePages ve allSiteContent kapsayıcılarda) izinler. |
✔️ | Önizleme, 2026-05-01-preview REST API'sinde başlar. |
| Microsoft Entra (Microsoft 365 ve güvenlik) grupları | Grup tabanlı erişim. | ✔️ | Microsoft Entra tanımlayıcısına (ID) çözümlenebildiğinde grup kimlikleri dahil edilir. |
| SharePoint site grupları | Sahipler/Üyeler/Ziyaretçiler ve özel site grupları. | ✔️ | Önizleme, 2026-05-01-preview REST API'sinde başlar.
SharePoint grupları yapılandırması gerektirir. Grup kimlikleri, spg: ön ekiyle üretilir. |
| Paylaşılabilir "Herkes bağlantıları" veya "Kuruluşunuzdaki kişiler bağlantıları" | Kuruluş genelinde veya genel erişim. | ❌ | Önizlemede desteklenmez. |
| Dış/konuk kullanıcılar | Konuklar için erişim. | ❌ | Desteklenmez. |
| Bilgi Yönetimi ilkeleri | Belirli izin gereksinimlerini tanımlamak için ilkeler. | ❌ | Önizlemede desteklenmez. |
| Purview duyarlılık etiketleri | Gizlilik, kategorilere ayırma, izinler ve şifreleme için belge düzeyinde güvenlik | ❌ | Ayrı bir özellik aracılığıyla desteklenir: duyarlılık etiketlerini koruma ve onurlandırma. |
Desteklenen grup ilişkileri
Microsoft Entra grup geçişliliği, Microsoft Entra içinde geçerlidir. SharePoint grupların üyesi olan Microsoft Entra grupları genişletmez.
| İzin ilişkisi | Desteklenen | Kılavuz |
|---|---|---|
| Doğrudan SharePoint öğesine atanan kullanıcı veya Microsoft Entra grubu | Evet | Dizin oluşturucu, kullanıcının veya Microsoft Entra grup nesne kimliğini öğenin izin meta verilerinde depolar. |
| Kullanıcı, Microsoft Entra gruplarının geçişli iç içe üyeliği aracılığıyla atanan bir Microsoft Entra grubuna dahil olur | Evet | Sorgu zamanı Microsoft Graph çözümlemesi, kullanıcının geçişli Microsoft Entra grup üyeliklerini genişletir. |
| Doğrudan öğeye erişimi olan bir SharePoint site grubuna atanan kullanıcı | Evet | SharePoint grupları desteğini yapılandırın. |
| bir SharePoint grubu içinde iç içe yerleştirilmiş Microsoft Entra grubu | No | SharePoint grup çözümlemesi, iç içe geçmiş Microsoft Entra grubunu genişletmez. Bu ilişkiye bağlı olan sonuçlar filtrelenir. Kullanıcıları doğrudan SharePoint grubuna ekleyin veya desteklenen bir Microsoft Entra grup ataması aracılığıyla izin tanıyın. |
| SharePoint ve Microsoft Entra için diğer karma iç içe yerleştirme yönergeleri | Belirtilmemiş | Microsoft Entra geçişlilik desteğinden çıkarım yapmayın. Bu önizleme sınırlaması, SharePoint grupların içinde iç içe yerleştirilmiş Microsoft Entra gruplarıyla sınırlandırılır. |
Hiyerarşik izinler nasıl değerlendirilir?
SharePoint izinleri, devralma bozulmadığı sürece Site → Kitaplığı → Klasör → Dosyası hiyerarşisini devralır.
Alma sırasında, dizin oluşturucu her düzeyde kullanıcı ve grup tanımlayıcılarını (ID) toplar ve her dosya için etkili ACL'yi hesaplar.
ACL’ye göre izin senaryosu
ACL alımı için gereken Microsoft Entra uygulama izinleri ve kimlik bilgisi türü, dizine eklediğiniz öğe türlerine ve grup türlerine bağlıdır. Uygulama kaydında, tüm izinler API izinleri>İzin ekle'nin altına eklenir ve federasyon kimlik bilgileri Sertifikalar ve gizli diziler>Federasyon kimlik bilgileri altına eklenir. Adım adım yönergeler ve ekran görüntüleri için bkz. 3. Adım: Microsoft Entra uygulama kaydı oluşturma ve Kayıtlı uygulamayı yönetilen kimlikle yapılandırma.
| Scenario | Eklenecek API izinleri | Credential |
|---|---|---|
| Belge kitaplığı dosyalarındaki ACL'ler, erişim yalnızca Microsoft Entra kullanıcılar ve standart gruplar (Microsoft Entra güvenlik grupları, Microsoft 365 grupları, posta etkin güvenlik grupları) aracılığıyla verildiğinde |
Microsoft Graph: Files.Read.All, Sites.FullControl.All (veya kapsamlı erişim için Sites.Selected) |
İstemci gizli anahtarı veya federasyon kimlik bilgileri |
| Belge kitaplığındaki dosyalara ait ACL'ler; SharePoint site gruplarının da (Sahipler, Üyeler, Ziyaretçiler veya özel site grupları) dikkate alınması gerektiğinde |
Microsoft Graph: Files.Read.All, Sites.FullControl.All (veya Sites.Selected)SharePoint: Sites.FullControl.All (veya Sites.Selected) |
Federasyon kimlik bilgileri (gerekli) |
| SharePoint list öğelerdeki ACL'ler |
Microsoft Graph: Files.Read.All, Sites.FullControl.All (veya Sites.Selected), User.Read.AllSharePoint: Sites.FullControl.All (veya Sites.Selected) |
Federasyon kimlik bilgileri (gerekli) |
| ASPX site sayfalarında içerik ve ACL'ler |
Microsoft Graph: Sites.FullControl.All (veya Sites.Selected), User.Read.All (belge kitaplıklarını veya listelerini de dizine alıyorsanız yukarıdaki satırlardan Files.Read.All tutun)SharePoint: Sites.FullControl.All (veya Sites.Selected) |
Federasyon kimlik bilgileri (gerekli) |
sharePointConnectorAppRegistration aracılığıyla SharePoint site gruplarının sorgu süresi çözümlemesi |
dizin oluşturucu tarafından kullanılan uygulama kaydına SharePoint: User.Read.All ekleyin |
Federasyon kimlik bilgileri (gerekli) |
Not
İzin eklediğinizde iki API yüzeyi arasından seçim yapabilirsiniz: Microsoft Graph ve SharePoint. Her ikisi de benzer adlandırılmış izinleri kullanıma sunar. Örneğin,
Sites.FullControl.Allher ikisi altında da vardır. Tabloda belirtilen API yüzeyinin altına her izni ekleyin.Senaryoya SharePoint API izinleri eklendiğinde federasyon kimlik bilgisi kullanın. İstemci gizli dizileri yalnızca Microsoft Graph belge kitaplığı satırı için çalışır.
Dizin oluşturucu bu izinleri yalnızca kullanıcının e-postasını döndüren SharePoint REST API aracılığıyla okuduğundan liste öğeleri ve ASPX site sayfaları için
User.Read.Allgereklidir. Dizin oluşturucu daha sonra her e-posta adresini Microsoft Entra nesne kimliğiyle eşlemek için Microsoft Graph’ı çağırır ve bu arama işlemi içinUser.Read.Allgerekir.Sites.Selectedkullandığınızda, dizin oluşturmadan önce uygulamaya her hedef SharePoint sitesine açık erişim verin.
Federe kimlik bilgisi, istemci parolası yerine güvenilen bir yönetilen kimlik kullanarak uygulamanın kimliğini doğrulamak için kullanılır. Aynı federasyon kimlik bilgisi hem alma (dizin oluşturucu) hem de SharePoint site gruplarının sorgu zamanı değerlendirmesini kapsar. Kurulum adımları için bkz . Kayıtlı uygulamayı yönetilen kimlikle yapılandırma.
ACL alma işlemini etkinleştirmeden önce
Kayıtlı Microsoft Entra uygulamanızda şu adımları tamamlayın:
- Dizine neyi eklemeyi planladığınıza (belge kitaplığı dosyaları, liste öğeleri, ASPX site sayfaları) ve SharePoint site gruplarının göz önünde bulundurulması gerekip gerekmediğine göre önceki tablodaki senaryonuzu belirleyin.
- Microsoft Entra yönetim merkezi uygulama kaydınızı açın ve API izinleri> İzin ekle gidin.
- Senaryonuz için listelenen Microsoft Graph izinlerini ekleyin. Yönetici onayı verin.
- Senaryonuz SharePoint izinleri de gerektiriyorsa, İsne izin ekle yeniden seçin, SharePoint API'sini seçin ve
Sites.FullControl.All(veyaSites.Selected) ekleyin. Yönetici onayı verin. - Kimlik bilgilerini yapılandırın:
- Yalnızca Microsoft Graph senaryoları için, istemci parolası'nı (Certificates & secrets>Client secrets) veya federasyon kimlik bilgisini kullanabilirsiniz.
- SharePoint izinleri içeren herhangi bir senaryo için
Certificates & secrets Federated credentials altına federasyon kimlik bilgileri ekleyin. Bkz . Kayıtlı uygulamayı yönetilen kimlikle yapılandırma.
- Dizine eklemek istediğiniz içeriği ve izinleri okuyabilmesi için uygulamaya hedef SharePoint sitelerine erişim izni verin (özellikle kapsamlı erişim için
Sites.Selectedkullandığınızda önemlidir).
Doğru Microsoft Entra tanımlayıcılarını bulma
Her tanımlayıcı Azure portalında farklı bir konumda görünür ve belirli bir yapılandırma alanıyla eşler. SharePoint ACL alımını federasyon kimlik bilgileriyle yapılandırırken başvuru olarak bu bölümü kullanın. Bu tanımlayıcılara SharePoint grup desteğini yapılandırma bölümünde ve veri kaynağı bağlantı dizesinde atıfta bulunulur.
| Tanımlayıcı | Portal konumu | Kullanıldığı yer | Notlar |
|---|---|---|---|
| İçe aktarma uygulaması (istemci) kimliği |
Uygulama kayıtları><your-app>>Genel Bakış |
ApplicationId veri kaynağı bağlantı dizesinde; applicationIdsharePointConnectorAppRegistration içinde |
Bu kimlik çoğu yapılandırma alanı için doğrudur. İstemci kimliği olarak da adlandırılır. |
| Uygulama nesne kimliği |
Uygulama kayıtları><your-app>>Genel Bakış (Uygulama (istemci) kimliğinin altında) |
Azure Yapay Zeka Arama yapılandırmasında kullanılmaz | Bunu Uygulama (istemci) kimliğiyle karıştırmayın. Aynı panelde, istemci kimliğinin hemen altında görünür. |
| Hizmet sorumlusu nesne kimliği |
> Microsoft Entra ID Geçerli uygulamalar><your-app>>Özellikleri Yönet> |
Azure Yapay Zeka Arama yapılandırmasında kullanılmaz | Bu, uygulamanın hizmet sorumlusu gösterimidir. Bu, uygulama kayıt nesnesi kimliğinden farklı bir GUID'tir. |
| Yönetilen kimlik asıl kimliği | Yönetilen kimlik kaynağının >Özellikleri veya arama hizmetinin Kimlik bölmesi | Doğrudan Azure Yapay Zeka Arama veri kaynağında veya dizin yapılandırmasında kullanılmaz | Uygulama kaydında federe kimlik kimlik bilgisini ayarladığınızda dahili olarak kullanılır. Oluşturduğunuz kimlik bilgisi bu kimliğe güvenir. |
| Federe kimlik bilgisi nesne kimliği |
Uygulama kayıtları>><your-app>Yönet>Sertifikalar ve gizli anahtarlar>Federasyon kimlik bilgileri><credential-name> |
Azure Yapay Zeka Arama yapılandırmasında kullanılmaz |
federatedCredentialId için federe kimlik bilgisi girdisinin GUID'sini kullanmayın. |
| Federatif kimlik bilgisi uygulama kimliği | Sistem tarafından atanan: Microsoft Entra ID>Kurumsal uygulamalar><search-service>>Özellikler; Kullanıcı tarafından atanan: <managed-identity-resource>>Özellikler |
FederatedCredentialApplicationId veri kaynağı bağlantı dizesinde; federatedCredentialIdsharePointConnectorAppRegistration içinde |
Yönetilen kimlik araması için bkz. Federasyon kimlik bilgisi uygulama kimliği . |
Federatif kimlik bilgisi uygulama kimliği
FederatedCredentialApplicationId için veri kaynağı bağlantı dizesinde ve dizin tanımındaki federatedCredentialId için, veri alımı uygulamasının kimliğini değil, yönetilen kimliğin kendi uygulama (istemci) kimliğini kullanın.
Sistem tarafından atanan yönetilen kimlik:
- Azure Yapay Zeka Arama hizmetinize gidin.
- Güvenlik + ağ>Kimlik öğesini seçin.
- Sistem tarafından atanan sekmesinde Nesne (sorumlu) kimliğini not edin.
- Microsoft Entra ID>Enterprise uygulamalarınıyönet'e> gidin.
- Arama hizmetinizin adını arayın veya Nesne (sorumlu) kimliğini arama kutusuna yapıştırın.
- Sonucu seçin ve Özellikler'i açın. Burada gösterilen
federatedCredentialIdkopyalayın; bu, veri kaynağındaFederatedCredentialApplicationIdve dizinde değeridir.
Kullanıcı tarafından atanan yönetilen kimlik:
- Kullanıcı tarafından atanan yönetilen kimlik kaynağına gidin.
- Ayarlar>Özellikleri'ni seçin.
- Veri kaynağında
FederatedCredentialApplicationIdve dizinde için değer olanfederatedCredentialId'ni kopyalayın.
Arama hizmetinizi ACL alımı ve sorgu zamanı zorlaması için yapılandırma
Bu adımlar arama hizmetinizi ACL alımı için yapılandırarak sorgu zamanında ACL'yi kabul etme özelliğini etkinleştirir.
ACL alanlarının doldurulacağı yeri seçme
ACL meta veri alanlarını eşlemeniz, dizin oluşturucunun kaynak öğe başına bir belge mi yoksa kaynak öğe başına birden çok öbek mi yazdığına bağlıdır.
| Scenario | Aracılığıyla ACL alanlarını doldurma | Neden? |
|---|---|---|
| Öbekleme olmadan beceri kümesi olamaz; her kaynak öğe için bir arama belgesi |
Indexer alan eşlemeleri yalnızca (metadata_user_ids → UserIds, metadata_group_ids → GroupIds ve SharePoint grupları için metadata_spo_site_url → SharePointSiteUrl). |
Dizin oluşturucu hedef dizine tek bir belge yazar ve alan eşlemeleri kaynak meta verileri dizin alanlarına taşır. |
Parçalama içeren beceri kümesi (örneğin, tümleşik vektörleştirme için Metin Bölme becerisi), her parçada ana alanların yinelendiği tek dizin (projectionMode: skipIndexingParentDocuments) |
Beceri kümesindeki Index projeksiyonları (mappings, /document/metadata_user_ids ve SharePoint grupları için /document/metadata_group_ids) /document/metadata_spo_site_url). |
Ana belge dizinlenmez; yalnızca parçalar dizinlenir. ACL değerleri her öbek üzerine yansıtılmalıdır, böylece sorgu zamanı filtreleri sonuçlarda döndürülen öbek üzerinde uygulanır. Bu alanlar için dizin oluşturucu alan eşlemeleri bu modda atlanır. |
| Öbeklemeli, iki dizinli yapıya sahip yetenek seti (ana dizin + alt öbek dizini) | Her ikisi de: dizin oluşturucu alan eşlemeleri üst dizinde ACL alanlarını doldurur, dizin projeksiyonları ise alt öbek dizininde ACL alanlarını doldurur. | Her iki dizin de sorgulanabilir ve her birinin filtreleme yaptığı meta veriye ihtiyacı vardır. |
Tüm parçalı senaryolarda, her parça ACL alanlarını taşımalıdır. İzin filtreleri belge başına uygulanır, bu nedenle eksik ACL alanları doğru arayana döndürülemez.
1. Veri kaynağı yapılandırması
Bu bölüm, temel Adım 4: Veri kaynağı oluşturma kılavuzunun en üstünde yer alan bir deltadır. Veri kaynağı tanımında indexerPermissionOptions'yi ayarlayın, böylece SharePoint belgelerinden ve userIds'i dizine ekleyebilirsiniz.
{
"name": "my-sharepoint-acl-datasource",
"type": "sharepoint",
"indexerPermissionOptions": ["userIds", "groupIds"],
"credentials": {
"connectionString": "<connection-string>;"
},
"container": {
"name": "<library-name>",
"query": "<optional-folder-path>"
}
}
2. Dizin tanımına izin alanları ekleme
ACL'leri depolamak ve sorgu zamanı filtrelemesini desteklemek için dizin şeması tanımınıza alanlar ekleyin.
{
"fields": [
{ "name": "UserIds", "type": "Collection(Edm.String)", "permissionFilter": "userIds", "filterable": true, "retrievable": false },
{ "name": "GroupIds", "type": "Collection(Edm.String)", "permissionFilter": "groupIds", "filterable": true, "retrievable": false }
],
"permissionFilterOption": "enabled"
}
Değerleri doğrulamak için retrievable özniteliğini yalnızca geliştirme sırasında true olarak ayarlayın. Dizin yeniden oluşturma gereksinimi olmadan "retrievable" değerini true'dan false'a değiştirebilirsiniz.
3. Beceri kümenizde dizin projeksiyonlarını yapılandırma (varsa)
Öbekleme etkinleştirildiğinde, projectionModeskipIndexingParentDocuments olduğunda ana belge dizine yazılmaz. ACL meta verilerini indexProjections.selectors[].mappings aracılığıyla her öbeğe taşıyın.
Dizin oluşturucunuz tümleşik vektörleştirmeyi etkinleştirirken Metin Bölme becerisi gibi veri öbekleme özelliğine sahip bir beceri kümesi kullanıyorsa, dizin projeksiyonlarını kullanarak ACL özelliklerini her öbekle eşlediğinizden emin olun.
// Aşağıdaki örnekteki satırlar açıklayıcı ek açıklamalardır ve geçerli JSON değildir. İsteği göndermeden önce bunları kaldırın.
PUT https://{service}.search.windows.net/skillsets/{skillset}?api-version=2026-08-01-preview
{
"name": "my-skillset",
"skills": [
{
"@odata.type": "#Microsoft.Skills.Text.SplitSkill",
"name": "#split",
"context": "/document",
"inputs": [{ "name": "text", "source": "/document/content" }],
"outputs": [{ "name": "textItems", "targetName": "chunks" }]
}
// ... (other skills such as embeddings, entity recognition, etc.)
],
"indexProjections": {
"selectors": [
{
"targetIndexName": "chunks-index",
"parentKeyFieldName": "parentId", // must exist in target index
"sourceContext": "/document/chunks/*", // match your split output path
"mappings": [
{ "name": "chunkId", "source": "/document/chunks/*/id" }, // if you create an id per chunk
{ "name": "content", "source": "/document/chunks/*/text" }, // chunk text
{ "name": "parentId", "source": "/document/id" }, // parent doc id
{ "name": "UserIds", "source": "/document/metadata_user_ids" },
{ "name": "GroupIds", "source": "/document/metadata_group_ids" },
{ "name": "SharePointSiteUrl", "source": "/document/metadata_spo_site_url" } // include when the index has sharePointConnectorAppRegistration (SharePoint groups support)
]
}
],
"parameters": {
"projectionMode": "skipIndexingParentDocuments"
}
}
}
UserIds, GroupIds ve SharePointSiteUrl eşlemeleri, SharePoint dizin oluşturucu (/document/metadata_*) tarafından çıkarılan kaynak düzeyi meta verilerini okur ve değerleri her parçaya yazar.
4. ACL'ler için dizin oluşturucu alan eşlemelerini yapılandırma
Dizin oluşturucu kaynak öğe başına bir belge yazdığında (öbekleme olmadığında) veya öbek dizininin yanında ayrı bir üst dizin tutarken dizin oluşturucu alan eşlemelerini kullanın. Beceri kümeniz, belgeleri projectionMode: skipIndexingParentDocuments kullanarak tek bir hedef dizine öbeklere ayırıyorsa, burada gösterilen alan eşlemelerinin yerini öbek dizini için önceki adımdaki indexProjections.mappings alır.
Gerekli indexer yapılandırmanızın yanı sıra ham meta veri ACL alanlarını SharePoint dizin alanlarınızla eşleyin.
{
"fieldMappings": [
{ "sourceFieldName": "metadata_user_ids", "targetFieldName": "UserIds" },
{ "sourceFieldName": "metadata_group_ids", "targetFieldName": "GroupIds" }
]
}
5. Dizin oluşturucuyu çalıştırın
Dizin oluşturucu çalıştırıldığında ACL meta verileri alır. Dizin oluşturucuyu oluşturduktan veya güncelleştirdikten sonra (bkz . 6. Adım: Dizin oluşturucu oluşturma), dizin oluşturucunun içerikle birlikte ACL'leri de alabilmesi için bir çalıştırma tetikleyin.
POST https://[service name].search.windows.net/indexers/[indexer-name]/run?api-version=2026-08-01-preview
api-key: [admin key]
Öğeleri zaten dizine eklemiş mevcut bir dizin oluşturucuda ACL alımını etkinleştirdiyseniz, bu öğeler için ACL'leri geriye dönük olarak doldurmak üzere /resync öğesini options: ["permissions"] ile çağırın veya belirli öğeleri yeniden ayıklamak için /resetdocs kullanın.
6. ACL alımını doğrulama
ACL değerlerinin doğru doldurulmuş olduğunu onaylamak için:
- Dizin tanımınızda
retrievablevetrueüzerindeUserIdsdeğerini geçici olarakGroupIdsolarak ayarlayın.retrievableöğesini değiştirmek, dizinin yeniden oluşturulmasını gerektirmez. -
yükseltilmiş okuma sorgusu çalıştırın; bu sorgu
UserIdsveGroupIdsöğelerini seçsin ve koleksiyonların boş olmadığını doğrulayın. Öbeklenmiş senaryolar için her öbekte her iki alanın da olduğunu onaylayın. - Doğrulamadan sonra
retrievablekonumunafalsegeri dönün.
SharePoint grupları desteğini yapılandırma
2026-05-01-preview REST API'sinde başlayarak, SharePoint dizin oluşturucu SharePoint site grubu üyeliklerini (Sahipler, Üyeler, Ziyaretçiler ve özel site grupları) alabilir. Sorgu sırasında bu grupları dikkate alır. SharePoint grup kimlikleri, Microsoft Entra grup nesnesi kimliklerinden ayırt etmek için metadata_group_ids alanında spg: ön ekiyle gösterilir.
Bu kılavuz bağımsızdır: dizini ve dizin oluşturucu alan eşlemelerini yapılandırmak ve SharePoint site grubu zorlaması uygulanarak dizini sorgulamak için adımları sırasıyla tamamlayın.
Aşağıdaki bileşenler birlikte çalışarak SharePoint site grubu çözümlemesini etkinleştirir:
| Bileşen | Konumu | Purpose |
|---|---|---|
sharePointConnectorAppRegistration (applicationId, tenantId, federatedCredentialId dahil) |
Dizin tanımı | Arama hizmetinin SharePoint REST API'sini çağıran kullanıcı olarak çağırması ve sorgu zamanında site grubu üyeliğini çözümlemesi için gereken kimlik doğrulama yapılandırmasını sağlar. |
SharePointSiteUrl alanı (sharepointSiteUrl: true ile) |
metadata_spo_site_url öğesinden dizin şeması + dizin oluşturucu alan eşlemesi |
Bir belgenin ait olduğu SharePoint siteyi tanımlar, bu nedenle SP grup çözümlemesi doğru şekilde kapsamlanır. |
spg: içindeki GroupIds önekli değerler |
Belge izin meta verileri | SharePoint site grubu kimliklerini Microsoft Entra grup nesnesi kimliklerinden ayırt edin. |
1. Önkoşullar
- SharePoint dizin oluşturucu ACL alımı için zaten yapılandırılmış. ACL’ler için dizin oluşturucunun alan eşlemelerini yapılandırma bölümüne bakın.
- Federe kimlik bilgisi ile Microsoft Entra uygulama kaydı. Bkz . Kayıtlı uygulamayı yönetilen kimlikle yapılandırma.
- REST API
2026-05-01-previewveya daha yeni.
Not
FederatedCredentialApplicationId veri kaynağı bağlantı dizesinde ve sharePointConnectorAppRegistration içindeki federatedCredentialId için yönetilen kimliğin uygulama kimliğini kullanın.
applicationId içindeki sharePointConnectorAppRegistration özelliği, alma uygulamasının istemci kimliğini kullanır. Doğru değerleri bulmak için bkz. Doğru Microsoft Entra tanımlayıcılarını bulma.
2. Dizini yapılandırma
sharePointConnectorAppRegistration ve SharePointSiteUrl izin filtresi alanlarının yanı sıra UserIds yapılandırmasını ve GroupIds alanını da ekleyin; böylece tam dizin yapısı tek bir yerde olur. tutun permissionFilterOption: "enabled".
PUT https://{service}.search.windows.net/indexes/{index}?api-version=2026-08-01-preview
{
"name": "my-sharepoint-acl-index",
"sharePointConnectorAppRegistration": {
"applicationId": "<ingestion-app-client-id>",
"federatedCredentialId": "<managed-identity-application-id>",
"tenantId": "<sharepoint-tenant-id>"
},
"fields": [
{ "name": "UserIds", "type": "Collection(Edm.String)", "permissionFilter": "userIds", "filterable": true, "retrievable": false },
{ "name": "GroupIds", "type": "Collection(Edm.String)", "permissionFilter": "groupIds", "filterable": true, "retrievable": false },
{ "name": "SharePointSiteUrl", "type": "Edm.String", "sharepointSiteUrl": true, "filterable": false, "retrievable": false }
],
"permissionFilterOption": "enabled"
}
3. Dizin oluşturucu alan eşlemelerini yapılandırma
SharePoint meta veri alanlarını tek bir birleşik eşleme bloğundaki dizin alanlarıyla eşleyin. İlk iki eşleme, standart ACL alımı için kullanılan eşlemelerle aynıdır; üçüncü eşleme SharePoint grup çözümlemesini etkinleştirir.
{
"fieldMappings": [
{ "sourceFieldName": "metadata_user_ids", "targetFieldName": "UserIds" },
{ "sourceFieldName": "metadata_group_ids", "targetFieldName": "GroupIds" },
{ "sourceFieldName": "metadata_spo_site_url", "targetFieldName": "SharePointSiteUrl" }
]
}
Beceri kümeniz belgeleri parçalara ayırıyorsa (örneğin, tümleşik vektörleştirme için Metin Bölme becerisiyle), bunun yerine SharePointSiteUrl öğesini indexProjections.mappings aracılığıyla her bir parçaya yansıtın. Bkz. ACL alanlarının doldurulacağı yeri seçme.
4. Dizini sorgulama
İstemci tarafı değişikliği gerekmez. Aynı x-ms-query-source-authorization belirteci hem Microsoft Entra’yı hem de SharePoint site grubu zorunluluğunu etkinleştirir. Arama hizmeti, dizindeki sharePointConnectorAppRegistration kullanarak SharePoint grubu üyelikleri sunucu tarafında çözümler.
İstek yapısı için genel sorgu örneğine ve SharePoint’e özgü SharePoint site grubu zorlaması içeren örneğe bakın.
5. Doğrulama
SharePoint grup kimliklerinin dizine işlendiğini doğrulamak için, öğesini seçen bir GroupIds çalıştırın ve yanıtta spg: ön ekli değerleri arayın.
Dizinlenmiş içerik ve kaynak içerik arasındaki izinleri eşitleme
2026-05-01-preview REST API'sinde başlayarak, her başarılı dizin oluşturucu çalıştırmasında benzersiz izinlere sahip öğeler için ACL değişiklikleri algılanır ve yenilenir. Dizin oluşturucu, rol ataması eklemelerini ve kaldırmalarını artımlı olarak almak için SharePoint değişiklik belirteçlerini kullanır ve aynı şekilde içerik değişikliklerini de alır.
Bazı senaryolar yine de açık bir yenileme gerektirir:
| Kapsamı değiştir | Otomatik olarak algılandı | Önerilen eylem |
|---|---|---|
| Benzersiz izinlere sahip belirli bir öğedeki izinler (dosya, liste öğesi veya sayfa) | Evet | Eylem gerekmez. Değişiklik, bir sonraki başarılı dizin oluşturucu çalıştırmasında algılanır. |
| Belirli bir öğedeki içerik değişikliği (bu öğe için geçerli ACL'leri de yeniden değerlendirir) | Evet | Eylem gerekmez. |
| Alt öğeler tarafından devralınan üst kapsamda (site, kitaplık, liste veya klasör) izinlerde değişiklik | No | Veri kaynağı genelinde ACL'leri yenilemek için /resync öğesini options: ["permissions"] ile çağırın veya hem içeriği hem de ACL'leri yenilemek için etkilenen belge anahtarlarıyla /resetdocs öğesini çağırın. |
| Mevcut bir dizin oluşturucuda ACL alımı etkinleştirildi | No | Önceden dizine eklenmiş öğeler için ACL'leri geriye dönük olarak doldurmak üzere /resync öğesini options: ["permissions"] ile çağırın. |
Belirli belgeleri sıfırlama
Belirli belgeleri yeniden içerik ve ACL'leri tamamen almak için sıfırlayabilirsiniz.
POST https://{service}.search.windows.net/indexers/{indexer}/resetdocs?api-version=2026-08-01-preview
{
"documentKeys": ["doc123", "doc456"]
}
ACL'leri tüm veri kaynağında yeniden eşitleyin
İlk veri alımından sonra tam veri kümesi ACL içeriğini yeniden eşitleyebilirsiniz. Bu işlemin tam olarak başarılı olması için, tamamlandıktan sonra bir dizin oluşturucu çalıştırılması gerektirir.
POST https://{service}.search.windows.net/indexers/{indexer}/resync?api-version=2026-08-01-preview
{
"options": ["permissions"]
}
Önemli
Bir güncelleştirme mekanizması tetiklemeden SharePoint izinlerini değiştirirseniz dizin, daha önce alınan dosyalar için eski ACL verileri sağlar.
Verilerinizi ve ACL'lerinizi dizine aldıktan sonra dizini sorgulayabilirsiniz.
Troubleshooting
| Belirti | Neden ve çözüm |
|---|---|
UserIds veya GroupIds dizine alınan belgelerde boş |
Beceri kümeniz projectionMode: skipIndexingParentDocuments kullanıyorsa, ACL alanları için dizin oluşturucu alan eşlemeleri atlanır. Bunun yerine ACL alanlarını her parça için indexProjections.mappings aracılığıyla ayarlayın. |
SharePoint site grubu kimlikleri eksik veya GroupIds değerlerinde spg: ön eki yok |
Dizinin sharePointConnectorAppRegistration yapılandırmasına sahip olduğunu, SharePointSiteUrl alanının sharepointSiteUrl: true ile mevcut olduğunu ve metadata_spo_site_url eşlemesinin dizin oluşturucu alan eşlemelerinde veya dizin projeksiyonlarında bulunduğunu onaylayın. |
SharePointSiteUrl, ACL’ler bunun dışında doğru şekilde doldurulmasına rağmen dizin oluşturulduktan sonra boş veya null oluyor |
Dizin oluşturucu bu meta verileri metadata_sharepoint_site_url altında değil, metadata_spo_site_url altında yayımlar. Dizin oluşturucu alan eşlemenizin "sourceFieldName": "metadata_spo_site_url" kullandığını doğrulayın. Beceri kümeniz parçalanmış belgeler için dizin projeksiyonları kullanıyorsa projeksiyon eşleme kaynağının /document/metadata_spo_site_url olduğunu doğrulayın. |
| Dizin oluşturucu 401 veya 403 döndürür | Senaryonuz için hem Microsoft Graph hem de SharePoint API izinleri için yönetici onayı verin. Senaryo gerektirdiğinde, bir istemci parolası değil, bir federe kimlik bilgisi kullanın. Bkz. ACL'ye göre izinler senaryosu. |
| Site, kitaplık, liste veya klasör ACL'sini değiştirdikten sonra izinler eskir |
/resync ile options: ["permissions"] numarasını arayın. Bağlam için bkz. Dizinlenmiş içerik ve kaynak içerik arasındaki izinleri eşitleme . |
federatedCredentialId yapılandırılırken sharePointConnectorAppRegistration reddedilir |
Federe kimlik bilgisinin nesne kimliği veya yönetilen kimliğin ana kimliği yerine, yönetilen kimliğin uygulama kimliğini kullanın. Bkz. Federasyon kimlik bilgisi uygulama kimliği. |
İndeksleyici 401 Unauthorized değerini döndürür ve FederatedCredentialApplicationId ayarlanır |
Alım uygulamasının Uygulama (istemci) kimliğini () veya herhangi bir Nesne Kimliğini değil, yönetilen kimliğin Uygulama Kimliğini (ApplicationIdKurumsal uygulamalarda bulunur) kullandığınızı doğrulayın. Kullanıcı tarafından atanan yönetilen kimlik için, yönetilen kimlik kaynağının Özellikler sayfasındaki İstemci Kimliği'ni kullanın. Bkz. Doğru Microsoft Entra tanımlayıcılarını bulma. |
ACL meta verileri dizine eklendikten sonra, eksik, beklenmeyen veya sorgu sırasında başarısız olan sonuçlar için bkz. SharePoint izin filtreleme sorunlarını giderme.