Azure AI Search'te veri şifrelemesi için müşteri tarafından yönetilen anahtarları yapılandırma

Azure AI Search bekleyen verileri hizmet tarafından yönetilen anahtarlarla otomatik olarak şifreler. Daha fazla koruma gerekiyorsa, Azure Key Vault'ta oluşturup yönettiğiniz anahtarları kullanarak varsayılan şifrelemeyi başka bir şifreleme katmanıyla tamamlayabilirsiniz.

Bu makalede, müşteri tarafından yönetilen anahtar (CMK) veya "kendi anahtarını getir" (BYOK) şifrelemesini ayarlama adımları gösterilmektedir. Aklınızda bulundurmak gereken bazı noktalar şunlardır:

  • CMK şifrelemesi tek tek nesneler üzerinde oluşturulduğunda. Arama hizmetinizde CMK gerekiyorsa bir zorlama ilkesi ayarlayın.

  • CMK şifrelemesi Azure Key Vault'a bağlıdır. Kendi şifreleme anahtarlarınızı oluşturup bir anahtar kasasında depolayabilir veya şifreleme anahtarları oluşturmak için Azure Key Vault API'lerini kullanabilirsiniz. Azure Key Vault, Azure AI Search ile aynı abonelikte ve kiracıda olmalıdır. Azure AI Search, bir sistem veya kullanıcı tarafından yönetilen kimlik üzerinden bağlanarak yönetilen anahtarınızı alır. Bu davranış, her iki hizmetin de aynı kiracıyı paylaşmasını gerektirir.

  • Bir nesne oluşturulduğunda CMK şifrelemesi çalışır duruma gelir. Zaten var olan nesneleri şifreleyemezsiniz. CMK şifrelemesi, bir nesne diske kaydedildiğinde uzun süreli depolama için bekleyen veriler veya kısa vadeli depolama için geçici veriler gerçekleşir. CMK ile disk hiçbir zaman şifrelenmemiş verileri görmez.

Not

Bir dizin CMK şifreliyse, yalnızca arama hizmetinin anahtara erişimi varsa erişilebilir. Erişim iptal edilirse dizin kullanılamaz ve dizin silinene veya anahtara erişim geri yüklenene kadar hizmet ölçeklendirilemez.

CMK şifrelenmiş nesneleri

Şifrelenebilir nesneler dizinler, eş anlamlı listeleri, dizin oluşturucular, veri kaynakları ve beceri kümelerini içerir. Şifrelemenin şifre çözmesi işlem açısından pahalı olduğundan yalnızca hassas içerik şifrelenir.

Şifreleme aşağıdaki içerik üzerinden gerçekleştirilir:

  • Açıklamalar da dahil olmak üzere dizinler ve eş anlamlılar listelerindeki tüm içerik.

  • Dizin oluşturucular, veri kaynakları ve beceri kümeleri için yalnızca bağlantı dizesi, açıklamaları, anahtarları ve kullanıcı girişlerini depolayan alanlar şifrelenir. Örneğin beceri kümelerinin Azure AI hizmet anahtarları vardır ve bazı beceriler özel varlıklar gibi kullanıcı girişlerini kabul eder. Her iki durumda da anahtarlar ve becerilere kullanıcı girişleri şifrelenir.

Tam çift şifreleme

CMK şifrelemesini tanıttığınızda, içeriği iki kez şifrelersiniz. Önceki bölümde belirtilen nesneler ve alanlar için içerik önce CMK'nizle, ikinci olarak da Microsoft tarafından yönetilen anahtarla şifrelenir. İçerik, uzun süreli depolama için veri disklerinde ve kısa vadeli depolama için kullanılan geçici disklerde iki kez şifrelenir.

CMK şifrelemesini etkinleştirmek dizin boyutunu artırır ve sorgu performansını düşürür. Bugüne kadarki gözlemlere bağlı olarak, gerçek performans dizin tanımına ve sorgu türlerine bağlı olarak değişse de sorgu sürelerinde yüzde 30-60'lık bir artış görmeyi bekleyebilirsiniz. Performans azaldığından, bu özelliği yalnızca gerçekten gerektiren dizinlerde etkinleştirmenizi öneririz.

