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.
Important
(ö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.
Bu öğreticide, Azure Yapay Zeka Arama dizin oluşturucusunda arama dizinine erişim denetim listeleri (ACL'ler) ve rol tabanlı erişim denetimi (RBAC) kapsamının eklendiği Azure Data Lake Storage (ADLS) 2. Nesil izin meta veri alımı (önizleme) gösterilmektedir.
Ayrıca, kullanıcı erişim izinlerine saygı gösteren bir sorguyu nasıl yapılandırabileceğinizi de gösterir. Başarılı bir sorgu sonucu, dizin sırasında gerçekleşen izin aktarımını onaylar.
ACL'leri dizinleme hakkında daha fazla bilgi için bkz. İzin meta verilerini almak için ADLS 2. Nesil dizin oluşturucu kullanma.
Bu öğreticide şunların nasıl yapılacağını öğreneceksiniz:
- Veri kaynağında
adlsgen2RBAC kapsamını ve ACL'leri yapılandırma - İzin bilgileri alanlarını içeren bir Azure Yapay Zeka Arama dizini oluşturma
- İzin bilgilerini bir veri kaynağından dizine almak için dizin oluşturucu oluşturma ve çalıştırma
- Yeni oluşturduğunuz dizinde arama
Bu öğreticiyi ve en son önizleme sürümü REST API'sini tamamlamak amacıyla bir REST istemcisi kullanın. Şu anda Azure portalında ACL dizin oluşturma desteği yoktur.
Önkoşullar
Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir hesap oluşturun.
Microsoft Entra ID kimlik doğrulaması ve yetkilendirme. Hizmetler ve uygulamalar aynı kiracıda olmalıdır. Rol atamaları, kimliği doğrulanmış her bağlantı için kullanılır. Kullanıcılar ve gruplar aynı kiracıda olmalıdır. Birlikte çalışabileceğiniz kullanıcı ve gruplarınız olmalıdır. Kiracılar ve güvenlik prensipleri oluşturmak bu kılavuzun kapsamı dışındadır.
Hiyerarşik ad alanına sahip ADLS 2. Nesil.
Hiyerarşik klasör yapısındaki dosyalar. Bu öğreticide, dosya
/Oregon/Portland/Data.txtiçin klasör yapısının ADLS Gen2 demo olarak kabul edildiği varsayılmaktadır. Bu öğretici, alıştırmayı başarıyla tamamlayabilmeniz için klasörler ve dosyalardaki ACL ataması konusunda size yol gösterir.Azure Yapay Zeka Arama, herhangi bir bölge. Yönetilen kimlik desteği için temel katman veya üzeri gereklidir.
Örnek verileri hazırlama
state parks örnek verilerini ADLS 2. Nesil'deki bir kapsayıcıya yükleyin. Kapsayıcı adı "parks" olmalı ve iki klasöre sahip olmalıdır: "Oregon" ve "Washington".
Arama hizmeti yapılandırmasını denetleme
Arama hizmetiniz Microsoft Entra ID kimlik doğrulaması ve yetkilendirme için yapılandırılmalıdır. Hazır olduğunuzdan emin olmak için bu denetim listesini gözden geçirin.
Yerel test için kişisel kimlik belirteci alın
Bu öğreticide, genel İnternet bağlantısı üzerinden Azure bağlanan yerel bir sistemdeki REST istemcisi varsayılır.
kişisel kimlik belirteci almak ve Azure kaynaklarınıza yerel bağlantılar için Visual Studio Code ayarlamak için bu adımları izleyin.
ADLS 2. Nesil'de izinleri ayarlama
En iyi yöntem olarak, doğrudan Group atamak yerine kullanın.
Arama hizmeti kimliğine kapsayıcıya okuma erişimi verin. Dizin oluşturucu, arama hizmeti kimliğiyle Azure Depolama'a bağlanır. Arama hizmetinin verileri almak için Depolama Blob Veri Okuyucusu izinlerine sahip olması gerekir.
Dosya hiyerarşisinde grup başına veya kullanıcı izinleri verin. Dosya hiyerarşisinde kapsayıcılara, dizinlere ve dosyalara atanan tüm
GroupveUserkümeleri tanımlayın.ACL'leri yönetmek için Azure portalını kullanabilirsiniz. Depolama Tarayıcısı'nda Oregon dizinini ve ardından bağlam menüsünden ACL'yi Yönet'i seçin.
Kullanıcılar ve gruplar için yeni güvenlik sorumluları ekleyin.
Sahip olan gruplar, sahip olan kullanıcılar ve diğerleri için mevcut yetkileri kaldırın. Bu ilkeler önizleme sırasında ACL dizin oluşturma için desteklenmez.
İzin meta verileri için arama dizini oluşturma
İçerik ve izin meta verileri için alanlar içeren bir dizin oluşturun.
en son önizleme REST API veya eşdeğer işlevler sağlayan bir önizleme Azure SDK paketi kullandığınızdan emin olun. İzin filtresi özellikleri yalnızca önizleme API'lerinde kullanılabilir.
Tanıtım amacıyla, dizindeki değerleri denetleyebilmeniz için izin alanı etkinleştirilmiştir retrievable . Bir üretim ortamında, hassas bilgilerin sızmasını önlemek için devre dışı bırakmalısınız retrievable .
{
"name" : "my-adlsgen2-acl-index",
"fields": [
{
"name": "name", "type": "Edm.String",
"searchable": true, "filterable": false, "retrievable": true
},
{
"name": "description", "type": "Edm.String",
"searchable": true, "filterable": false, "retrievable": true
},
{
"name": "location", "type": "Edm.String",
"searchable": true, "filterable": false, "retrievable": true
},
{
"name": "state", "type": "Edm.String",
"searchable": true, "filterable": false, "retrievable": true
},
{
"name": "AzureSearch_DocumentKey", "type": "Edm.String",
"searchable": true, "filterable": false, "retrievable": true, "stored": true,
"key": true
},
{
"name": "UserIds", "type": "Collection(Edm.String)",
"permissionFilter": "userIds",
"searchable": true, "filterable": false, "retrievable": true
},
{
"name": "GroupIds", "type": "Collection(Edm.String)",
"permissionFilter": "groupIds",
"searchable": true, "filterable": false, "retrievable": true
},
{
"name": "RbacScope", "type": "Edm.String",
"permissionFilter": "rbacScope",
"searchable": true, "filterable": false, "retrievable": true
}
],
"permissionFilterOption": "enabled"
}
Veri kaynağı oluşturma
Dizin oluşturucu izin alımını ve dizine eklemek istediğiniz izin meta verisi türlerini belirtmek için veri kaynağı yapılandırmasını değiştirin.
Bir veri kaynağının indexerPermissionOptions ihtiyacı var.
Bu öğreticide, kimliği doğrulanmış bağlantı için sistem tarafından atanan bir yönetilen kimlik kullanın.
{
"name" : "my-adlsgen2-acl-datasource",
"type": "adlsgen2",
"indexerPermissionOptions": ["userIds", "groupIds", "rbacScope"],
"credentials": {
"connectionString": "ResourceId=/subscriptions/<your subscription ID>/resourceGroups/<your resource group name>/providers/Microsoft.Storage/storageAccounts/<your storage account name>/;"
},
"container": {
"name": "parks",
"query": null
}
}
Dizin oluşturucu oluşturma ve çalıştırma
İzin alımı için dizin oluşturucu yapılandırması, öncelikli olarak fieldMappings tanımlamayla ilgilidir.
{
"name" : "my-adlsgen2-acl-indexer",
"dataSourceName" : "my-adlsgen2-acl-datasource",
"targetIndexName" : "my-adlsgen2-acl-index",
"parameters": {
"batchSize": null,
"maxFailedItems": 0,
"maxFailedItemsPerBatch": 0,
"configuration": {
"dataToExtract": "contentAndMetadata",
"parsingMode": "delimitedText",
"firstLineContainsHeaders": true,
"delimitedTextDelimiter": ",",
"delimitedTextHeaders": ""
},
"fieldMappings": [
{ "sourceFieldName": "metadata_user_ids", "targetFieldName": "UserIds" },
{ "sourceFieldName": "metadata_group_ids", "targetFieldName": "GroupIds" },
{ "sourceFieldName": "metadata_rbac_scope", "targetFieldName": "RbacScope" }
]
}
}
Dizin oluşturucu oluşturulduktan ve hemen çalıştırıldıktan sonra, izin meta verileri bilgileriyle birlikte dosya içeriği dizine eklenir.
Sonuçları denetlemek için sorgu çalıştırma
Belgeler yüklendiklerine göre, Belgeler - Arama Gönderisi (REST) kullanarak bunlara yönelik sorgular gönderebilirsiniz.
URI, /docs/search operatörü kullanılarak belirtilen bir sorgu girişi içerecek şekilde genişletilir. Sorgu belirteci istek üst bilgisinde geçirilir. Daha fazla bilgi için bkz. Sorgu anında ACL ve RBAC zorlama.
POST {{endpoint}}/indexes/stateparks/docs/search?api-version=2026-08-01-preview
Authorization: Bearer {{search-token}}
x-ms-query-source-authorization: {{search-token}}
Content-Type: application/json
{
"search": "*",
"select": "name,description,location,GroupIds",
"orderby": "name asc"
}