Roller kullanarak Azure Yapay Zeka Arama'e bağlan

Azure Yapay Zeka Arama Microsoft Entra ID aracılığıyla role tabanlı erişim denetimini destekler. Rol tabanlı erişim isteğe bağlıdır ancak önerilir. Alternatif olarak , varsayılan olan anahtar tabanlı kimlik doğrulaması kullanılır.

Bir güvenlik sorumlusuna birden çok rol atarsanız, izinler birleştirilir. Rol atamaları tüm araçlara ve istemci kitaplıklarına uygulanır. Desteklenen herhangi bir yaklaşımı kullanarak rol atayabilirsiniz.

Bu makalede, hizmet yönetimi, geliştirme ve salt okunur sorgu ve alma erişimi için yerleşik rollerin nasıl atanduğu açıklanmaktadır. Ayrıca özel roller oluşturma ve rol atamalarını test etme adımlarını da sağlar.

Tavsiye

  • Yerleşik rollere hızlı bir genel bakış mı istiyorsunuz? Bkz. İzinlerin özeti.
  • Arama sonuçlarına erişimi belge düzeyinde, diğer bir deyişle satır düzeyi güvenlik olarak denetlemek için bkz. Azure Yapay Zeka Arama'te Belge düzeyinde erişim denetimi.

Önkoşullar

Yerleşik roller

Roller, denetim düzlemini veya veri düzlemini etkileyen izinlerden oluşan bir koleksiyonlardır:

  • Kontrol düzlemi: Hizmet sağlama, yapılandırma ve yönetim işlemleri. Denetim düzlemi işlemleri arasında arama hizmetleri oluşturma veya silme, API anahtarlarını listeleme ve ağ ve kimlik doğrulama ayarlarını yönetme sayılabilir. Azure Resource Manager REST API'leri, Search Management REST API'leri ve eşdeğer Azure SDK istemci kitaplıkları aracılığıyla kullanılabilir.

  • Veri düzlemi: Arama hizmeti uç noktasına yönelik işlemler. Veri düzlemi işlemleri iki kategoriye ayrılır: nesne yönetimi ve içerik erişimi. Search Service REST API'leri ve eşdeğer Azure SDK istemci kitaplıkları aracılığıyla kullanılabilir.

Rol açıklamaları

Aşağıdaki yerleşik roller Azure Yapay Zeka Arama'e yetkiler verir. Denetim düzlemi rolleri her zaman kullanılabilirken, veri düzlemi rolleri arama hizmetinizde rol tabanlı erişimin etkinleştirilmesini gerektirir. Daha geniş erişim için yerleşik rolleri birleştirebilir veya ihtiyacınız olan belirli izinlerle özel bir rol oluşturabilirsiniz .

Rol Uçak Açıklama
Sahip Yönetim
  • Rol atama ve kimlik doğrulama ayarlarını değiştirme de dahil olmak üzere tam denetim düzlemi erişimi.
  • Abonelik yöneticileri bu role varsayılan olarak sahiptir.
  • API anahtarlarını yönetebilir.
  • Arama nesneleri oluşturulamıyor, belge yüklenemiyor, dizinleri sorgulamıyor veya bilgi bankalarından alınamıyor.
Katkıda Bulunan Yönetim
  • Sahip ile eşit düzeyde denetim düzlemi erişimi, ancak rol atama yetkisi olmadan.
Okuyucu Yönetim
  • Salt-okunur kontrol düzlemi erişimi.
  • Hizmet ölçümlerini ve nesne tanımlarını görüntüleyebilir.
  • API anahtarlarını görüntüleyemez veya yönetemez, belgeleri yükleyemez, dizinleri sorgulayamaz veya bilgi bankalarından alamazsınız.
