Aracılığıyla paylaş


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

Azure AI Search bekleyen verileri Microsoft tarafından yönetilen anahtarlarla otomatik olarak şifreler. Başka bir şifreleme katmanına veya anahtarları iptal etme ve içeriğe erişimi kapatma özelliğine ihtiyacınız varsa, Azure Key Vault'ta oluşturup yönettiğiniz anahtarları kullanabilirsiniz. Bu makalede, müşteri tarafından yönetilen anahtar (CMK) şifrelemesini ayarlama açıklanmaktadır.

Anahtarlardan birini kullanarak depolayabilirsiniz:

  • Azure Key Vault

  • Azure Key Vault Yönetilen HSM (Donanım Güvenlik Modülü). Azure Key Vault Yönetilen HSM, FIPS 140-2 Düzey 3 onaylı bir HSM'dir. Azure AI Search'te HSM desteği yenidir. Azure Key Vault'tan HSM'ye geçiş yapmak için anahtarlarınızı döndürün ve depolama için Yönetilen HSM'yi seçin.

Önemli

  • CMK sabit veriler için şifreleme sağlar. Kullanımdaki verileri korumanız gerekiyorsa gizli bilgi işlem kullanmayı göz önünde bulundurun.

  • CMK şifrelemesi geri alınamaz. Anahtarları döndürebilir ve CMK yapılandırmasını değiştirebilirsiniz, ancak dizin şifrelemesi dizinin ömrü boyunca sürer. CMK sonrası şifreleme, dizine yalnızca arama hizmetinin anahtara erişimi varsa erişilebilir. Rol atamasını silerek veya değiştirerek anahtar erişimini iptal ederseniz dizin kullanılamaz ve dizin silinene veya anahtara erişim geri yüklenene kadar hizmet ölçeklendirilemez. Anahtarları siler veya döndürürseniz, en son anahtar 60 dakikaya kadar önbelleğe alınır.

CMK şifrelenmiş nesneleri

CMK şifrelemesi, oluşturulduklarında tek tek nesneler için geçerlidir. Başka bir deyişle, zaten var olan nesneleri şifreleyemezsiniz. CMK şifrelemesi, bir nesne diske her kaydedildiğinde, hem bekleyen veriler (uzun süreli depolama) hem de geçici önbelleğe alınmış veriler (kısa süreli depolama) için gerçekleşir. CMK ile disk hiçbir zaman şifrelenmemiş verileri görmez.

Ş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:

  • Dizinler ve eş anlamlılar listelerinde yer alan tüm içerik.

  • Dizin oluşturucularda, veri kaynaklarında, beceri kümelerinde ve vektörleştiricilerde hassas içerik. Hassas içerik bağlantı dizelerini, açıklamaları, kimlikleri, anahtarları ve kullanıcı girişlerini ifade eder. Örneğin, beceri kümelerinin Döküm Araçları anahtarları vardır ve bazı beceriler özel varlıklar gibi kullanıcı girişlerini kabul eder. Her iki durumda da anahtarlar ve kullanıcı girişleri şifrelenir. Dış kaynaklara (Azure veri kaynakları veya Azure OpenAI modelleri gibi) yönelik tüm başvurular da şifrelenir.

Arama hizmetinizde CMK gerekiyorsa bir zorlama ilkesi ayarlayın.

Mevcut bir nesneye şifreleme ekleyemezseniz de, bir nesne şifreleme için yapılandırıldıktan sonra, kaynak aynı kiracıda olduğu sürece farklı bir anahtar kasasına veya HMS depolama alanına geçiş de dahil olmak üzere şifreleme tanımının tüm bölümlerini değiştirebilirsiniz.

Önkoşullar

  • Faturalanabilir bir katmanda (Herhangi bir bölgede temel veya daha yüksek) Azure AI Search.

  • Azure Key Vault ve geçici silme ve temizleme koruması etkinleştirilmiş bir anahtar kasası. Veya Azure Key Vault Yönetilen HSM. Bu kaynak herhangi bir abonelikte ve farklı bir kiracıda olabilir. Bu yönergelerde tek bir kiracı olduğu varsayılır. Kiracılar arası yapılandırma için bkz. Farklı kiracılarda müşteri tarafından yönetilen anahtarları yapılandırma.

  • Anahtar erişimi için izinleri ayarlama ve rol atama olanağı. Anahtar oluşturmak için Azure Key Vault'ta Key Vault Şifreleme Yetkilisi veya Azure Key Vault Yönetilen HSM'de Yönetilen HSM Şifreleme Yetkilisi olmanız gerekir.

    Rolleri atamak için abonelik Sahibi, Kullanıcı Erişim Yöneticisi, Rol Tabanlı Erişim Denetimi Yöneticisi olmanız veya Microsoft.Authorization/roleAssignments/write izinleri olan özel bir role atanmalısınız.

1. Adım: Şifreleme anahtarı oluşturma

Anahtar oluşturmak için Azure Key Vault veya Azure Key Vault Yönetilen HSM kullanın. Azure AI Search şifrelemesi 2048, 3072 ve 4096 boyutlarında RSA anahtarlarını destekler. Desteklenen anahtar türleri hakkında daha fazla bilgi için bkz . Anahtarlar hakkında.

Başlamadan önce bu ipuçlarını gözden geçirmenizi öneririz.

Gerekli işlemler Sarmalama, Çözme, Şifreleme ve Şifre Çözme işlemleridir.

Azure portalını, Azure CLI'yı veya Azure PowerShell'i kullanarak anahtar kasası oluşturabilirsiniz.

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

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

  3. Anahtar oluştur bölmesindeki Seçenekler listesinde Oluştur'useçerek yeni bir anahtar oluşturun.

  4. Anahtarınız için bir Ad girin ve diğer anahtar özellikleri için varsayılan değerleri kabul edin.

  5. İsteğe bağlı olarak, otomatik döndürmeyi etkinleştirmek için bir anahtar döndürme ilkesi ayarlayın.

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

  7. Anahtar oluşturulduktan sonra anahtar tanımlayıcısını alın. Anahtarı seçin, geçerli sürümü seçin ve ardından anahtar tanımlayıcısını kopyalayın. 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. Gerekli işlemlerin Sarmalama, Sarmalama, Şifreleme ve Şifre Çözme olduğunu hatırlayın.

    Yeni anahtar kasası anahtarı oluşturma

2. Adım: Güvenlik sorumlusu oluşturma

Arama hizmetinizin şifreleme anahtarına erişmek için kullandığı bir güvenlik sorumlusu oluşturun. Yönetilen kimlik ve rol ataması kullanabilir veya bir uygulamayı kaydedebilir ve arama hizmetinin isteklerde uygulama kimliğini sağlamasını sağlayabilirsiniz.

Yönetilen kimlik ve roller kullanmanızı öneririz. Sistem tarafından yönetilen bir kimlik veya kullanıcı tarafından yönetilen kimlik kullanabilirsiniz. Yönetilen kimlik, arama hizmetinizin kimlik bilgilerini (ApplicationID veya ApplicationSecret) kodda depolamadan Microsoft Entra Kimliği aracılığıyla kimlik doğrulaması gerçekleştirmesini sağlar. Bu tür yönetilen kimliğin yaşam döngüsü, yalnızca bir sistem tarafından atanan 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?

Arama hizmetiniz için sistem tarafından atanan yönetilen kimliği etkinleştirin. bu iki tıklamayla yapılan bir işlemdir: etkinleştirme ve kaydetme.

Sistem tarafından atanan yönetilen kimliği açma ekran görüntüsü.

3. Adım: İzinleri verme

Arama hizmetinizi yönetilen kimlik kullanacak şekilde yapılandırdıysanız, şifreleme anahtarına erişim sağlayan roller atayın.

Erişim İlkesi izin modeli üzerinde rol tabanlı erişim denetimi önerilir. Daha fazla bilgi veya geçiş adımları için Azure rol tabanlı erişim denetimi (Azure RBAC) ve erişim ilkeleri (eski) ile başlayın.

  1. Azure portalında oturum açın ve anahtar kasanızı bulun.

  2. Erişim denetimi (IAM) seçeneğini belirleyin ve Rol ataması ekle'yi seçin.

  3. Bir rol seçin:

    • Azure Key Vault'ta Key Vault Şifreleme Hizmeti Şifreleme Kullanıcısı'na tıklayın.
    • Yönetilen HSM'de Yönetilen HSM Şifreleme Hizmeti Şifreleme Kullanıcısı'yı seçin.
  4. Yönetilen kimlikler'i seçin, üyeleri seçin ve ardından arama hizmetinizin yönetilen kimliğini seçin. Yerel olarak test ediyorsanız, bu rolü kendinize de atayın.

  5. Gözden geçir + Ata'yı seçin.

Rol atamasının çalışır duruma gelmesi için birkaç dakika bekleyin.

4. Adım: İçeriği şifreleme

Şifreleme, bir nesne oluşturduğunuzda veya güncelleştirdiğinizde gerçekleşir. Azure portalını belirli nesneler için kullanabilirsiniz. Tüm nesneler için Arama Hizmeti REST API'lerini veya bir Azure SDK'sını kullanın.

Azure portalında yeni bir nesne oluşturduğunuzda, bir anahtar kasasında önceden tanımlanmış müşteri tarafından yönetilen bir anahtar belirtebilirsiniz. Azure portalı aşağıdakiler için CMK şifrelemesini etkinleştirmenize olanak tanır:

  • Dizinler
  • Veri kaynakları
  • Dizin Oluşturucular

Azure portalını kullanma gereksinimleri, anahtar kasasının ve anahtarın mevcut olması gerektiğidir ve anahtara yetkili erişim için önceki adımları tamamladınız.

Azure portalında beceri kümeleri JSON görünümünde tanımlanır. Beceri kümesinde müşteri tarafından yönetilen bir anahtar sağlamak için REST API örneklerinde gösterilen JSON'yi kullanın.

  1. Azure portalında oturum açın ve arama hizmeti sayfanızı açın.

  2. Arama yönetimi'nin altında Dizinler, Dizin Oluşturucular veya Veri Kaynakları'yı seçin.

  3. Yeni bir nesne ekleyin. Nesne tanımında Microsoft tarafından yönetilen şifreleme'yi seçin.

  4. Müşteri tarafından yönetilen anahtarlar'ı seçin ve aboneliğinizi, kasanızı, anahtarınızı ve sürümünüzü seçin.

Azure portalındaki şifreleme anahtarı sayfasının ekran görüntüsü.

Önemli

Azure AI Search'teki şifrelenmiş içerik, belirli bir sürüme sahip belirli bir anahtarı kullanacak şekilde yapılandırılır. Anahtarı veya sürümü değiştirirseniz, öncekini silmeden önce nesnenin kullanılacak şekilde güncelleştirilmiş olması gerekir. Bunun başarısız olması, nesneyi kullanılamaz hale getirir. Anahtar kaybolursa içeriğin şifresini çözemezsiniz.

5. Adım: Şifrelemeyi test edin

Şifrelemenin çalıştığını doğrulamak için şifreleme anahtarını iptal edin, dizini sorgulayın (kullanılamaz olmalıdır) ve ardından şifreleme anahtarını yeniden devreye alın.

Bu görev için Azure portalını kullanın. Anahtara okuma erişimi veren bir rol atamanız olduğundan emin olun.

  1. Azure Key Vault sayfasında Nesne Anahtarları'nı> seçin.

  2. Oluşturduğunuz anahtarı ve ardından Sil'i seçin.

  3. Azure AI Arama sayfasında Arama yönetimi

  4. Dizininizi seçin ve sorgu çalıştırmak için Arama Gezgini'ni kullanın. Bir hata almanız gerekir.

  5. Azure Key Vault Nesne>Anahtarları sayfasına dönün.

  6. Silinen anahtarları yönet'i seçin.

  7. Anahtarınızı ve ardından Kurtar'ı seçin.

  8. Azure AI Search'te dizininize dönün ve sorguyu yeniden çalıştırın. Arama sonuçlarını görmeniz gerekir. Hemen sonuç görmüyorsanız, bir dakika bekleyin ve yeniden deneyin.

CMK uyumluluğunu zorunlu kılmak için bir ilke ayarlama

Azure ilkeleri, kuruluş standartlarını zorunlu kılmaya ve uygun ölçekte uyumluluğu değerlendirmeye yardımcı olur. Azure AI Search'te CMK ile ilgili iki isteğe bağlı yerleşik ilke vardır. Bu ilkeler yeni ve mevcut arama hizmetleri için geçerlidir.

Etki Etkinse efekt
AuditIfNotExists İlke uyumluluğunu denetler: Nesnelerin tanımlı müşteri tarafından yönetilen bir anahtarı var mı ve içerik şifrelenir. Bu etki, içeriği olan mevcut hizmetler için geçerlidir. Bir nesne her oluşturulduğunda veya güncelleştirildiğinde ya da değerlendirme zamanlamasına göre değerlendirilir. Daha fazla bilgi edinin...
Reddetmek İlke zorlamasını denetler: Arama hizmetinde SearchEncryptionWithCmk olarak ayarlanmış Enabledmı? Bu etki yalnızca şifreleme etkin olarak oluşturulması gereken yeni hizmetler için geçerlidir. Mevcut hizmetler çalışır durumda kalır ancak hizmete düzeltme eki uygulamadığınız sürece bunları güncelleştiremezsiniz. Hizmetleri sağlamak için kullanılan araçların hiçbiri bu özelliği kullanıma sunmaz, bu nedenle ilkeyi ayarlamanın sizi programlı kurulumla sınırladığını unutmayın.

Politika atama

  1. Azure portalında yerleşik bir ilkeye gidin ve Ata'yı seçin.

    Aşağıda Azure portalında AuditIfExists ilkesine bir örnek verilmişti:

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

  2. Aboneliği ve kaynak grubunu seçerek ilke kapsamını ayarlayın. İlkenin uygulanmaması gereken tüm arama hizmetlerini hariç tutun.

  3. Varsayılanları kabul edin veya değiştirin. Gözden Geçir +oluştur'u ve ardından Oluştur'u seçin.

CMK ilkesi zorlamasını etkinleştirme

Aboneliğinizdeki bir kaynak grubuna atanan ilke hemen geçerli olur. Denetim ilkeleri uyumlu olmayan kaynaklara bayrak ekler, ancak Reddetme ilkeleri uyumlu olmayan arama hizmetlerinin oluşturulmasını ve güncelleştirilmesini engeller. Bu bölümde uyumlu bir arama hizmeti oluşturma veya bir hizmeti uyumlu hale getirmek için güncelleştirme açıklanmaktadır. Nesneleri uyumlu hale getirmek için bu makalenin birinci adımından başlayın.

Uyumlu arama hizmeti oluşturma

Yeni arama hizmetleri için SearchEncryptionWithCmk olarak ayarlanmış Enabledolarak oluşturun.

Ne Azure portalı ne de komut satırı araçları (Azure CLI ve Azure PowerShell) bu özelliği yerel olarak sağlamaz, ancak CMK ilke tanımıyla bir arama hizmeti sağlamak için Yönetim REST API'sini kullanabilirsiniz.

Bu örnek, SearchEncryptionWithCmk özelliğini içerecek şekilde değiştirilen REST API'leri ile Azure AI Search hizmetinizi yönetme sayfasından alınmaktadır.

### Create a search service (provide an existing resource group)
@resource-group = my-rg
@search-service-name = my-search
PUT https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}?api-version=2025-05-01 HTTP/1.1
     Content-type: application/json
     Authorization: Bearer {{token}}

    {
        "location": "North Central US",
        "sku": {
            "name": "basic"
        },
        "properties": {
            "replicaCount": 1,
            "partitionCount": 1,
            "hostingMode": "default",
            "encryptionWithCmk": {
                "enforcement": "Enabled"
        }
      }
    }

Mevcut arama hizmetini güncelleştirme

Artık uyumlu olmayan mevcut arama hizmetleri için Hizmetler - Güncelleştirme API'sini veya Azure CLI az resource update komutunu kullanarak bunlara düzeltme eki uygulayın. Hizmetlere düzeltme eki uygulamak, arama hizmeti özelliklerini güncelleştirme özelliğini geri yükler.

PATCH https://management.azure.com/subscriptions/<your-subscription-Id>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Search/searchServices/<your-search-service-name>?api-version=2025-05-01

{
  "properties": {
      "encryptionWithCmk": {
          "enforcement": "Enabled"
      }
  }
}

Şifreleme anahtarlarını döndürme veya güncelleştirme

Anahtarları döndürmek veya Azure Key Vault'tan Donanım Güvenlik Modeli'ne (HSM) geçmek için aşağıdaki yönergeleri kullanın.

Anahtar döndürme için Azure Key Vault'un otomatik döndürme özelliklerini kullanmanızı öneririz. Otomatik döndürme kullanıyorsanız, nesne tanımlarında anahtar sürümünü atlarsınız. Belirli bir sürüm yerine en son anahtar kullanılır.

Bir anahtarı veya onun sürümünü değiştirdiğinizde, eski değerleri silmeden önce anahtarı kullanan herhangi bir nesnenin yeni değerleri kullanacak şekilde güncelleştirilmiş olması gerekir. Aksi takdirde, nesnenin şifresi çözülemediğinden kullanılamaz duruma gelir.

Anahtarların 60 dakika boyunca önbelleğe alındığını hatırlayın. Anahtarları test ederken ve döndürürken bunu unutmayın.

  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. Bu adımda anahtar kasasından HSM'ye geçiş yapabilirsiniz.

  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: "Access forbidden. The query key used might have been revoked - please retry."

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.

  • İ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.

  • Yönetilen anahtarınızı rol atamaları aracılığıyla ve bir sistem veya kullanıcı tarafından yönetilen kimlik üzerinden bağlanarak alabilmeniz için aynı Azure kiracısını kullanın. Kiracı oluşturma hakkında daha fazla bilgi için bkz . Yeni kiracı ayarlama.

  • Bir anahtar kasasında temizleme korumasını ve geçici silmeyi etkinleştirin. 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ırakırsanız sorunlarla karşılaşırsınız. Temizleme koruması varsayılan olarak etkin değildir, ancak Azure AI Search'te CMK şifrelemesi için gereklidir.

  • Anahtar kullanımını izleyebilebilmeniz için anahtar kasasında günlüğe kaydetmeyi etkinleştirin.

  • Anahtarlar için otomatik döndürmeyi etkinleştirin veya anahtar kasası anahtarlarının , uygulama gizli dizilerinin ve kaydın rutin rotasyonu sırasında katı yordamları izleyin. 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.

Şifrelenmiş içerikle çalışma

CMK ş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.

  1. Log Analytics çalışma alanı oluşturun.

  2. Anahtar kasasına veri saklama için çalışma alanını kullanan bir tanılama ayarı ekleyin.

  3. Kategori için denetim veya allLogs'ı seçin, tanılama ayarına bir ad verin ve kaydedin.

Sonraki adımlar

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