Artık tüm bölgelerde çift şifreleme sağlansa da destek iki aşamada kullanıma sunulmuştur:

  • İlk dağıtım 1 Ağustos 2020'de yapıldı ve aşağıda listelenen beş bölgeyi içeriyordu. Aşağıdaki bölgelerde oluşturulan Arama hizmeti, geçici diskler için değil, veri diskleri için CMK'yi desteklemektedir:

    • Batı ABD 2
    • Doğu ABD
    • Orta Güney ABD
    • US Gov Virginia
    • US Gov Arizona
  • 13 Mayıs 2021'deki ikinci dağıtım, geçici diskler için şifreleme ve desteklenen tüm bölgelere genişletilmiş CMK şifrelemesi ekledi.

    İlk dağıtım sırasında oluşturulan bir hizmetten CMK kullanıyorsanız ve geçici diskler üzerinden CMK şifrelemesi de istiyorsanız, seçtiğiniz bölgede yeni bir arama hizmeti oluşturmanız ve içeriğinizi yeniden dağıtmanız gerekir.

Önkoşullar

Bu senaryoda aşağıdaki araçlar ve hizmetler kullanılır.

Şifrelenmiş nesneyi oluşturabilen bir arama istemciniz olmalıdır. Bu kodda bir anahtar kasası anahtarına ve uygulama kayıt bilgilerine başvurursunuz. Bu kod çalışan bir uygulama veya C# kod örneği DotNetHowToEncryptionUsingCMK gibi bir prototip kod olabilir.

İpucu

Şifreleme anahtarı parametresi içeren dizinler ve eş anlamlı eşlemeler oluşturmak için REST istemcisi veya Azure PowerShell kullanabilirsiniz. Azure SDK'larını da kullanabilirsiniz. Dizinlere veya eş anlamlı eşlemelere anahtar eklemeye yönelik portal desteği desteklenmez.

Key Vault ipuçları

Azure Key Vault'ta yeniyseniz, temel görevler hakkında bilgi edinmek için bu hızlı başlangıcı gözden geçirin: PowerShell kullanarak Azure Key Vault'tan gizli dizi ayarlama ve alma. Key Vault'un kullanımına yönelik bazı ipuçları şunlardır:

  • İhtiyacınız olan sayıda anahtar kasası kullanın. Yönetilen anahtarlar farklı anahtar kasalarında olabilir. Arama hizmeti, her biri farklı bir müşteri tarafından yönetilen şifreleme anahtarıyla şifrelenmiş ve farklı anahtar kasalarında depolanan birden çok şifrelenmiş nesneye sahip olabilir.

  • Anahtar kullanımını izleyebilebilmeniz için Key Vault'ta günlüğe kaydetmeyi etkinleştirin.

  • Anahtar kasası anahtarlarının ve Active Directory uygulama gizli dizilerinin ve kaydının rutin rotasyonu sırasında katı yordamları izlemeyi unutmayın. Eskileri silmeden önce her zaman tüm şifrelenmiş içeriği yeni gizli dizileri ve anahtarları kullanacak şekilde güncelleştirin. Bu adımı kaçırırsanız içeriğinizin şifresi çözülemez.

1 - Temizleme korumasını etkinleştirme

İlk adım olarak, anahtar kasasında geçici silme ve temizleme korumasının etkinleştirildiğinden emin olun. Müşteri tarafından yönetilen anahtarlarla şifrelemenin doğası gereği, Azure Key Vault anahtarınız silinirse kimse verilerinizi alamaz.

Key Vault anahtar silmelerinin yanlışlıkla neden olduğu veri kaybını önlemek için, anahtar kasasında geçici silme ve temizleme koruması etkinleştirilmelidir. Geçici silme varsayılan olarak etkindir, bu nedenle yalnızca bilerek devre dışı bırakmış olmanız durumunda sorunlarla karşılaşırsınız. Temizleme koruması varsayılan olarak etkin değildir, ancak Azure AI Search'te müşteri tarafından yönetilen anahtar şifrelemesi için gereklidir.