Arama Hizmeti Katkıda Bulunanı Denetim ve Veriler
  • Tam kontrol düzlemi erişimi. Veri düzlemi erişimi nesne yönetimiyle sınırlıdır.
  • Dizinler, dizin oluşturucular, beceri kümeleri, bilgi bankaları ve diğer arama nesneleri oluşturabilir.
  • Belgeler yüklenemiyor, sorgu dizinleri alınamıyor veya bilgi bankalarından alınamıyor.
  • Tam izin listesi için bkz. Microsoft.Search/searchServices/*.
Arama Dizini Veri Katılımcısı Veri
  • Okuma-yazma içerik erişimi.
  • Belgeleri yükleyebilir, dizinleri sorgulayabilir ve bilgi bankalarından alabilir.
  • Nesne tanımları değiştirilemez veya yönetici anahtarları alınamaz.
Arama Dizini Veri Okuyucusu Veri
  • Sadece okunabilir içerik erişimi.
  • Dizinleri sorgulayabilir ve bilgi bankalarından alabilir.
  • Belgeler yüklenemez, nesne tanımları değiştirilemez veya yönetici anahtarları alınamaz.

Önemli

  • Sahip, Katkı Sağlayan ve Arama Hizmeti Katkı Sağlayıcısı, veri düzlemine tam okuma-yazma erişimi sağlayan yönetici anahtarlarını alabilir. Bu rolleri yalnızca güvenilen kullanıcılara verin.
  • Varsayılan olarak, veri düzlemi rolleri arama hizmetindeki tüm dizinlere uygulanır. Arama Dizini Veri Katkıda Bulunanı veya Arama Dizini Veri Okuyucusu'na tek bir dizine kapsam eklemek için bkz. Tek bir dizine erişim verme.

İzinlerin özeti

İhtiyacınız olan izinleri hangi rolün sağladığını hızla bulmak için aşağıdaki tabloyu kullanın.

İzinler Sahip/Katkıda Bulunan Okuyucu Arama Hizmeti Katılımcısı Arama Dizini Veri Katılımcısı Arama Dizini Veri Okuyucusu
Azure Yapay Zeka Arama hizmetleri oluşturma ve yapılandırma
Azure portalında erişim hizmeti
Hizmet özelliklerini, ölçümlerini ve uç noktasını görüntüleme
Hizmet üzerindeki tüm nesneleri listeleme
Erişim kotaları ve hizmet istatistikleri
Anahtarları görüntüleme, kopyalama ve yeniden oluşturma
Kimlik doğrulama seçeneklerini ayarlama
Rolleri, ilkeleri ve tanımları görüntüleme
Ağ güvenliğini ve özel bağlantıları yapılandırma
Arama nesneleri oluşturma, çalıştırma ve yönetme 1
Dizin oluşturma için verileri yükle 2
Dizin sorgulama
Bilgi bankasından alma
Yükseltilmiş okuma ile izin filtrelerini atlama

1 Dizinleri, dizin oluşturucuları, veri kaynaklarını, beceri kümelerini, diğer adları, eş anlamlı eşlemeleri, hata ayıklama oturumlarını, bilgi bankalarını ve bilgi kaynaklarını içerir. Dizin oluşturucular çalıştırma ve sıfırlama işlemlerini de destekler.

2 Sahip veya Katkıda Bulunan, diğer istemcilere belge yükleyemese de dizinler oluşturmak ve yüklemek için Verileri içeri aktarma sihirbazını çalıştırabilir. Benzer şekilde, dizin oluşturucular dizin başına rol atamalarından bağımsız olarak arama hizmetindeki herhangi bir dizine yazabilir. Her iki durumda da arama hizmeti (kullanıcı değil) Microsoft.Search/searchServices/indexes/documents/* izinlerini kullanarak veri düzlemi eylemlerini gerçekleştirir.

Yerleşik roller atayın

Bu bölümde, rolleri aşağıdakiler için atarsınız:

Hizmet yönetimi için rol atama

Aşağıdaki roller bir arama hizmeti oluşturmanıza, yapılandırmanıza ve yönetmenize olanak tanır. Bu roller hiyerarşiktir, bu nedenle ihtiyacınız olan erişim düzeyine göre birini seçin.

Rol Kimlik
Sahip 8e3af657-a8ff-443c-a75c-2fe8c4bcb635
Katkıda Bulunan b24988ac-6180-42a0-ab88-20f7382dd24c
Okuyucu acdd72a7-3385-48ef-bd42-f606fba81ae7
  1. Azure portalında arama hizmetinize gidin.

  2. Sol bölmeden Erişim denetimi (IAM) öğesini seçin.

  3. + Ekle>Rol ataması ekle’yi seçin.

    Hizmet yönetimi rollerini atamak için Erişim denetimi (IAM) sayfasının ekran görüntüsü.

  4. Bir rol seçin: Sahip, Katkıda Bulunan veya Okuyucu.

  5. Members sekmesinde Microsoft Entra kullanıcı veya grup kimliğini seçin. Başka bir Azure hizmeti için izinleri ayarıyorsanız sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği seçin.

  6. Gözden geçirme + atama sekmesinde Gözden geçir + ata’yı seçerek rolü atayın.

Geliştirme için rol atama

Aşağıdaki roller arama nesneleri oluşturmanıza, belgeleri yüklemenize, dizinleri sorgulamanıza ve bilgi bankalarından almanıza olanak tanır. Geliştirme görevlerinin tamamını kapsayacak şekilde üç rolü de atayın.

Rol Kimlik
Arama Hizmeti Katkıda Bulunanı 7ca78c08-252a-4471-8644-bb5ff32d4ba0
Arama Dizini Veri Katılımcısı 8ebe5a00-799e-43f5-93ac-243d3dce84a7
Arama Dizini Veri Okuyucusu 1407120a-92aa-4202-b7e9-c0e197c71c8f
  1. Azure portalında arama hizmetinize gidin.

  2. Sol bölmeden Erişim denetimi (IAM) öğesini seçin.

  3. + Ekle>Rol ataması ekle’yi seçin.

    Geliştirme rollerini atamak için Erişim denetimi (IAM) sayfasının ekran görüntüsü.

  4. Arama Hizmeti Katkıda Bulunan seçin.

  5. Members sekmesinde Microsoft Entra kullanıcı veya grup kimliğini seçin. Başka bir Azure hizmeti için izinleri ayarıyorsanız sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği seçin.

  6. Gözden geçirme + atama sekmesinde Gözden geçir + ata’yı seçerek rolü atayın.

  7. Arama Dizini Veri Katkıda Bulunanı ve Arama Dizini Veri Okuyucusu atamak için bu adımları yineleyin.

Salt okunur erişim için rol atama

Dizinlere ve bilgi bankalarına yalnızca okuma erişimi gerektiren uygulamalar ve işlemler için aşağıdaki rolü kullanın. Desteklenen işlemler arasında arama, arama, otomatik tamamlama ve dizinler için öneriler ve bilgi bankaları için alma yer alır.

Rol Kimlik
Arama Dizini Veri Okuyucusu 1407120a-92aa-4202-b7e9-c0e197c71c8f
  1. Azure portalında arama hizmetinize gidin.

  2. Sol bölmeden Erişim denetimi (IAM) öğesini seçin.

  3. + Ekle>Rol ataması ekle’yi seçin.

    Yalnızca okuma için veri erişim rolleri atamak amacıyla Erişim denetimi (IAM) sayfası üzerinden bir ekran görüntüsü.

  4. Arama Dizini Veri Okuyucusu rolünü seçin.

  5. Members sekmesinde Microsoft Entra kullanıcı veya grup kimliğini seçin. Başka bir Azure hizmeti için izinleri ayarıyorsanız sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği seçin.

  6. Gözden geçirme + atama sekmesinde Gözden geçir + ata’yı seçerek rolü atayın.

Rol atamalarını test et

Rol atamalarını test etmek için bir istemci kullanın. Rollerin kümülatif olduğunu unutmayın. Kaynak (arama hizmeti) düzeyinde abonelik veya kaynak grubu düzeyinde kapsamı belirlenmiş devralınan rolleri silemez veya reddedemezsiniz.

Devam etmeden önce uygulamanızı anahtarsız bağlantılar için yapılandırın ve rol atamaları oluşturun.

  1. Azure portalında arama hizmetinize gidin.

  2. Dizinle ilgili izinleri test etmek için sol bölmeden Arama yönetimi>Dizinleri'ni seçin:

    • Arama Hizmeti Katkıda Bulunanlar, arama nesneleri oluşturabilir, değiştirebilir ve silebilir, ancak belge yükleyemezler veya sorgu çalıştıramazlar. İzinleri doğrulamak için bir arama dizini oluşturun.

    • Arama Dizini Veri Katkısında Bulunanlar belgeleri yükleyebilir. Azure portalında Veri içeri aktarma sihirbazı dışında hiçbir belge yükleme seçeneği yoktur, ancak belge yükleme izinlerini onaylamak için bir dizin oluşturucuyu sıfırlayıp çalıştırarak yapabilirsiniz.

    • Arama Dizini Veri Okuyucuları dizinleri sorgulayabilir. İzinleri doğrulamak için Arama gezgini'ni kullanın. Sorgu gönderebilmeniz ve sonuçları görüntüleyebilmeniz gerekir, ancak dizin tanımlarını görüntüleyemiyor veya dizin oluşturamıyor olmanız gerekir.

Tek bir dizine erişim izni verme

Bazı senaryolarda, bir uygulamanın dizin gibi tek bir kaynağa erişimini sınırlamak isteyebilirsiniz.

Azure portalı şu anda bu ayrıntı düzeyinde rol atamalarını desteklememektedir, ancak PowerShell veya Azure CLI kullanarak rol atayabilirsiniz.

PowerShell'de New-AzRoleAssignment kullanarak Azure kullanıcı veya grup adını ve atamanın kapsamını sağlayın.

  1. Azure ve AzureAD modüllerini yükleyin ve Azure hesabınıza bağlanın:

    Import-Module -Name Az
    Import-Module -Name AzureAD
    Connect-AzAccount
    
  2. Kapsamı tek bir dizine belirlenmiş bir rol ataması ekleyin:

    New-AzRoleAssignment -ObjectId <objectId> `
        -RoleDefinitionName "Search Index Data Contributor" `
        -Scope  "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Search/searchServices/<search-service>/indexes/<index-name>"
    

    Referans:New-AzRoleAssignment

Dizin başına kapsam ve dizin oluşturucu işlemleri

Dizin başına rol atamaları, kullanıcılardan veya uygulamalardan gelen sorgular veya belge yüklemeleri gibi yalnızca doğrudan API işlemleri için geçerlidir. Dizin oluşturucular hizmet düzeyi kimlik bilgileriyle çalıştığından dizin başına izinlerle kısıtlanmamıştır.

Arama Hizmeti Katkıda Bulunanı rolüne sahip bir kullanıcı, arama hizmetindeki herhangi bir dizine, hatta bu kullanıcının dizin başına rol atamasının olmadığı dizinlere yazan dizin oluşturucular oluşturabilir.

Dizinler arasında katı veri yalıtımı için şu yaklaşımları göz önünde bulundurun:

  • Dizin düzeyinde yalıtım gerektiren ekipler veya kullanıcılar için ayrı arama hizmetleri kullanın.
  • Arama Hizmeti Katkı Sağlayıcısı yalnızca dizin oluşturucuları yöneten yöneticilere atanın.
  • Paylaşılan dizindeki sorgu sonuçlarını kısıtlamak için güvenlik filtreleri ile belge düzeyi erişim denetimini kullanın.

Özel rol oluşturma

Yerleşik roller doğru izin birleşimini sağlamıyorsa, ihtiyacınız olan işlemleri desteklemek için özel bir rol oluşturabilirsiniz.

Aşağıdaki örnekler Arama Dizini Veri Okuyucusu'na kopyalayıp dizinleri ada göre listeleme olanağını ekler. Normalde, bir arama hizmetindeki dizinlerin listelenmesi yönetim hakkı olarak kabul edilir.

  1. Azure portalında oturum açın ve arama hizmetinize gidin.

  2. Sol bölmeden Erişim denetimi (IAM) öğesini seçin.

  3. Roller sekmesinde Arama Dizini Veri Okuyucusu'nı veya başka bir rolü bulun, üç noktayı (...) ve ardından Kopyala'yı seçin.

  4. Basics sekmesinde, özel rol için "Arama Dizini Veri Gezgini" gibi bir ad girin ve İleri seçin.

  5. İzinler sekmesinde İzin ekle'yi seçin.

  6. İzinleri ekle bölmesinde Microsoft Arama kutucuğunu seçin.

  7. Üst kısımda Eylemler seçili durumdayken aşağıdaki izinleri ayarlayın:

    • Microsoft.Search/operations altında Read: Tüm kullanılabilir işlemleri listele'i seçin.
    • Microsoft.Search/searchServices/indexes altında Read : Read Index öğesini seçin.
  8. Üstteki Data Actions bölümüne geçin ve Microsoft.Search/searchServices/indexes/documents altında Read : Belgeleri Oku'yi seçin.

    JSON tanımı aşağıdaki örneğe benzer:

    {
     "properties": {
         "roleName": "search index data explorer",
         "description": "",
         "assignableScopes": [
             "/subscriptions/0000000000000000000000000000000/resourceGroups/free-search-svc/providers/Microsoft.Search/searchServices/demo-search-svc"
         ],
         "permissions": [
             {
                 "actions": [
                     "Microsoft.Search/operations/read",
                     "Microsoft.Search/searchServices/indexes/read"
                 ],
                 "notActions": [],
                 "dataActions": [
                     "Microsoft.Search/searchServices/indexes/documents/read"
                 ],
                 "notDataActions": []
             }
         ]
       }
     }
    
  9. Ekle'yi seçerek bölmeyi kapatın.

  10. Rolü oluşturmak için Gözden geçir + oluştur'u seçin.

    Artık role kullanıcı ve grup atayabilirsiniz. Bu adımlar hakkında daha fazla bilgi için bkz. Azure portalını kullanarak Azure özel rolleri oluşturma veya güncelleştirme.

Koşullu Erişim ilkesi oluşturma

Çok faktörlü kimlik doğrulaması gibi kuruluş ilkelerini zorunlu kılmanız gerekiyorsa Microsoft Entra Koşullu Erişim kullanın.

Azure Yapay Zeka Arama için Koşullu Erişim ilkesi oluşturmak için:

  1. Azure portalında oturum açın.

  2. Microsoft Entra Koşullu Erişim için arama yapın.

  3. Genel Bakış sayfasında Yeni ilke oluştur'u seçin.

  4. Cloud uygulamaları veya eylemleri altında, ilkenizi nasıl ayarlamak istediğinize bağlı olarak bulut uygulaması olarak Azure Yapay Zeka Arama ekleyin.

  5. İlkenizin kalan parametrelerini güncelleştirin. Örneğin, ilkenin uygulanacağı kullanıcıları ve grupları belirtin.

  6. Politikayı kaydedin.

Önemli

Arama hizmetinize atanmış bir yönetilen kimlik varsa, belirli bir arama hizmeti bir bulut uygulaması olarak görünür. Ancak, belirli bir arama hizmetinin seçilmesi ilkenin uygulanmasını sağlamaz. Bunun yerine, arama hizmetinize Koşullu Erişim ilkeleri uygulamak için genel Azure Yapay Zeka Arama bulut uygulamasını seçin.

Sorun giderme

Kimlik doğrulaması için rol tabanlı erişim denetimi kullanan uygulamalar geliştirirken bazı yaygın sorunlarla karşılaşabilirsiniz:

  • Arama hizmeti için varsayılan yapılandırma anahtar tabanlı kimlik doğrulamasıdır. Bu ayarı Hem hem deRol tabanlı erişim denetimi olarak değiştirmezseniz, temel alınan izinlere bakılmaksızın rol tabanlı kimlik doğrulaması kullanan tüm istekler otomatik olarak reddedilir.

  • İsteğiniz rol tabanlı kimlik bilgilerinin yanı sıra bir API anahtarı içeriyorsa, hizmet anahtarı kullanarak kimlik doğrulaması yapar. Rol tabanlı kimlik doğrulamasını kullanmak için istek üst bilgilerinizden API anahtarını kaldırın.

  • Yetkilendirme belirteci yönetilen bir kimlikten geliyorsa ve yakın zamanda uygun izinleri atadıysanız, izin atamalarının etkili olması birkaç saat sürebilir .

  • Belge düzeyi izinlerine sahip sorgular beklenen sonuçları döndürmezse, Arama Dizini Veri Katkıda Bulunanı'nı kullanın veya araştırmak için yükseltilmiş izinlere sahip özel bir rol oluşturun.

Sonraki adım

Bu makalede, Azure Yapay Zeka Arama üzerinde denetim ve veri düzlemi işlemleri için rollerin nasıl atanacakları açıklanmaktadır. Uygulama kodunuz için rol tabanlı erişim eklemeye yönelik kapsamlı yönergeler için: