Aracılığıyla paylaş


Verilerinizde Azure OpenAI'i güvenli bir şekilde kullanma

Not

Haziran 2024 itibarıyla, Microsoft tarafından yönetilen özel uç noktanın Azure AI Search için uygulama formu artık gerekli değildir.

Yönetilen özel uç nokta, Temmuz 2025'te Microsoft tarafından yönetilen sanal ağdan silinecek. Haziran 2024'e kadar uygulama işlemi aracılığıyla yönetilen bir özel uç nokta sağladıysanız hizmet kesintisini önlemek için Azure AI Search güvenilen hizmetini mümkün olduğunca erken etkinleştirin.

Microsoft Entra ID rol tabanlı erişim denetimi, sanal ağlar ve özel uç noktalar ile verileri ve kaynakları koruyarak Verilerinizde Azure OpenAI'yi güvenli bir şekilde kullanmayı öğrenmek için bu makaleyi kullanın.

Bu makale yalnızca Verilerinizde Azure OpenAI'nin metinle kullanılmasıyla geçerlidir. Görüntüler içeren Verilerinizde Azure OpenAI için geçerli değildir.

Veri alımı mimarisi

Azure blob depolamadan, yerel dosyalardan veya URL'lerden Azure AI Search'e veri almak için Verilerinizde Azure OpenAI'yi kullandığınızda, verileri işlemek için aşağıdaki işlem kullanılır.

Veri alma işlemini gösteren diyagram.

  • 1. ve 2. adımlar yalnızca dosya yükleme için kullanılır.
  • URL'lerin blob depolamanıza indirilmesi bu diyagramda gösterilmez. Web sayfaları İnternet'ten indirildikten ve blob depolamaya yüklendikten sonra 3. adım aynıdır.
  • Azure AI Search kaynağında iki dizin oluşturucu, iki dizin, iki veri kaynağı ve özel beceri oluşturulur.
  • Öbekler kapsayıcısı blob depolamada oluşturulur.
  • Zamanlama alımı tetiklerse, alma işlemi 7. adımdan başlar.
  • Azure OpenAI API'sinde preprocessing-jobs Azure AI Search müşteri becerisi web API'si protokolü uygulanır ve belgeler bir kuyrukta işlenir.
  • Azure OpenAI:
    1. Belgeleri çözmek için daha önce oluşturulan ilk dizin oluşturucuyu dahili olarak kullanır.
    2. Öbekleme gerçekleştirmek için buluşsal tabanlı bir algoritma kullanır. En iyi öbekleme kalitesini sağlamak için öbek sınırındaki tablo düzenlerini ve diğer biçimlendirme öğelerini kabul eder.
    3. Vektör aramasını etkinleştirmeyi seçerseniz, Azure OpenAI öbekleri vektörleştirmek için seçili ekleme ayarını kullanır.
  • Hizmetin izlediği tüm veriler işlendiğinde Azure OpenAI ikinci dizin oluşturucuyu tetikler.
  • Dizin oluşturucu işlenen verileri bir Azure AI Arama hizmeti depolar.

Hizmet çağrılarında kullanılan yönetilen kimlikler için yalnızca sistem tarafından atanan yönetilen kimlikler desteklenir. Kullanıcı tarafından atanan yönetilen kimlikler desteklenmez.

Çıkarım mimarisi

Çıkarım API'sini kullanma işlemini gösteren diyagram.

Verilerinizdeki bir Azure OpenAI modeliyle sohbet etmek için API çağrıları gönderdiğinizde, hizmetin alan eşlemesi gerçekleştirmek için çıkarım sırasında dizin alanlarını alması gerekir. Bu nedenle hizmet, çıkarım sırasında bile Azure OpenAI kimliğinin arama hizmeti rolüne sahip Search Service Contributor olmasını gerektirir.

Çıkarım isteğinde ekleme bağımlılığı sağlanırsa, Azure OpenAI yeniden yazılan sorguyu vektörleştirir ve hem sorgu hem de vektör, vektör araması için Azure AI Search'e gönderilir.

Belge düzeyi erişim denetimi

Not

Belge düzeyinde erişim denetimi yalnızca Azure AI araması için desteklenir.

Verilerinizde Azure OpenAI, Azure AI Search güvenlik filtreleri ile farklı kullanıcılar için yanıtlarda kullanılabilecek belgeleri kısıtlamanıza olanak tanır. Belge düzeyi erişimini etkinleştirdiğinizde Azure AI Search, filtrede belirtilen kullanıcı Microsoft Entra grup üyeliğine göre arama sonuçlarını kırpacaktır. Belge düzeyinde erişimi yalnızca mevcut Azure AI Search dizinlerinde etkinleştirebilirsiniz. Belge düzeyinde erişimi etkinleştirmek için:

  1. Uygulamanızı kaydetmek ve kullanıcı ve grup oluşturmak için Azure AI Search belgelerindeki adımları izleyin.

  2. Belgelerinizi izin verilen gruplarla dizine ekleme. Yeni güvenlik alanlarınızın şemasına sahip olduğundan emin olun:

    {"name": "group_ids", "type": "Collection(Edm.String)", "filterable": true }
    

    group_ids varsayılan alan adıdır. gibi my_group_idsfarklı bir alan adı kullanıyorsanız, alanı dizin alanı eşlemesinde eşleyebilirsiniz.

  3. Dizindeki her hassas belgenin bu güvenlik alanı değerinin belgenin izin verilen gruplarına ayarlandığından emin olun.

  4. Azure OpenAI Studio'da veri kaynağınızı ekleyin. dizin alanı eşleme bölümünde, şema uyumlu olduğu sürece sıfır veya bir değeri izin verilen gruplar alanına eşleyebilirsiniz. İzin verilen gruplar alanı eşlenmemişse, belge düzeyi erişimi devre dışı bırakılır.

Azure OpenAI Studio

Azure AI Search dizini bağlandıktan sonra, stüdyodaki yanıtlarınız oturum açmış kullanıcının Microsoft Entra izinlerine göre belge erişimine sahip olur.

Web uygulaması

Yayımlanmış bir web uygulaması kullanıyorsanız, en son sürüme yükseltmek için uygulamayı yeniden dağıtmanız gerekir. Web uygulamasının en son sürümü, oturum açmış kullanıcının Microsoft Entra hesabının gruplarını alma, önbelleğe alma ve her API isteğine grup kimliklerini ekleme özelliğini içerir.

API

API'yi kullanırken, her API isteğinde parametresini geçirin filter . Örneğin:

Önemli

Aşağıda yalnızca örnek verilmiştir. API anahtarı kullanıyorsanız, bunu Azure Key Vault gibi başka bir yerde güvenli bir şekilde depolayın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin.

Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini doğrulama.

{
    "messages": [
        {
            "role": "user",
            "content": "who is my manager?"
        }
    ],
    "data_sources": [
        {
            "type": "azure_search",
            "parameters": {
                "endpoint": "<AZURE_AI_SEARCH_ENDPOINT>",
                "key": "<AZURE_AI_SEARCH_API_KEY>",
                "index_name": "<AZURE_AI_SEARCH_INDEX>",
                "filter": "my_group_ids/any(g:search.in(g, 'group_id1, group_id2'))"
            }
        }
    ]
}
  • my_group_ids, alan eşlemesi sırasında İzin verilen gruplar için seçtiğiniz alan adıdır.
  • group_id1, group_id2 , oturum açmış kullanıcıya atfedilen gruplardır. İstemci uygulaması kullanıcıların gruplarını alabilir ve önbelleğe alabilir.

Kaynak yapılandırması

Kaynaklarınızı en iyi güvenli kullanım için yapılandırmak için aşağıdaki bölümleri kullanın. Kaynaklarınızın yalnızca bir kısmının güvenliğini sağlamayı planlıyor olsanız bile tüm adımları izlemeniz gerekir.

Bu makalede Azure OpenAI kaynakları, Azure AI arama kaynakları ve depolama hesapları için genel ağı devre dışı bırakmayla ilgili ağ ayarları açıklanmaktadır. Hizmetlerin IP adresleri dinamik olduğundan, seçilen ağları IP kurallarıyla kullanmak desteklenmez.

Kaynak grubu oluştur

Tüm ilgili kaynakları düzenleyebilmeniz için bir kaynak grubu oluşturun. Kaynak grubundaki kaynaklar şunlardır ancak bunlarla sınırlı değildir:

  • Bir Sanal ağ
  • Üç önemli hizmet: bir Azure OpenAI, bir Azure AI Search, bir Depolama Hesabı
  • Her biri tek bir anahtar hizmete bağlı üç Özel uç nokta
  • Her biri bir özel uç noktayla ilişkili üç Ağ arabirimi
  • Şirket içi istemci makinelerinden erişim için bir Sanal ağ geçidi
  • Sanal ağ ile tümleşik bir Web Uygulaması
  • Web Uygulaması'nın Azure OpenAI'nizin IP'sini bulması için Özel DNS bir bölge

Sanal ağ oluşturma

Sanal ağın üç alt ağı vardır.

  1. İlk alt ağ, sanal ağ geçidi için kullanılır.
  2. İkinci alt ağ, üç anahtar hizmeti için özel uç noktalar için kullanılır.
  3. Üçüncü alt ağ boş ve Web Uygulaması giden sanal ağ tümleştirmesi için kullanılır.

Sanal ağ mimarisini gösteren diyagram.

Azure OpenAI'yi yapılandırma

Özel alt etki alanı etkinleştirildi

Özel alt etki alanı , Microsoft Entra Id tabanlı kimlik doğrulaması ve özel DNS bölgesi için gereklidir. Azure OpenAI kaynağı ARM şablonu kullanılarak oluşturulduysa, özel alt etki alanı açıkça belirtilmelidir.

Yönetilen kimliği etkinleştirme

Azure AI Arama ve Depolama Hesabınızın Microsoft Entra Id kimlik doğrulaması aracılığıyla Azure OpenAI Hizmetinizi tanımasına izin vermek için Azure OpenAI Hizmetiniz için yönetilen kimlik atamanız gerekir. En kolay yol, Azure portalında sistem tarafından atanan yönetilen kimliği açmaktır. Azure portalında sistem tarafından atanan yönetilen kimlik seçeneğini gösteren ekran görüntüsü.

Yönetim API'sini kullanarak yönetilen kimlikleri ayarlamak için yönetim API'sinin başvuru belgelerine bakın.


"identity": {
  "principalId": "<YOUR-PRINCIPAL-ID>",
  "tenantId": "<YOUR-TENNANT-ID>",
  "type": "SystemAssigned, UserAssigned", 
  "userAssignedIdentities": {
    "/subscriptions/<YOUR-SUBSCIRPTION-ID>/resourceGroups/my-resource-group",
    "principalId": "<YOUR-PRINCIPAL-ID>", 
    "clientId": "<YOUR-CLIENT-ID>"
  }
}

Güvenilen hizmeti etkinleştirme

Azure OpenAI'nin genel ağ erişimi olmasa da Azure AI Search'ünüzün Azure OpenAI'nizi preprocessing-jobs özel beceri web API'si olarak çağırmasına izin vermek için Azure OpenAI'yi yönetilen kimliğe göre güvenilir bir hizmet olarak Azure AI Search'i atlayacak şekilde ayarlamanız gerekir. Azure OpenAI, JSON Web Belirtecindeki (JWT) talepleri doğrulayarak Azure AI Aramanızdan gelen trafiği tanımlar. Azure AI Search, özel beceri web API'sini çağırmak için sistem tarafından atanan yönetilen kimlik kimlik doğrulamasını kullanmalıdır.

Yönetim API'sinden olarak AzureServices ayarlayınnetworkAcls.bypass. Daha fazla bilgi için sanal ağlar makalesine bakın.

Bu adım yalnızca Azure AI Search kaynağınız için paylaşılan bir özel bağlantınız varsa atlanabilir.

Genel ağ erişimini devre dışı bırakma

Azure portalda Azure OpenAI kaynağınızın genel ağ erişimini devre dışı bırakabilirsiniz.

Azure OpenAI Studio'yu kullanmak gibi istemci makinelerinizden Azure OpenAI Hizmetinize erişime izin vermek için Azure OpenAI kaynağınıza bağlanan özel uç nokta bağlantıları oluşturmanız gerekir.

Arama kaynağı için temel fiyatlandırma katmanını ve üzerini kullanabilirsiniz. Gerekli değildir, ancak S2 fiyatlandırma katmanını kullanırsanız gelişmiş seçenekler kullanılabilir.

Yönetilen kimliği etkinleştirme

Diğer kaynaklarınızın Microsoft Entra ID kimlik doğrulamasını kullanarak Azure AI Arama'yı tanımasına izin vermek için Azure AI Search'ünüzün yönetilen kimliğini atamanız gerekir. En kolay yol, Azure portalında sistem tarafından atanan yönetilen kimliği açmaktır.

Azure portalında Azure AI Search için yönetilen kimlik ayarını gösteren ekran görüntüsü.

Rol tabanlı erişim denetimini etkinleştirme

Azure OpenAI, Azure AI Search'e erişmek için yönetilen kimliği kullandığında, Azure AI Arama'nızda rol tabanlı erişim denetimini etkinleştirmeniz gerekir. Bunu Azure portalında yapmak için Azure portalının Anahtarlar sekmesinde Hem veya Rol tabanlı erişim denetimi'ni seçin.

Azure portalında Azure yapay zeka araması için yönetilen kimlik seçeneğini gösteren ekran görüntüsü.

Daha fazla bilgi için Azure AI Search RBAC makalesine bakın.

Genel ağ erişimini devre dışı bırakma

Azure portalında Azure AI Search kaynağınızın genel ağ erişimini devre dışı bırakabilirsiniz.

Azure OpenAI Studio'yu kullanmak gibi istemci makinelerinizden Azure AI Search kaynağınıza erişim izni vermek için Azure AI Search kaynağınıza bağlanan özel uç nokta bağlantıları oluşturmanız gerekir.

Güvenilen hizmeti etkinleştirme

Arama kaynağınızın güvenilir hizmetini Azure portalından etkinleştirebilirsiniz.

Arama kaynağınızın ağ sekmesine gidin. Genel ağ erişimi devre dışı olarak ayarlandığında, güvenilen hizmetler listesinden Azure hizmetlerinin bu arama hizmetine erişmesine izin ver'i seçin.

Arama güvenilen hizmetini gösteren diyagram.

Güvenilen hizmeti etkinleştirmek için REST API'yi de kullanabilirsiniz. Bu örnekte Azure CLI ve jq araç kullanılmaktadır.

rid=/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/providers/Microsoft.Search/searchServices/<YOUR-RESOURCE-NAME>
apiVersion=2024-03-01-Preview
#store the resource properties in a variable
az rest --uri "https://management.azure.com$rid?api-version=$apiVersion" > search.json

#replace bypass with AzureServices using jq
jq '.properties.networkRuleSet.bypass = "AzureServices"' search.json > search_updated.json

#apply the updated properties to the resource
az rest --uri "https://management.azure.com$rid?api-version=$apiVersion" \
    --method PUT \
    --body @search_updated.json

İpucu

Temel veya standart fiyatlandırma katmanı kullanıyorsanız veya tüm kaynaklarınızı güvenli bir şekilde ilk kez ayarlıyorsanız, bu gelişmiş konuyu atlamalısınız.

Beceri kümesine sahip dizin oluşturucular için özel uç nokta desteği gerektirdiği için bu bölüm yalnızca S2 fiyatlandırma katmanı arama kaynağı için geçerlidir.

Azure OpenAI kaynağınıza bağlanan arama kaynağınızdan paylaşılan özel bağlantı oluşturmak için arama belgelerine bakın. Kaynak türü olarak ve Grup Kimliği olarak'ı Microsoft.CognitiveServices/accounts openai_accountseçin.

Özel bağlantı paylaşıldığında, veri alımı mimarisi diyagramının 8. adımı güvenilen hizmeti atlamadan paylaşılan özel bağlantıya değiştirilir.

S2 arama kaynağıyla veri alma işlemini gösteren diyagram.

Depolama Hesabını Yapılandırma

Güvenilen hizmeti etkinleştirme

Azure OpenAI ve Azure AI Search'ten Depolama Hesabınıza erişime izin vermek için Azure OpenAI ve Azure AI Search'ünüzü yönetilen kimliğe göre güvenilir hizmetler olarak atlayacak şekilde Depolama Hesabı ayarlamanız gerekir.

Azure portalında depolama hesabı ağ sekmesine gidin, "Seçili ağlar"ı seçin ve ardından güvenilen hizmetler listesinden Azure hizmetlerinin bu depolama hesabına erişmesine izin ver'i seçin ve Kaydet'e tıklayın.

Genel ağ erişimini devre dışı bırakma

Azure portalında Depolama Hesabınızın genel ağ erişimini devre dışı bırakabilirsiniz.

Azure OpenAI Studio gibi istemci makinelerinizden Depolama Hesabınıza erişime izin vermek için blob depolamanıza bağlanan özel uç nokta bağlantıları oluşturmanız gerekir.

Rol atamaları

Şimdiye kadar her kaynak çalışmasını bağımsız olarak ayarladınız. Daha sonra hizmetlerin birbirini yetkilendirmesine izin vermeniz gerekir.

Role Atanan Kaynak Açıklama
Search Index Data Reader Azure OpenAI Azure Yapay Zeka Arama Çıkarım hizmeti dizindeki verileri sorgular.
Search Service Contributor Azure OpenAI Azure Yapay Zeka Arama Çıkarım hizmeti, otomatik alan eşlemesi için dizin şemasını sorgular. Veri alma hizmeti dizin, veri kaynakları, beceri kümesi, dizin oluşturucu oluşturur ve dizin oluşturucu durumunu sorgular.
Storage Blob Data Contributor Azure OpenAI Depolama Hesabı Giriş kapsayıcısından okur ve önceden işlenmiş sonucu çıkış kapsayıcısına yazar.
Cognitive Services OpenAI Contributor Azure Yapay Zeka Arama Azure OpenAI Özel beceri.
Storage Blob Data Reader Azure Yapay Zeka Arama Depolama Hesabı Belge bloblarını ve öbek bloblarını okur.
Cognitive Services OpenAI User Web uygulaması Azure OpenAI Kesmesi.

Yukarıdaki tabloda, Assignee sistem tarafından bu kaynağın yönetilen kimliğinin atandığı anlamına gelir.

Yöneticinin Owner rol atamaları eklemek için bu kaynaklarda rolü olması gerekir.

Azure portalında bu rolleri ayarlama yönergeleri için Azure RBAC belgelerine bakın. Rol atamalarını program aracılığıyla eklemek için GitHub'daki kullanılabilir betiği kullanabilirsiniz.

Geliştiricilerin bu kaynakları kullanarak uygulama oluşturmasını sağlamak için yöneticinin kaynaklara aşağıdaki rol atamalarıyla geliştiricilerin kimliğini eklemesi gerekir.

Role Kaynak Açıklama
Cognitive Services OpenAI Contributor Azure OpenAI Azure OpenAI Studio'dan genel alım API'sini çağır. Contributor Rol yeterli değildir, çünkü yalnızca Contributor rolünüz varsa Microsoft Entra Id kimlik doğrulaması aracılığıyla veri düzlemi API'sini çağıramazsınız ve bu makalede açıklanan güvenli kurulumda Microsoft Entra Id kimlik doğrulaması gereklidir.
Cognitive Services User Azure OpenAI Azure OpenAI Studio'dan API Anahtarlarını listeleme.
Contributor Azure Yapay Zeka Arama Azure OpenAI Studio'dan dizinleri listelemek için API Anahtarlarını listeleme.
Contributor Depolama Hesabı Azure OpenAI Studio'dan dosya yüklemek için Hesap SAS'sini listeleyin.
Contributor Geliştiricinin web uygulamasını dağıtması gereken kaynak grubu veya Azure aboneliği Web uygulamasını geliştiricinin Azure aboneliğine dağıtın.
Role Based Access Control Administrator Azure OpenAI Azure OpenAI kaynağında gerekli rol atamasını yapılandırma izni. Web uygulamasının Azure Open AI'yı çağırmasını sağlar.

Ağ geçidini ve istemciyi yapılandırma

Şirket içi istemci makinelerinizden Azure OpenAI Hizmeti'ne erişmek için yaklaşımlardan biri Azure VPN Gateway ve Azure VPN İstemcisi'ni yapılandırmaktır.

Sanal ağınız için sanal ağ geçidi oluşturmak için bu yönergeleri izleyin.

Noktadan siteye yapılandırma eklemek ve Microsoft Entra Id tabanlı kimlik doğrulamasını etkinleştirmek için bu yönergeleri izleyin. Azure VPN İstemcisi profil yapılandırma paketini indirin, sıkıştırmasını açın ve dosyayı Azure VPN istemcinize aktarın AzureVPN/azurevpnconfig.xml .

Azure VPN İstemcisi profilinin içeri aktarıldığı yeri gösteren ekran görüntüsü.

Kaynaklarınızın konak adlarını sanal ağınızdaki özel IP'lere işaret etmek için yerel makine hosts dosyanızı yapılandırın. Dosyahosts, Windows için konumunda ve Linux'ta /etc/hosts bulunurC:\Windows\System32\drivers\etc. Örnek:

10.0.0.5 contoso.openai.azure.com
10.0.0.6 contoso.search.windows.net
10.0.0.7 contoso.blob.core.windows.net

Azure OpenAI Studio

Şirket içi istemci makinelerinizden hem alma hem de çıkarım dahil olmak üzere tüm Azure OpenAI Studio özelliklerini kullanabilmeniz gerekir.

Web uygulaması

Web uygulaması Azure OpenAI kaynağınızla iletişim kurar. Azure OpenAI kaynağınızda genel ağ devre dışı bırakıldığından, web uygulamasının Azure OpenAI kaynağınıza erişmek için sanal ağınızdaki özel uç noktayı kullanacak şekilde ayarlanması gerekir.

Web uygulamasının Azure OpenAI ana bilgisayar adınızı Azure OpenAI için özel uç noktanın özel IP'sine çözümlemesi gerekir. Bu nedenle, önce sanal ağınız için özel DNS bölgesini yapılandırmanız gerekir.

  1. Kaynak grubunuzda özel DNS bölgesi oluşturun.
  2. DNS kaydı ekleyin. IP, Azure OpenAI kaynağınız için özel uç noktanın özel IP adresidir ve IP adresini Azure OpenAI'nizin özel uç noktasıyla ilişkili ağ arabiriminden alabilirsiniz.
  3. Bu sanal ağ ile tümleştirilmiş web uygulamasının bu özel DNS bölgesini kullanabilmesi için özel DNS bölgesini sanal ağınıza bağlayın.

Web uygulamasını Azure OpenAI Studio'dan dağıtırken, sanal ağ ile aynı konumu seçin ve sanal ağ tümleştirme özelliğini destekleyebileceğinden uygun bir SKU seçin.

Web uygulaması dağıtıldıktan sonra, Azure portalı ağ sekmesinden web uygulaması giden trafik sanal ağ tümleştirmesini yapılandırın, web uygulaması için ayırdığınız üçüncü alt ağı seçin.

Web uygulaması için giden trafik yapılandırmasını gösteren ekran görüntüsü.

API'yi kullanma

Oturum açma kimlik bilgilerinizin Cognitive Services OpenAI Contributor Azure OpenAI kaynağınızda rolü olduğundan emin olun ve önce komutunu çalıştırın az login .

Azure portalında bilişsel hizmetler OpenAI katkıda bulunan rolünü gösteren ekran görüntüsü.

Alma API'si

Alma API'sinin kullandığı istek ve yanıt nesneleri hakkında ayrıntılı bilgi için alma API'sinin başvuru makalesine bakın.

Çıkarım API'si

Çıkarım API'sinin kullandığı istek ve yanıt nesneleri hakkında ayrıntılı bilgi için çıkarım API'sinin başvuru makalesine bakın.

Bulut için Microsoft Defender kullanma

Artık uygulamalarınızı korumak için Bulut için Microsoft Defender (önizleme) azure kaynaklarınızla tümleştirebilirsiniz. Bulut için Microsoft Defender yapay zeka iş yükleri için tehdit koruması ile uygulamalarınızı korur; ekiplere Microsoft tehdit bilgileri sinyalleriyle zenginleştirilmiş kanıt tabanlı güvenlik uyarıları sağlar ve ekiplerin tümleşik güvenlik en iyi uygulama önerileriyle güvenlik duruşlarını güçlendirmesini sağlar.

Erişime başvurmak için bu formu kullanın.

Bulut için Microsoft Defender gösteren ekran görüntüsü.