Azure Yapay Zeka Arama'e anahtarları kullanarak bağlanmak

Azure Yapay Zeka Arama, arama hizmetinize yönelik bağlantılar için hem kimlik tabanlı hem de anahtar tabanlı kimlik doğrulamasını (varsayılan) destekler.

Hem istek hem de API anahtarı geçerliyse ve arama hizmeti bir istekte API anahtarlarına izin verecek şekilde yapılandırılmışsa, arama hizmeti uç noktasına yapılan istek kabul edilir.

Önemli

Arama hizmeti oluşturduğunuzda, anahtar tabanlı kimlik doğrulaması varsayılandır, ancak en güvenli seçenek değildir. Bunu rol tabanlı erişimle değiştirmenizi öneririz.

Önkoşullar

Anahtarları görüntülemek veya yönetmek için Sahip, Katkıda Bulunan veya Arama Hizmeti Katkıda Bulunanı olmanız gerekir.

Varsayılan olarak etkin

Azure portalında kimlik doğrulaması Settings>Keys sayfasında belirtilir. Api anahtarları (varsayılan) veya her ikisi de isteğe bağlı API anahtarlarına izin verir olarak ayarlanmış seçenekler.

 Azure portalındaki Anahtarlar sayfasının ekran görüntüsü.

Anahtar türleri

API anahtarı, rastgele oluşturulan 52 sayı ve harflerden oluşan benzersiz bir dizedir. Görsel olarak, bir yönetici anahtarıyla sorgu anahtarı arasında ayrım yoktur. Uygulamanızda hangi tür anahtarın belirtildiğini kaybederseniz Azure portalında anahtar değerlerini denetleyebilirsiniz.

İsteğin kimliğini doğrulamak için kullanılan iki tür anahtar vardır:

Tür İzin düzeyi Nasıl oluşturulur? Maksimum
Yönetici Tüm veri düzlemi (içerik) işlemleri için tam erişim (okuma-yazma) Birincil veikincil olmak üzere iki yönetici anahtarı, hizmet oluşturulduğunda oluşturulur ve isteğe bağlı olarak ayrı ayrı yeniden oluşturulabilir. İki anahtara sahip olmak, hizmete sürekli erişim için ikinci anahtarı kullanırken bir anahtarı devretmenizi sağlar. 2
Sorgu Arama dizininin belge koleksiyonu kapsamında salt okunur erişim Hizmetle bir sorgu anahtarı oluşturulur. Arama hizmeti yöneticisi tarafından isteğe bağlı olarak daha fazlası oluşturulabilir. 50

Mevcut anahtarları bulma

API anahtarlarını Azure portal, PowerShell, Azure CLI veya REST API kullanarak görüntüleyebilir ve yönetebilirsiniz.

  1. Azure portalında arama hizmetinize gidin.

  2. Yönetici ve sorgu anahtarlarını görüntülemek için sol bölmeden Ayarlar>Anahtarları'nı seçin.

    API anahtarlarını gösteren bir portal sayfasının ekran görüntüsü.

Bağlantılarda anahtarları kullanma

Anahtar tabanlı kimlik doğrulaması yalnızca dizin oluşturma veya sorgulama gibi veri düzlemi (içerik) istekleri ve Arama Hizmeti REST API'sini kullanarak gerçekleştirilen diğer eylemler için kullanılır.

Kaynak kodunuzda, api anahtarını doğrudan bir istek üst bilgisinde belirtebilirsiniz. Alternatif olarak, bunu projenizde bir ortam değişkeni veya uygulama ayarı olarak depolayabilir ve ardından istekteki değişkene başvurabilirsiniz.

  • Yönetici anahtarları nesneleri oluşturmak, değiştirmek veya silmek için kullanılır.
  • Yönetici anahtarları, LIST Dizinleri veya GET Hizmeti İstatistikleri gibi nesne tanımlarını ve sistem bilgilerini ALMAK için de kullanılır.
  • Sorgu anahtarları genellikle sorgular veren istemci uygulamalarına dağıtılır.

Anahtar kimlik doğrulamasının varsayılan olarak etkinleştirildiğini ve dizin oluşturma ve sorgular gibi veri düzlemi işlemlerini desteklediğini hatırlayın.

Ancak, API anahtarlarını devre dışı bırakır ve rol atamaları ayarlarsanız, Azure portalı rol atamalarını üzerinize alır.

Sorgu anahtarları oluşturma

Sorgu anahtarları, bir belge koleksiyonunu hedefleyen işlemler için dizin içindeki belgelere salt okunur erişim için kullanılır. Arama, filtreleme ve öneri sorguları, sorgu anahtarı kullanan tüm işlemlerdir. Dizin tanımı veya dizin oluşturucu durumu gibi sistem verilerini veya nesne tanımlarını döndüren herhangi bir salt okunur işlem için yönetici anahtarı gerekir.

İstemci uygulamalarında erişimi ve işlemleri kısıtlamak, hizmetinizdeki arama varlıklarını korumak için gereklidir. İstemci uygulamasından kaynaklanan tüm sorgular için her zaman yönetici anahtarı yerine sorgu anahtarı kullanın.

  1. Azure portalında arama hizmetinize gidin.

  2. Api anahtarlarını görüntülemek için sol bölmeden Ayarlar>Anahtarları'nı seçin.

  3. Sorgu anahtarlarını yönet altında, hizmetiniz için önceden oluşturulmuş olan sorgu anahtarını kullanın veya yeni sorgu anahtarları oluşturun. Varsayılan sorgu anahtarı adlandırılmasa da, yönetilebilirlik için oluşturulan diğer sorgu anahtarları adlandırılabilir.

    Sorgu anahtarı yönetim seçeneklerinin ekran görüntüsü.

Yönetici anahtarlarını yeniden oluşturma

İş sürekliliği için ikincil anahtarı kullanırken birincil anahtarı döndürebilmeniz için her hizmet için iki yönetici anahtarı oluşturulur.

  1. Azure portalında arama hizmetinize gidin.

  2. Sol bölmeden Ayarlar>Anahtarlar'ı seçin.

  3. İkincil anahtarı kopyalayın.

  4. Tüm uygulamalar için API anahtarı ayarlarını ikincil anahtarı kullanacak şekilde güncelleştirin.

  5. Birincil anahtarı yeniden oluşturma.

  6. Tüm uygulamaları yeni birincil anahtarı kullanacak şekilde güncelleştirin.

Her iki anahtarı da yanlışlıkla aynı anda yeniden oluşturursanız, bu anahtarları kullanan tüm istemci istekleri HTTP 403 Yasak ile başarısız olur. Ancak içerik silinmez ve kalıcı olarak kilitlenmezsiniz.

Hizmete Azure portalından veya program aracılığıyla erişmeye devam edebilirsiniz. Yönetim işlevleri, hizmet API'si anahtarı değil abonelik kimliği üzerinden çalışır ve BU nedenle API anahtarlarınız olmasa bile kullanılabilir.

Portal veya yönetim katmanı aracılığıyla yeni anahtarlar oluşturduktan sonra, isteklerde bu anahtarları sağladığınızda içeriğinize (dizinler, dizin oluşturucular, veri kaynakları, eş anlamlı eşlemeler) erişim geri yüklenir.

Anahtarlardan rollere geçiş

Rol tabanlı erişime geçmek istiyorsanız, anahtarların Azure Yapay Zeka Arama içindeki yerleşik rollerle nasıl eşleştiğini anlamak faydalı olur.

  • Yönetici anahtarı , Arama Hizmeti Katkıda Bulunanı ve Arama Dizini Veri Katkıda Bulunanı rollerine karşılık gelir.
  • Sorgu anahtarı , Arama Dizini Veri Okuyucusu rolüne karşılık gelir.

Güvenli anahtarlar

API anahtarlarına erişimi kısıtlamak için rol atamalarını kullanın.

API anahtarlarını şifrelemek için müşteri tarafından yönetilen anahtar şifrelemesi kullanmak mümkün değildir. Yalnızca arama hizmetinin içindeki hassas veriler (örneğin, dizin içeriği veya veri kaynağı nesne tanımlarındaki bağlantı dizesi) CMK ile şifrelenebilir.

  1. Azure portalında arama hizmetinize gidin.

  2. Sol bölmeden Erişim denetimi (IAM) öğesini ve ardından Rol atamaları sekmesini seçin.

  3. Rol filtresinde anahtarları görüntüleme veya yönetme izni olan rolleri seçin (Sahip, Katkıda Bulunan, Arama Hizmeti Katkıda Bulunan). Bu rollere atanan sonuçta elde edilen güvenlik sorumlularının arama hizmetinizde önemli izinleri vardır.

  4. Önlem olarak, yöneticilerin ve ortak yöneticilerin erişimi olup olmadığını belirlemek için Klasik yöneticiler sekmesini de denetleyin.

En iyi yöntemler

  • Üretim iş yükleri için Microsoft Entra ID ve rol tabanlı erişim geçin. Alternatif olarak, API anahtarlarını kullanmaya devam etmek istiyorsanız, API anahtarlarınız için kimlerin erişimi olduğunu her zaman izlediğinizden ve API anahtarlarını düzenli bir tempoda yeniden oluşturduğunuzdan emin olun.

  • API anahtarlarını yalnızca verilerin açığa çıkması bir risk değilse (örneğin, örnek verileri kullanırken) ve bir güvenlik duvarının arkasında çalışıyorsanız kullanın. API anahtarlarının kullanıma kullanılması hem verilerinizi hem de arama hizmetinizi yetkisiz kullanım riskiyle karşı karşıya bırakır.

  • API anahtarı kullanıyorsanız, 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.

  • Api anahtarını yanlışlıkla kullanıma sunmadığınızdan emin olmak için yayımlamadan önce her zaman kodu, örnekleri ve eğitim malzemelerini denetleyin.