Portal, PowerShell veya Azure CLI komutlarını kullanarak her iki özelliği de ayarlayabilirsiniz.

  1. Azure portalında oturum açın ve anahtar kasasına genel bakış sayfanızı açın.

  2. Temel Bilgiler'in altındaki Genel Bakış sayfasında Geçici silme ve Temizleme korumasını etkinleştirin.

2 - Key Vault'ta anahtar oluşturma

Azure Key Vault'ta kullanmak istediğiniz bir anahtarınız varsa anahtar oluşturmayı atlayın, ancak anahtar tanımlayıcısını toplayın. Şifrelenmiş bir nesne oluştururken bu bilgilere ihtiyacınız vardır.

  1. Azure portalında oturum açın ve anahtar kasasına genel bakış sayfanızı açın.

  2. Soldaki Anahtarlar'ı ve ardından + Oluştur/İçeri Aktar'ı seçin.

  3. Anahtar oluştur bölmesindeki Seçenekler listesinden anahtar oluşturmak için kullanmak istediğiniz yöntemi seçin. Yeni anahtar oluşturabilir, Var olan bir anahtarı karşıya yükleyebilir veya bir anahtarın yedeğini seçmek için Yedeklemeyi Geri Yükle'yi kullanabilirsiniz.

  4. Anahtarınız için bir Ad girin ve isteğe bağlı olarak diğer anahtar özelliklerini seçin.

  5. Dağıtımı başlatmak için Oluştur'u seçin.

  6. Anahtarı seçin, geçerli sürümü seçin ve ardından anahtar tanımlayıcısını not edin. Anahtar değeri Uri'sini, anahtar adını ve anahtar sürümünü oluşturur. Azure AI Search'te şifrelenmiş dizin tanımlamak için tanımlayıcıya ihtiyacınız vardır.

    Yeni anahtar kasası anahtarı oluşturma

3 - Güvenlik sorumlusu oluşturma

Çalışma zamanında şifreleme anahtarına erişmek için çeşitli seçenekleriniz vardır. En basit yaklaşım, arama hizmetinizin yönetilen kimliğini ve izinlerini kullanarak anahtarı almaktır. Sistem veya kullanıcı tarafından yönetilen kimlik kullanabilirsiniz. Bunu yapmak, uygulama kaydı ve uygulama gizli dizileri adımlarını atlamanıza olanak tanır ve şifreleme anahtarı tanımını basitleştirir.

Alternatif olarak, bir Microsoft Entra uygulaması oluşturabilir ve kaydedebilirsiniz. Arama hizmeti, istekler üzerinde uygulama kimliğini sağlar.

Yönetilen kimlik, arama hizmetinizin kimlik bilgilerini (ApplicationID veya ApplicationSecret) kodda depolamadan Azure Key Vault'ta kimlik doğrulaması gerçekleştirmesini sağlar. Bu tür yönetilen kimliğin yaşam döngüsü, yalnızca bir yönetilen kimliğe sahip olabilecek arama hizmetinizin yaşam döngüsüne bağlıdır. Yönetilen kimliklerin nasıl çalıştığı hakkında daha fazla bilgi için bkz . Azure kaynakları için yönetilen kimlikler nelerdir?

  1. Arama hizmetinizi güvenilir bir hizmet haline getirin.

    Sistem tarafından atanan yönetilen kimliği açma

Bu yaklaşımı benimsemenizi engelleyen koşullar şunlardır:

  • Arama hizmetinize doğrudan anahtar kasasına erişim izinleri veremezsiniz (örneğin, arama hizmeti Azure Key Vault'tan farklı bir Microsoft Entra Id kiracısındaysa).

  • Her biri farklı bir anahtar kasasından farklı bir anahtar kullanan ve her anahtar kasasının kimlik doğrulaması için farklı bir kimlik kullanması gereken birden çok şifrelenmiş dizin veya eş anlamlı eşlemeyi barındırmak için tek bir arama hizmeti gerekir. Arama hizmeti yalnızca bir yönetilen kimliğe sahip olabileceğinden, birden çok kimlik gereksinimi senaryonuz için basitleştirilmiş yaklaşımı ele alır.

4 - İzin verme

Bu adımda Key Vault'ta bir erişim ilkesi oluşturursunuz. Bu ilke, Microsoft Entra Id ile kaydettiğiniz uygulamaya müşteri tarafından yönetilen anahtarınızı kullanma izni verir.

Erişim izinleri herhangi bir zamanda iptal edilebilir. İptal ettikten sonra, bu anahtar kasasını kullanan arama hizmeti dizini veya eş anlamlı eşlemesi kullanılamaz hale gelir. Anahtar kasası erişim izinlerinin daha sonra geri yüklenmesi dizin ve eş anlamlı eşleme erişimini geri yükler. Daha fazla bilgi için bkz . Anahtar kasasına güvenli erişim.

  1. Hala Azure portalında anahtar kasanıza genel bakış sayfasını açın.

  2. Soldaki Erişim ilkeleri'ni seçin ve + Oluştur'u seçerek Erişim ilkesi oluşturma sihirbazını başlatın.

    Erişim ilkesi oluşturun.

  3. İzinler sayfasında Anahtar izinleri, Gizli dizi izinleri ve Sertifika İzinleri için Al'ı seçin. Anahtardaki ** şifreleme işlemleri için Anahtarı Aç ve Sarmala'yı seçin.

    İzinler sayfasında İzinler'i seçin.

  4. İleri'yi seçin.

  5. İlke sayfasında, arama hizmeti tarafından şifreleme anahtarına erişmek için kullanılan güvenlik sorumlusunu bulun ve seçin. Bu, arama hizmetinin sistem tarafından yönetilen veya kullanıcı tarafından yönetilen kimliği ya da kayıtlı uygulama olacaktır.

  6. İleri ve Oluştur'u seçin.

Önemli

Azure AI Search'teki şifrelenmiş içerik, belirli bir Azure Key Vault anahtarını belirli bir sürümle kullanacak şekilde yapılandırılır. Anahtarı veya sürümü değiştirirseniz, öncekini silmeden önce dizin veya eş anlamlı eşlem bu anahtarı kullanacak şekilde güncelleştirilmelidir. Bunun başarısız olması dizin veya eş anlamlı eşlemini kullanılamaz hale getirir. Anahtar kaybolursa içeriğin şifresini çözemezsiniz.

5 - İçeriği şifreleme

Bir nesne oluşturduğunuzda şifreleme anahtarları eklenir. Dizine, eş anlamlı eşlemine, dizin oluşturucuya, veri kaynağına veya beceri kümesine müşteri tarafından yönetilen bir anahtar eklemek için, şifrelemeyi etkinleştirmiş bir nesne oluşturmak için Arama REST API'sini veya Azure SDK'sını kullanın. Portal, nesne oluşturma sırasında şifreleme özelliklerine izin vermez.

  1. encryptionKey özelliğini belirtmek için CREATE API'lerini çağırın:

  2. encryptionKey yapısını nesne tanımına ekleyin. Bu özellik, ad ve açıklamayla aynı düzeyde birinci düzey bir özelliktir. Aşağıdaki REST örneklerde özellik yerleşimi gösterilmektedir. Aynı kasayı, anahtarı ve sürümü kullanıyorsanız, her nesne tanımına aynı "encryptionKey" yapısını yapıştırabilirsiniz.

    İlk örnekte, yönetilen kimlik kullanarak bağlanan bir arama hizmeti için "encryptionKey" gösterilmektedir:

    {
      "encryptionKey": {
        "keyVaultUri": "https://demokeyvault.vault.azure.net",
        "keyVaultKeyName": "myEncryptionKey",
        "keyVaultKeyVersion": "eaab6a663d59439ebb95ce2fe7d5f660"
      }
    }
    

    İkinci örnek, bir uygulamayı Microsoft Entra Id'ye kaydettiyseniz gerekli olan "accessCredentials" öğesini içerir:

    {
      "encryptionKey": {
        "keyVaultUri": "https://demokeyvault.vault.azure.net",
        "keyVaultKeyName": "myEncryptionKey",
        "keyVaultKeyVersion": "eaab6a663d59439ebb95ce2fe7d5f660",
        "accessCredentials": {
          "applicationId": "00000000-0000-0000-0000-000000000000",
          "applicationSecret": "myApplicationSecret"
        }
      }
    }
    

Şifrelenmiş nesneyi arama hizmetinde oluşturduktan sonra, türündeki diğer herhangi bir nesne gibi kullanabilirsiniz. Şifreleme, kullanıcı ve geliştirici için saydamdır.

Not

Bu anahtar kasası ayrıntılarının hiçbiri gizli dizi olarak kabul edilmez ve Azure portalındaki ilgili Azure Key Vault sayfasına göz atılarak kolayca alınabilir.

6 - İlkeyi ayarlama

Azure ilkeleri, kuruluş standartlarını zorunlu kılmaya ve uygun ölçekte uyumluluğu değerlendirmeye yardımcı olur. Azure AI Search,hizmet genelinde CMK zorlaması için isteğe bağlı bir yerleşik ilkeye sahiptir.

Bu bölümde, arama hizmetiniz için bir CMK standardı tanımlayan ilkeyi ayarlarsınız. Ardından, bu ilkeyi zorunlu kılmak için arama hizmetinizi ayarlarsınız.

  1. Web tarayıcınızda yerleşik ilkeye gidin. Ata'yı seçin

    Yerleşik CMK ilkesi atama işleminin ekran görüntüsü.

  2. İlke kapsamını ayarlayın. Parametreler bölümünde Yalnızca parametreleri göster... seçeneğinin işaretini kaldırın ve Efekt'i Reddet olarak ayarlayın.

    İsteğin değerlendirmesi sırasında, reddetme ilkesi tanımıyla eşleşen bir istek uyumsuz olarak işaretlenir. Hizmetinizin standardının CMK şifrelemesi olduğunu varsayarsak, "reddetme" CMK şifrelemesi belirtmeyen isteklerin uyumsuz olduğu anlamına gelir.

    Yerleşik CMK ilke etkisini reddedecek şekilde değiştirmenin ekran görüntüsü.

  3. İlkeyi oluşturmayı tamamlayın.

  4. HIZMET düzeyinde CMK ilkesi zorlamasını etkinleştirmek için Hizmetler - Güncelleştirme API'sini çağırın.

PATCH https://management.azure.com/subscriptions/[subscriptionId]/resourceGroups/[resourceGroupName]/providers/Microsoft.Search/searchServices/[serviceName]?api-version=2022-11-01

{
    "properties": {
        "encryptionWithCmk": {
            "enforcement": "Enabled",
            "encryptionComplianceStatus": "Compliant"
        }
    }
}

REST örnekleri

Bu bölümde, bir nesne tanımında "encryptionKey" öğesini nerede bulabileceğinizi görebilmeniz için birkaç nesne için JSON gösterilmektedir.

Dizin şifrelemesi

REST API aracılığıyla yeni dizin oluşturmanın ayrıntıları Dizin Oluşturma (REST API) bölümünde bulunabilir; burada tek fark, dizin tanımının bir parçası olarak şifreleme anahtarı ayrıntılarını belirtmektir:

{
 "name": "hotels",
 "fields": [
  {"name": "HotelId", "type": "Edm.String", "key": true, "filterable": true},
  {"name": "HotelName", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false},
  {"name": "Description", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "en.lucene"},
  {"name": "Description_fr", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "fr.lucene"},
  {"name": "Category", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "facetable": true},
  {"name": "Tags", "type": "Collection(Edm.String)", "searchable": true, "filterable": true, "sortable": false, "facetable": true},
  {"name": "ParkingIncluded", "type": "Edm.Boolean", "filterable": true, "sortable": true, "facetable": true},
  {"name": "LastRenovationDate", "type": "Edm.DateTimeOffset", "filterable": true, "sortable": true, "facetable": true},
  {"name": "Rating", "type": "Edm.Double", "filterable": true, "sortable": true, "facetable": true},
  {"name": "Location", "type": "Edm.GeographyPoint", "filterable": true, "sortable": true}
 ],
  "encryptionKey": {
    "keyVaultUri": "https://demokeyvault.vault.azure.net",
    "keyVaultKeyName": "myEncryptionKey",
    "keyVaultKeyVersion": "eaab6a663d59439ebb95ce2fe7d5f660",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "myApplicationSecret"
    }
  }
}

Artık dizin oluşturma isteğini gönderebilir ve ardından dizini normal şekilde kullanmaya başlayabilirsiniz.

Eş anlamlı eşleme şifrelemesi

Eş Anlamlı Eşlem Oluştur Azure AI Arama REST API'sini kullanarak şifrelenmiş bir eş anlamlı eşleme oluşturun. Kullanılacak şifreleme anahtarını belirtmek için "encryptionKey" özelliğini kullanın.

{
  "name" : "synonymmap1",
  "format" : "solr",
  "synonyms" : "United States, United States of America, USA\n
  Washington, Wash. => WA",
  "encryptionKey": {
    "keyVaultUri": "https://demokeyvault.vault.azure.net",
    "keyVaultKeyName": "myEncryptionKey",
    "keyVaultKeyVersion": "eaab6a663d59439ebb95ce2fe7d5f660",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "myApplicationSecret"
    }
  }
}

Artık eş anlamlı eşleme oluşturma isteğini gönderebilir ve normal şekilde kullanmaya başlayabilirsiniz.

Veri kaynağı şifrelemesi

Veri Kaynağı Oluştur 'u (REST API) kullanarak şifrelenmiş bir veri kaynağı oluşturun. Kullanılacak şifreleme anahtarını belirtmek için "encryptionKey" özelliğini kullanın.

{
  "name" : "datasource1",
  "type" : "azureblob",
  "credentials" :
  { "connectionString" : "DefaultEndpointsProtocol=https;AccountName=datasource;AccountKey=accountkey;EndpointSuffix=core.windows.net"
  },
  "container" : { "name" : "containername" },
  "encryptionKey": {
    "keyVaultUri": "https://demokeyvault.vault.azure.net",
    "keyVaultKeyName": "myEncryptionKey",
    "keyVaultKeyVersion": "eaab6a663d59439ebb95ce2fe7d5f660",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "myApplicationSecret"
    }
  }
}

Artık veri kaynağı oluşturma isteğini gönderebilir ve normal şekilde kullanmaya başlayabilirsiniz.

Beceri kümesi şifrelemesi

Beceri Kümesi Oluşturma REST API'sini kullanarak şifrelenmiş bir beceri kümesi oluşturun. Kullanılacak şifreleme anahtarını belirtmek için "encryptionKey" özelliğini kullanın.

{
    "name": "skillset1",
    "skills":  [ omitted for brevity ],
    "cognitiveServices": { omitted for brevity },
      "knowledgeStore":  { omitted for brevity  },
    "encryptionKey": (optional) { 
        "keyVaultKeyName": "myEncryptionKey",
        "keyVaultKeyVersion": "eaab6a663d59439ebb95ce2fe7d5f660",
        "keyVaultUri": "https://demokeyvault.vault.azure.net",
        "accessCredentials": {
            "applicationId": "00000000-0000-0000-0000-000000000000",
            "applicationSecret": "myApplicationSecret"}
    }
}

Artık beceri kümesi oluşturma isteğini gönderebilir ve normal şekilde kullanmaya başlayabilirsiniz.

Dizin oluşturucu şifrelemesi

Dizin Oluşturucu OLUŞTURMA REST API'sini kullanarak şifrelenmiş bir dizin oluşturucu oluşturun. Kullanılacak şifreleme anahtarını belirtmek için "encryptionKey" özelliğini kullanın.

{
  "name": "indexer1",
  "dataSourceName": "datasource1",
  "skillsetName": "skillset1",
  "parameters": {
      "configuration": {
          "imageAction": "generateNormalizedImages"
      }
  },
  "encryptionKey": {
    "keyVaultUri": "https://demokeyvault.vault.azure.net",
    "keyVaultKeyName": "myEncryptionKey",
    "keyVaultKeyVersion": "eaab6a663d59439ebb95ce2fe7d5f660",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "myApplicationSecret"
    }
  }
}

Artık dizin oluşturucu oluşturma isteğini gönderebilir ve normal şekilde kullanmaya başlayabilirsiniz.

Önemli

Mevcut arama dizinlerine veya eş anlamlı eşlemelerine "encryptionKey" eklenemez ancak üç anahtar kasası ayrıntısından herhangi biri için farklı değerler sağlanarak güncelleştirilebilir (örneğin, anahtar sürümünü güncelleştirme). Yeni bir Key Vault anahtarına veya yeni bir anahtar sürümüne geçiş yaparken, önceki anahtar\sürümü silmeden önce anahtarı kullanan arama dizini veya eş anlamlı eşlemesinin yeni anahtar\sürüm kullanacak şekilde güncelleştirilmiş olması gerekir. Bunun başarısız olması dizin veya eş anlamlı eşlemini kullanılamaz hale getirir çünkü anahtar erişimi kaybolduktan sonra içeriğin şifresini çözemez. Anahtar kasası erişim izinlerinin daha sonra geri yüklenmesi içerik erişimini geri yükler.

Şifrelenmiş içerikle çalışma

Müşteri tarafından yönetilen anahtar şifrelemesi ile, fazladan şifreleme/şifre çözme çalışması nedeniyle hem dizin oluşturma hem de sorgular için gecikme yaşayabilirsiniz. Azure AI Search şifreleme etkinliğini günlüğe kaydetmez, ancak anahtar kasası günlüğü aracılığıyla anahtar erişimini izleyebilirsiniz. Anahtar kasası yapılandırmasının bir parçası olarak günlüğe kaydetmeyi etkinleştirmenizi öneririz.

Anahtar döndürmenin zaman içinde gerçekleşmesi beklenir. Tuşları her döndürdüğünüzde şu sırayı izlemek önemlidir:

  1. Dizin veya eş anlamlı eşlem tarafından kullanılan anahtarı belirleyin.
  2. Anahtar kasasında yeni bir anahtar oluşturun, ancak özgün anahtarı kullanılabilir durumda bırakın.
  3. Yeni değerleri kullanmak için bir dizin veya eş anlamlı eşlem üzerindeki encryptionKey özelliklerini güncelleştirin. Yalnızca başlangıçta bu özellik ile oluşturulan nesneler farklı bir değer kullanacak şekilde güncelleştirilebilir.
  4. Anahtar kasasında önceki anahtarı devre dışı bırakın veya silin. Yeni anahtarın kullanıldığını doğrulamak için anahtar erişimini izleyin.

Performans nedeniyle, arama hizmeti anahtarı birkaç saate kadar önbelleğe alır. Anahtarı yeni bir anahtar sağlamadan devre dışı bırakır veya silerseniz, önbellek süresi dolana kadar sorgular geçici olarak çalışmaya devam eder. Ancak, arama hizmeti artık içeriğin şifresini çözemedikten sonra şu iletiyi alırsınız: "Erişim yasak. Kullanılan sorgu anahtarı iptal edilmiş olabilir; lütfen yeniden deneyin."

Sonraki adımlar

Azure güvenlik mimarisini bilmiyorsanız, Azure Güvenliği belgelerini ve özellikle şu makaleyi gözden geçirin: