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.
Dizin oluşturma veya sorgular sırasında veri, uygulanan yapay zeka veya vektörleştirme sağlayan diğer Azure kaynaklarına Azure AI Search'ten giden bağlantılar için Microsoft Entra ID güvenlik sorumlularını ve rol atamalarını kullanabilirsiniz.
Giden bağlantıdaki rolleri kullanmak için, önce arama hizmetinizi bir Microsoft Entra kiracısında arama hizmetinizin güvenlik sorumlusu olarak sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği kullanacak şekilde yapılandırın. Yönetilen bir kimliğe sahip olduktan sonra, yetkili erişim için roller atayabilirsiniz. Yönetilen kimlikler ve rol atamaları, bir bağlantı dizesinde veya kodda gizli dizileri ve kimlik bilgilerini geçirme gereksinimini ortadan kaldırır.
Önkoşullar
Temel veya daha yüksek düzeyde bir katmanda herhangi bir bölgede bir arama hizmeti.
Geçerli bir rol ataması olan bir Microsoft Entra güvenlik sorumlusundan gelen istekleri kabul eden bir Azure kaynağı.
Yönetilen kimlik oluşturmak için Sahip veya Kullanıcı Erişimi Yöneticisi rolleri olmanız gerekir. Rolleri atamak için Sahip, Kullanıcı Erişimi Yöneticisi, Rol Tabanlı Erişim Denetimi Yöneticisi veya Microsoft.Authorization/roleAssignments/write izinlerine sahip özel bir rolün üyesi olmanız gerekir.
Desteklenen senaryolar
Bu senaryolar için yönetilen kimlikleri kullanabilirsiniz.
| Senaryo | Sistem | Kullanıcı tarafından atanan |
|---|---|---|
| Dizin oluşturucu veri kaynaklarına bağlanma1 | Evet | Evet 2 |
| Beceriler/vektörleştiriciler aracılığıyla Azure OpenAI, Microsoft Foundry ve Azure İşlevleri'nde ekleme ve sohbet tamamlama modellerine bağlanma 3 | Evet | Evet |
| Müşteri tarafından yönetilen anahtarlar için Azure Key Vault'a bağlanma | Evet | Evet |
| Hata ayıklama oturumlarına bağlanma (Azure Depolama'da barındırılan)1 | Evet | Hayı |
| Zenginleştirme önbelleğine bağlanma (Azure Depolama'da barındırılıyor)1,4 | Evet | Evet 2 |
| Bilgi Deposu'na bağlanma (Azure Depolama'da barındırılıyor)1 | Evet | Evet 2 |
1 Arama ve depolama arasındaki bağlantı için ağ güvenliği, hangi yönetilen kimlik türünü kullanabileceğiniz konusunda kısıtlamalar uygular. Azure Depolama ile aynı bölge bağlantısı için yalnızca sistem tarafından yönetilen bir kimlik kullanılabilir ve bu bağlantı güvenilir hizmet özel durumu veya kaynak örneği kuralı aracılığıyla olmalıdır. Ayrıntılar için bkz. Ağ korumalı depolama hesabına erişim .
2 Veri kaynağı bağlantı dizelerinde kullanıcı tarafından atanan yönetilen kimlikler kullanılabilir. Ancak, yalnızca daha yeni önizleme REST API'leri ve önizleme paketleri bir bağlantı dizesinde kullanıcı tarafından atanan yönetilen kimliği destekler.
SearchIndexerDataUserAssignedIdentity'yi veri kaynağı bağlantısında olarak ayarlarsanız önizleme API'sine identity geçtiğinizi unutmayın.
3 Beceriler/vektörleştiriciler aracılığıyla Azure OpenAI, Dökümhane ve Azure İşlevleri'ne bağlantılar şunlardır: Özel beceri, Özel vektörleştirici, Azure OpenAI ekleme becerisi, Azure OpenAI vektörleştiricisi, AML becerisi ve Microsoft Foundry model kataloğu vektörleştiricisi.
4 Yapay zeka arama hizmeti şu anda paylaşılan anahtar erişiminin kapalı olduğu bir depolama hesabındaki tablolara bağlanamıyor.
Sistem tarafından yönetilen kimlik oluşturma
Sistem tarafından atanan yönetilen kimlik, otomatik olarak oluşturulan ve Azure AI Search hizmeti gibi bir Azure kaynağına bağlanan bir Microsoft Entra ID güvenlik sorumlusudur.
Her arama hizmeti için sistem tarafından atanan bir yönetilen kimliğe sahip olabilirsiniz. Arama hizmetinize özeldir ve kullanım ömrü boyunca hizmete bağlıdır.
Sistem tarafından atanan yönetilen kimliği etkinleştirdiğinizde, Microsoft Entra ID arama hizmetiniz için diğer Azure kaynaklarında kimlik doğrulaması yapmak için kullanılan bir güvenlik sorumlusu oluşturur. Daha sonra bu kimliği, verilere ve işlemlere yetkilendirilmiş erişim için rol atamalarında kullanabilirsiniz.
Azure portalında oturum açın ve arama hizmetinizi bulun.
Sol bölmeden Ayarlar>Kimliği'ni seçin.
Sistem tarafından atanan sekmesindeki Durum altında, Açık seçeneğini seçin.
Kaydetseçeneğini seçin.
Ayarları kaydettikten sonra sayfa, arama hizmetinize atanmış bir nesne tanımlayıcısını gösterecek şekilde güncelleştirilir.
Kullanıcının atadığı yönetilen kimliği oluşturun
Kullanıcı tarafından atanan yönetilen kimlik, kapsamı abonelikler, kaynak grupları veya kaynak türleri olarak belirlenmiş bir Azure kaynağıdır.
Rol atamalarında daha fazla ayrıntı düzeyi için kullanıcı tarafından atanan birden çok yönetilen kimlik oluşturabilirsiniz. Örneğin, farklı uygulamalar ve senaryolar için ayrı kimlikler isteyebilirsiniz. Bağımsız olarak oluşturulmuş ve yönetilen bir kaynak olarak hizmetin kendisine bağlı değildir.
Kullanıcı tarafından atanan yönetilen kimliği ayarlama adımları aşağıdaki gibidir:
Azure aboneliğinizde kullanıcı tarafından atanan bir yönetilen kimlik oluşturun.
Arama hizmetinizde, kullanıcı tarafından atanan yönetilen kimliği arama hizmetinizle ilişkilendirin.
Bağlanmak istediğiniz diğer Azure hizmetlerinde kimlik için bir rol ataması oluşturun.
Kullanıcı tarafından atanan yönetilen kimliği bir Azure AI Search hizmetiyle ilişkilendirme özelliği sağlayan Azure portalında, Arama Yönetimi REST API'lerinde ve SDK paketlerinde desteklenir.
Azure portalınaoturum açın.
Panonuzun sol üst köşesinde Kaynak oluştur'u seçin.
Kullanıcı Tarafından Atanan Yönetilen Kimlik'i bulmak için arama kutusunu kullanın ve oluştur'u seçin.
Aboneliği, kaynak grubunu ve bölgeyi seçin. Kimliğe açıklayıcı bir ad verin.
Oluştur'u seçin ve kaynağın dağıtımı tamamlanmasını bekleyin.
Kimliği kullanabilmeniz birkaç dakika sürer.
Arama hizmeti sayfanızda Ayarlar>Kimliği'ne tıklayın.
Kullanıcı tarafından atanan sekmesinde Ekle'yi seçin.
Daha önce oluşturduğunuz aboneliği ve kullanıcı tarafından atanan yönetilen kimliği seçin.
Rol atama
Yönetilen bir kimliğe sahip olduktan sonra, Azure kaynağında arama hizmeti izinlerini belirleyen roller atayın.
Dizin oluşturucu veri bağlantıları ve Azure Key Vault'ta müşteri tarafından yönetilen bir anahtara erişmek için okuma izinleri gereklidir.
Bir bilgi deposunda hata ayıklama oturumu verilerini barındırmak, zenginleştirme önbelleği ve uzun süreli içerik depolaması için Azure Depolama'yı kullanan yapay zeka zenginleştirme özellikleri için yazma izinleri gereklidir.
Aşağıdaki adımlarda rol ataması iş akışı gösterilmektedir. Bu örnek Azure OpenAI içindir. Diğer Azure kaynakları için bkz. Azure Depolama'ya bağlanma, Azure Cosmos DB'ye bağlanma veya Azure SQL'e bağlanma.
Azure hesabınızla Azure portalında oturum açın ve Azure OpenAI kaynağınıza gidin.
Soldaki menüden Erişim denetimi'ni seçin.
Ekle'yi ve ardından Rol ataması ekle'yi seçin.
İş işlevi rolleri'nin altında Bilişsel Hizmetler OpenAI Kullanıcısı'nın ardından İleri'yi seçin.
Üyeler'in altında Yönetilen kimlik'i ve ardından Üyeler'i seçin.
Aboneliğe ve kaynak türüne (Arama hizmetleri) göre filtreleyin ve arama hizmetinizin yönetilen kimliğini seçin.
Gözden geçir + ata'yı seçin.
Bağlantı dizesi örnekleri
Senaryo açıklamasından, diğer Azure kaynaklarıyla bağlantı dizelerinde yönetilen kimlikleri kullanabileceğinizi hatırlayın. Bu bölümde örnekler verilmiştir. Sistem tarafından atanan yönetilen kimliği kullanarak bağlantılar için genel kullanılabilir REST API sürümlerini ve Azure SDK paketlerini kullanabilirsiniz.
Tavsiye
Bu nesnelerin çoğunu Azure portalında oluşturabilir, sistem veya kullanıcı tarafından atanan yönetilen kimliği belirtebilir ve ardından JSON tanımını görüntüleyerek bağlantı dizesini alabilirsiniz.
Çeşitli senaryolar için bazı bağlantı dizeleri örnekleri aşağıda verilmiştir.
Blob veri kaynağı (sistem tarafından yönetilen kimlik):
Dizin oluşturucu veri kaynağı, veri kaynağına bağlantının nasıl yapıldığını belirleyen bir credentials özellik içerir. Aşağıdaki örnekte bir depolama hesabının benzersiz kaynak kimliğini belirten bir bağlantı dizesi gösterilmektedir.
Sistem tarafından yönetilen kimlik, bağlantı dizesinin bir Microsoft Entra Kimliği kullanan hizmet veya uygulamanın benzersiz kaynak kimliği olduğu durumlarda belirtilir. Kullanıcı tarafından atanan yönetilen kimlik bir identity özellik aracılığıyla belirtilir.
"credentials": {
"connectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
}
Blob veri kaynağı (kullanıcı tarafından yönetilen kimlik):
Kullanıcı tarafından atanan yönetilen kimlikler dizin oluşturucu veri kaynağı bağlantı dizelerinde de kullanılabilir. Ancak, veri kaynağı bağlantı dizesinde yalnızca daha yeni önizleme REST API'leri ve önizleme paketleri kullanıcı tarafından atanan yönetilen kimliği destekler. SearchIndexerDataUserAssignedIdentity'yi bir veri kaynağı bağlantısındaki kimlik olarak ayarladıysanız önizleme sürümüne geçtiğinizi unutmayın.
Özelliğinde identity bir arama hizmeti kullanıcı kimliği belirtilir.
"credentials": {
"connectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
},
. . .
"identity": {
"@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
"userAssignedIdentity": "/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-assigned-managed-identity-name}"
}
Bilgi deposu tanımı, Azure Depolama'ya bir bağlantı dizesi içerir. Bağlantı dizesi, depolama hesabınızın benzersiz kaynak kimliğidir. Dizenin yolda kapsayıcılar veya tablolar içermediğini fark edin. Bunlar, bağlantı dizesinde değil, eklenmiş projeksiyon tanımında tanımlanır.
"knowledgeStore": {
"storageConnectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/storage-account-name};"
}
Dizin oluşturucu önbelleğe alınmış zenginleştirmeler için kullanılan kapsayıcıyı oluşturur, kullanır ve hatırlar. Kapsayıcının önbellek bağlantı dizesine eklenmesi gerekmez. Nesne kimliğini Azure portalında arama hizmetinizin Kimlik sayfasında bulabilirsiniz.
"cache": {
"enableReprocessing": true,
"storageConnectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
}
Azure portalında bir hata ayıklama oturumu çalıştırılır ve oturumu başlattığınızda bir bağlantı dizesi girmeniz gerekir. Aşağıdaki örneğe benzer bir dize yapıştırabilirsiniz.
"ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/{container-name};",
Özel beceri, özel kodu barındıran bir Azure işlevinin veya uygulamanın uç noktasını hedefler.
uriişlevin veya uygulamanın uç noktasıdır.authResourceIdarama hizmetine, hedef işlevin veya uygulamanın uygulama kimliğini özelliğine geçirerek yönetilen kimlik kullanarak bağlanmasını söyler.
{
"@odata.type": "#Microsoft.Skills.Custom.WebApiSkill",
"description": "A custom skill that can identify positions of different phrases in the source text",
"uri": "https://contoso.count-things.com",
"authResourceId": "<Azure-AD-registered-application-ID>",
"batchSize": 4,
"context": "/document",
"inputs": [ ... ],
"outputs": [ ...]
}
Modeller için bağlantı örnekleri
Yönetilen kimlikler kullanılarak yapılan bağlantılar için bu bölümde, arama hizmeti tarafından başka bir kaynak üzerindeki bir modele bağlanmak için kullanılan bağlantı bilgileri örnekleri gösterilir. Sistem tarafından yönetilen kimlik üzerinden yapılan bağlantı saydamdır; kimlik ve roller yerindedir ve düzgün yapılandırıldıklarında bağlantı başarılı olur. Buna karşılık, kullanıcı tarafından yönetilen kimlik ek bağlantı özellikleri gerektirir.
Azure OpenAI ekleme becerisi ve Azure OpenAI vektörleştiricisi:
AI Search'te Azure OpenAI ekleme becerisi ve vektörleştiricisi, ekleme modeli barındıran bir Azure OpenAI'nin uç noktasını hedefler. Uç nokta , Azure OpenAI ekleme beceri tanımında ve/veya Azure OpenAI vektörleştirici tanımında belirtilir.
Sistem tarafından yönetilen kimlik, "apikey" ve "authIdentity" boş olduğunda, aşağıdaki örnekte gösterildiği gibi, otomatik olarak kullanılır.
"authIdentity" özelliği yalnızca kullanıcı tarafından atanan yönetilen kimlik için kullanılır.
Sistem tarafından yönetilen kimlik örneği:
{
"@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
"description": "Connects a deployed embedding model.",
"resourceUri": "https://url.openai.azure.com/",
"deploymentId": "text-embedding-ada-002",
"modelName": "text-embedding-ada-002",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "embedding"
}
]
}
Sistem tarafından atanan yönetilen kimlik için yapılandırılmış bir vektörleştirici örneği aşağıda verilmiştır. Arama dizininde vektörleştirici belirtilir.
"vectorizers": [
{
"name": "my_azure_open_ai_vectorizer",
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "https://url.openai.azure.com",
"deploymentId": "text-embedding-ada-002",
"modelName": "text-embedding-ada-002"
}
}
]
Kullanıcı tarafından atanan yönetilen kimlik örneği:
Kullanıcı tarafından atanan yönetilen kimlik, "apiKey" boşsa ve geçerli bir "authIdentity" sağlanmışsa kullanılır.
{
"@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
"description": "Connects a deployed embedding model.",
"resourceUri": "https://url.openai.azure.com/",
"deploymentId": "text-embedding-ada-002",
"modelName": "text-embedding-ada-002",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "embedding"
}
],
"authIdentity": {
"@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
"userAssignedIdentity": "/subscriptions/<subscription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-managed-identity-name>"
}
}
Aşağıda, kullanıcı tarafından atanan yönetilen kimlik için yapılandırılmış bir vektörleştirici örneği verilmiştır. Arama dizininde vektörleştirici belirtilir.
"vectorizers": [
{
"name": "my_azure_open_ai_vectorizer",
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "https://url.openai.azure.com",
"deploymentId": "text-embedding-ada-002",
"modelName": "text-embedding-ada-002"
"authIdentity": {
"@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
"userAssignedIdentity": "/subscriptions/<subscription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-managed-identity-name>"
}
}
}
]
Güvenlik duvarı erişimini denetleme
Azure kaynağınız bir güvenlik duvarının arkasındaysa, arama hizmetinizden ve Azure portalından gelen istekleri kabul eden bir gelen kuralı olduğundan emin olun.
Azure Blob Depolama veya Azure Data Lake Storage 2. Nesil ile aynı bölge bağlantıları için sistem tarafından yönetilen bir kimlik ve güvenilen hizmet özel durumu kullanın. İsteğe bağlı olarak, istekleri kabul etmek için bir kaynak örneği kuralı yapılandırabilirsiniz.
Diğer tüm kaynaklar ve bağlantılar için Azure AI Search'ten gelen istekleri kabul eden bir IP güvenlik duvarı kuralı yapılandırın . Ayrıntılar için bkz. Azure ağ güvenliği özellikleri tarafından korunan içeriğe dizin oluşturucu erişimi .