Aracılığıyla paylaş


Dinlenme halindeki Azure Service Bus verilerini şifrelemek için müşteri tarafından yönetilen anahtarları yapılandırma

Azure Service Bus Premium, Azure Depolama Hizmeti Şifrelemesi (Azure SSE) ile bekleyen verilerin şifrelenmesini sağlar. Service Bus Premium, verileri depolamak için Azure Depolama'yı kullanır. Azure Depolama'da depolanan tüm veriler Microsoft tarafından yönetilen anahtarlar kullanılarak şifrelenir. Kendi anahtarınızı (Kendi Anahtarını Getir (BYOK) veya müşteri tarafından yönetilen anahtar olarak da adlandırılır) kullanıyorsanız veriler Microsoft tarafından yönetilen anahtar kullanılarak şifrelenir, ancak ayrıca Microsoft tarafından yönetilen anahtar müşteri tarafından yönetilen anahtar kullanılarak şifrelenir. Bu özellik, Microsoft tarafından yönetilen anahtarları şifrelemek için kullanılan müşteri tarafından yönetilen anahtarlar oluşturmanızı, döndürmenizi, devre dışı bırakmanızı ve erişimi iptal etmenizi sağlar. BYOK özelliğini etkinleştirmek, ad alanınızda bir defalık bir kurulum sürecidir.

Hizmet tarafı şifrelemesi için müşteri tarafından yönetilen anahtara yönelik bazı uyarılar vardır.

  • Bu özellik Azure Service Bus Premium katmanı tarafından desteklenir. Standart katman Service Bus ad alanları için etkinleştirilemiyor.
  • Şifreleme yalnızca yeni veya boş ad alanları için etkinleştirilebilir. Ad alanı herhangi bir kuyruk veya konu içeriyorsa şifreleme işlemi başarısız olur.

Anahtarlarınızı yönetmek ve anahtar kullanımınızı denetlemek için Azure Key Vault(Azure Key Vault Yönetilen Donanım Güvenlik Modülü (HSM) dahil) kullanabilirsiniz. Kendi anahtarlarınızı oluşturup bir anahtar kasasında depolayabilir veya anahtar oluşturmak için Azure Key Vault API'lerini kullanabilirsiniz. Azure Key Vault hakkında daha fazla bilgi için bkz. Azure Key Vault nedir?

İletilerinizin yalnızca belirli özelliklerini şifrelemeniz gerekiyorsa, NServiceBus gibi bir kitaplık kullanmayı göz önünde bulundurun.

Not

Müşteri tarafından yönetilen anahtar aşağıdaki senaryolarda devre dışı olarak kabul edilir:

  • Erişimi iptal etme: Service Bus artık Azure Key Vault'ta anahtara erişim iznine sahip değilse.
  • Anahtarı devre dışı bırakmak: Key Vault'ta anahtarı el ile devre dışı bırakmak, anahtarı kullanılamaz hale getirir.
  • Anahtarın süresinin dolmasına izin verme: Anahtarın yenileme olmadan son kullanma tarihine ulaşması. Anahtarın süresinin dolmasına izin vermek, anahtarı iptal etme veya devre dışı bırakma ile aynı etkiye sahiptir. İstenmeyen kesintileri önlemek için anahtarları süresi dolmadan önce her zaman döndürün veya yenileyin.
  • Anahtarı silme: Anahtar silindikten sonra kalıcı olarak erişilemez.

Müşteri tarafından yönetilen anahtarları etkinleştirme (Azure portalı)

Azure portalında müşteri tarafından yönetilen anahtarları etkinleştirmek için şu adımları izleyin:

  1. Service Bus Premium ad alanınıza gidin.

  2. Service Bus ad alanınızın Ayarlar sayfasında Şifreleme'yi seçin.

  3. Aşağıdaki görüntüde gösterildiği gibi müşteri tarafından yönetilen anahtar şifrelemesini, dinlenme halindeyken seçin.

    Müşteri tarafından yönetilen anahtarın nasıl etkinleştirildiğini gösteren ekran görüntüsü.

Not

Şu anda portal aracılığıyla Azure Key Vault Yönetilen HSM'yi yapılandıramazsınız.

Anahtar içeren bir anahtar kasası kurma

Müşteri tarafından yönetilen anahtarları etkinleştirdikten sonra, müşteri tarafından yönetilen anahtarı Azure Service Bus ad alanınızla ilişkilendirmeniz gerekir. Service Bus yalnızca Azure Key Vault'un desteklemektedir. Önceki bölümde Müşteri tarafından yönetilen anahtarla şifreleme seçeneğini etkinleştirirseniz anahtarın Azure Key Vault'a aktarılmış olması gerekir. Ayrıca, anahtarlar için Geçici Silme ve Temizleme yapılandırmalarının ayarlanmış olması gerekir. Bu ayarlar PowerShell veya CLI kullanılarak yapılandırılabilir.

Anahtar kasası oluşturma veya yönetilen HSM anahtar kasası oluşturma

Önemli

Azure Service Bus ile müşteri tarafından yönetilen anahtarların kullanılması için kasanın iki gerekli özelliği yapılandırılmış olması gerekir. Bunlar: Geçici Silme ve Temizlememek. Geçici Silme özelliği, Azure portalında yeni bir kasa oluşturduğunuzda varsayılan olarak etkinleştirilirken Temizleme Koruması isteğe bağlıdır, bu nedenle kasayı oluştururken bu kasayı seçtiğinizden emin olun. Ayrıca, mevcut bir anahtar kasasında bu özellikleri etkinleştirmeniz gerekiyorsa PowerShell veya Azure CLI kullanmanız gerekir.

  • Yeni bir Key Vault oluşturmak için Azure Key Vault Hızlı Başlangıcı'nı izleyin. Azure KeyVault hakkında bilgi için bkz . Azure KeyVault Hakkında.

  • Bir kasa oluştururken hem geçici silme hem de temizleme korumasını açmak için az keyvault create komutunu kullanın.

    az keyvault create --name contoso-SB-BYOK-keyvault --resource-group ContosoRG --location westus --enable-soft-delete true --enable-purge-protection true
    
  • Mevcut bir kasaya temizlik koruması eklemek için (geçici silme özelliği zaten etkindir) az keyvault update komutunu uygulayın.

    az keyvault update --name contoso-SB-BYOK-keyvault --resource-group ContosoRG --enable-purge-protection true
    

Anahtar oluşturma

Şu adımları izleyerek anahtarlar oluşturun:

  1. Yeni bir anahtar oluşturmak için Ayarlar'ın altındaki Anahtarlar menüsünde Oluştur/İçeri Aktar'ı seçin.

    Oluştur/İçeri Aktar düğmesini gösteren ekran görüntüsü.

  2. Seçenekler'i Oluştur olarak ayarlayın ve anahtara bir ad verin.

    Bir anahtarı nasıl adlandıracağınızı gösteren ekran görüntüsü.

  3. Artık açılan listeden şifrelemek üzere Service Bus ad alanıyla ilişkilendirmek üzere bu anahtarı seçebilirsiniz.

    Anahtar kasasından bir anahtar seçmeyi gösteren ekran görüntüsü.

    Not

    Yedeklilik için en fazla üç anahtar ekleyebilirsiniz. Anahtarlardan birinin süresi dolduysa veya erişilemiyorsa, diğer anahtarlar şifreleme için kullanılır.

  4. Anahtarın ayrıntılarını doldurun ve Seç'e tıklayın. Microsoft tarafından yönetilen anahtarın anahtarınızla (müşteri tarafından yönetilen anahtar) şifrelenmesini sağlar.

    Önemli

    Coğrafi Olağanüstü Durum Kurtarma ile birlikte Müşteri tarafından yönetilen anahtarı kullanmak istiyorsanız bu bölümü gözden geçirin.

    Microsoft tarafından yönetilen anahtarın müşteri tarafından yönetilen anahtarla şifrelenmesini etkinleştirmek için, belirtilen Azure KeyVault üzerinde Service Bus'ın yönetilen kimliği için bir erişim ilkesi ayarlanır. Bu, Azure Service Bus ad alanından Azure KeyVault'a denetimli erişim sağlar.

    Bu davranış nedeniyle:

    • Service Bus ad alanı için Coğrafi Olağanüstü Durum Kurtarma zaten etkinse ve müşteri tarafından yönetilen anahtarı etkinleştirmek istiyorsanız

    • Müşteri tarafından yönetilen anahtarın zaten ayarlandığı Service Bus ad alanında Coğrafi Olağanüstü Durum Kurtarma'yı etkinleştirmek istiyorsanız, aşağıdaki adımları izleyin:

    • İkincil ad alanı eşleştirildikten sonra birincil ad alanı için yapılandırılan anahtar kasasını kullanır. Coğrafi Olağanüstü Durum Kurtarma eşleştirmeden önce her iki ad alanının anahtar kasası farklıysa, kullanıcının birincil ad alanıyla ilişkilendirilmiş anahtar kasasındaki ikincil ad alanının yönetilen kimliği için bir erişim ilkesi veya RBAC rolü ataması gerekir.

Yönetilen kimlikler

Service Bus ad alanına atayabileceğiniz iki tür yönetilen kimlik vardır.

  • Sistem tarafından atanan: Yönetilen kimliği doğrudan Service Bus ad alanında etkinleştirebilirsiniz. Sistem tarafından atanan yönetilen kimliği etkinleştirdiğinizde, Microsoft Entra'da bu Service Bus ad alanının yaşam döngüsüne bağlı bir kimlik oluşturulur. Bu nedenle, ad alanı silindiğinde Azure sizin için kimliği otomatik olarak siler. Tasarım gereği, yalnızca bu Azure kaynağı (ad alanı) bu kimliği Microsoft Entra ID'den belirteç talep etmek için kullanabilir.
  • Kullanıcı tarafından atanan: Yönetilen kimliği, kullanıcı tarafından atanan kimlik olarak adlandırılan tek başına Azure kaynağı olarak da oluşturabilirsiniz. Kullanıcı tarafından atanan bir yönetilen kimlik oluşturabilir ve bunu bir veya daha fazla Service Bus ad alanına atayabilirsiniz. Kullanıcı tarafından atanan yönetilen kimlikleri kullandığınızda, kimlik onu kullanan kaynaklardan ayrı olarak yönetilir. Bunlar ad alanının yaşam döngüsüne bağlı değildir. Kullanıcı tarafından atanan bir kimliği artık ihtiyacınız kalmadığında açıkça silebilirsiniz.

Daha fazla bilgi için bkz. Azure kaynakları için yönetilen kimlikler nelerdir?

Sistem tarafından atanan kimlikleri kullanarak şifreleme (şablon)

Bu bölümde aşağıdaki görevlerin nasıl gerçekleştirdiğiniz gösterilmektedir:

  • Premium bir Hizmet Ulaşım Ad Alanı, yönetilen bir hizmet kimliği ile oluşturun.
  • Bir anahtar kasası oluşturun ve hizmet kimliğine anahtar kasasına erişim izni verin.
  • Service Bus ad alanını key vault bilgileriyle (anahtar/değer) güncelleştirin.

Yönetilen hizmet kimliğiyle premium Service Bus ad alanı oluşturma

Bu bölümde, Azure Resource Manager şablonu ve PowerShell kullanarak yönetilen hizmet kimliğine sahip bir Azure Service Bus ad alanı oluşturma adımları gösterilmektedir.

  1. Yönetilen hizmet kimliğiyle bir Service Bus premium katmanı ad alanı oluşturmak için şablon hazırlayın.

    Aşağıdaki içeriğe sahip CreateServiceBusPremiumNamespace.bicep adlı bir dosya oluşturun:

    @description('Name for the Namespace.')
    param namespaceName string
    
    @description('Specifies the Azure location for all resources.')
    param location string = resourceGroup().location
    
    resource serviceBusNamespace 'Microsoft.ServiceBus/namespaces@2024-01-01' = {
      name: namespaceName
      location: location
      identity: {
        type: 'SystemAssigned'
      }
      sku: {
        name: 'Premium'
        tier: 'Premium'
        capacity: 1
      }
      properties: {}
    }
    
    output serviceBusNamespaceId string = serviceBusNamespace.id
    
  2. Premium Service Bus ad alanı oluşturmak üzere şablonu dağıtmak için aşağıdaki komutu çalıştırın. Daha sonra kullanmak üzere Service Bus ad alanının kimliğini edin.

    outputs=$(az deployment group create --name CreateServiceBusPremiumNamespace --resource-group <ResourceGroupName> --template-file ./CreateServiceBusPremiumNamespace.bicep --parameters namespaceName='<ServiceBusNamespaceName>' location='<Location>' --query properties.outputs)
    
    serviceBusNamespaceId=$(echo $outputs | jq -r '.serviceBusNamespaceId.value')
    

Service Bus ad alanı kimliğine anahtar kasasına erişim izni verme

Service Bus ad alanının yönetilen kimliğinin anahtar kasasındaki anahtarlara erişebilmesi için anahtar kasasının erişim politikasını ayarlayın. Önceki bölümde yer alan Service Bus ad alanının kimliğini kullanın.

$identity = (Get-AzureRmResource -ResourceId $ServiceBusNamespaceId -ExpandProperties).Identity

Set-AzureRmKeyVaultAccessPolicy -VaultName {keyVaultName} -ResourceGroupName {RGName} -ObjectId $identity.PrincipalId -PermissionsToKeys get,wrapKey,unwrapKey,list

Service Bus ad alanındaki verileri anahtar kasasındaki müşteri tarafından yönetilen anahtarla şifreleme

Şu ana kadar aşağıdaki adımları yaptınız:

  1. Yönetilen kimlikle bir premium ad alanı oluşturuldu.
  2. Bir anahtar kasası oluşturun ve yönetilen kimliğe anahtar kasasına erişim izni verin.

Bu adımda, Service Bus ad alanını anahtar kasası bilgileri ile güncelleyebilirsiniz.

  1. Service Bus ad alanını şifrelemeyle güncelleştirmek için bir şablon oluşturun:

    Aşağıdaki içeriğe sahip UpdateServiceBusNamespaceWithEncryption.bicep adlı bir dosya oluşturun:

    @description('Name for the Namespace to be created in cluster.')
    param namespaceName string
    
    @description('Specifies the Azure location for all resources.')
    param location string = resourceGroup().location
    
    @description('URI of the KeyVault.')
    param keyVaultUri string
    
    @description('KeyName.')
    param keyName string
    
    resource serviceBusNamespace 'Microsoft.ServiceBus/namespaces@2024-01-01' = {
      name: namespaceName
      location: location
      identity: {
        type: 'SystemAssigned'
      }
      sku: {
        name: 'Premium'
        tier: 'Premium'
        capacity: 1
      }
      properties: {
        encryption: {
          keySource: 'Microsoft.KeyVault'
          keyVaultProperties: [
            {
              keyName: keyName
              keyVaultUri: keyVaultUri
            }
          ]
        }
      }
    }
    
  2. Şablonu dağıtmak için aşağıdaki komutu çalıştırın.

    az deployment group create --name UpdateServiceBusNamespaceWithEncryption --resource-group <ResourceGroupName> --template-file ./UpdateServiceBusNamespaceWithEncryption.bicep --parameters namespaceName='<ServiceBusNamespaceName>' location='<Location>' keyName='<KeyName>' keyVaultUri='https://<KeyVaultName>.vault.azure.net'
    

    Not

    Key Vault Yönetilen HSM için, https://<KeyVaultName>.managedhsm.azure.net anahtar kasası URI'si olarak kullanın.

Kullanıcı tarafından atanan kimlikleri (şablon) kullanarak şifreleme

  1. Kullanıcı tarafından atanan bir kimlik oluşturun.
  2. Bir anahtar kasası oluşturun ve erişim ilkeleri kullanarak kullanıcı tarafından atanan kimliğe erişim izni verin.
  3. Premium bir Service Bus ad alanı, yönetilen kullanıcı kimliği ve anahtar kasası bilgileriyle oluşturun.

Kullanıcı tarafından atanan kimlik oluştur

Kullanıcı tarafından atanan bir kimlik oluşturmak için Kullanıcı tarafından atanan yönetilen kimlik oluşturma makalesindeki yönergeleri izleyin. CLI, PowerShell, Azure Resource Manager şablonu ve REST kullanarak kullanıcı tarafından atanan bir kimlik de oluşturabilirsiniz.

Not

Ad alanına en fazla 4 kullanıcı kimliği atayabilirsiniz. Bu ilişkilendirmeler, ad alanı silindiğinde veya şablon içinde identity -> type'yi None'e aktardığınızda silinir.

Kullanıcı tarafından atanan kimliğe erişim izni verme

  1. Aşağıdaki PowerShell komutunu kullanarak kullanıcı kimliği için Hizmet sorumlusu kimliğini alın. Örnekte, ud1 şifreleme için kullanılacak kullanıcı tarafından atanan kimliktir.

    $servicePrincipal=Get-AzADServicePrincipal -SearchString "ud1"    
    
  2. Erişim ilkesi atayarak anahtar kasasına kullanıcı tarafından atanan kimliğe erişim izni verin.

    Set-AzureRmKeyVaultAccessPolicy -VaultName {keyVaultName} -ResourceGroupName {RGName} -ObjectId $servicePrincipal.Id -PermissionsToKeys get,wrapKey,unwrapKey,list    
    

    Not

    En fazla 3 anahtar ekleyebilirsiniz, ancak şifreleme için kullanılan kullanıcı kimliği tüm anahtarlar için aynı olmalıdır. Şu anda yalnızca tek bir şifreleme kimliği desteklenmektedir.

Kullanıcı kimliği ve anahtar kasası bilgileriyle premium Service Bus ad alanı oluşturma

Bu bölümde, bir Azure Resource Manager şablonu kullanarak aşağıdaki görevlerin nasıl gerçekleştirildiğini gösteren bir örnek verilmiştir.

  1. Service Bus ad alanına kullanıcı tarafından yönetilen bir kimlik atayın.

                "identity": {
                    "type": "UserAssigned",
                    "userAssignedIdentities": {
                        "[parameters('identity').userAssignedIdentity]": {}
                    }
                },
    
  2. Anahtar kasanızdan bir anahtar ve anahtara erişmek için kullanıcı tarafından yönetilen bir kimlik belirterek ad alanında şifrelemeyi etkinleştirin.

                    "encryption":{
                       "keySource":"Microsoft.KeyVault",
                       "keyVaultProperties":[
                            {
                                "keyName": "[parameters('keyName')]",
                                "keyVaultUri": "[parameters('keyVaultUri')]",
                                "identity": {
                                    "userAssignedIdentity": "[parameters('identity').userAssignedIdentity]"
                                }
                            }
                       ]
                    }
    
  3. Kullanıcı tarafından atanan kimlik ve şifreleme ile Service Bus ad alanı için bir şablon oluşturun:

    Aşağıdaki içeriğe sahip CreateServiceBusNamespaceWithUserIdentityAndEncryption.bicep adlı bir dosya oluşturun:

    @description('Name for the Namespace to be created in cluster.')
    param namespaceName string
    
    @description('Specifies the Azure location for all resources.')
    param location string = resourceGroup().location
    
    @description('URI of the KeyVault.')
    param keyVaultUri string
    
    @description('KeyName.')
    param keyName string
    
    @description('Resource ID of the user-assigned identity.')
    param userAssignedIdentity string
    
    resource serviceBusNamespace 'Microsoft.ServiceBus/namespaces@2024-01-01' = {
      name: namespaceName
      location: location
      sku: {
        name: 'Premium'
        tier: 'Premium'
        capacity: 1
      }
      identity: {
        type: 'UserAssigned'
        userAssignedIdentities: {
          '${userAssignedIdentity}': {}
        }
      }
      properties: {
        encryption: {
          keySource: 'Microsoft.KeyVault'
          keyVaultProperties: [
            {
              keyName: keyName
              keyVaultUri: keyVaultUri
              identity: {
                userAssignedIdentity: userAssignedIdentity
              }
            }
          ]
        }
      }
    }
    
  4. Şablonu dağıtmak için aşağıdaki komutu çalıştırın.

    az deployment group create --name CreateServiceBusNamespaceWithEncryption --resource-group <ResourceGroupName> --template-file ./CreateServiceBusNamespaceWithUserIdentityAndEncryption.bicep --parameters namespaceName='<ServiceBusNamespaceName>' location='<Location>' keyName='<KeyName>' keyVaultUri='https://<KeyVaultName>.vault.azure.net' userAssignedIdentity='/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroup>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<UserManagedIdentityName>'
    

    Not

    Key Vault Yönetilen HSM için, https://<KeyVaultName>.managedhsm.azure.net anahtar kasası URI'si olarak kullanın.

Hem kullanıcı tarafından atanan hem de sistem tarafından atanan kimlikleri kullanma

Ad alanı hem sistem tarafından atanan hem de kullanıcı tarafından atanan kimliklere aynı anda sahip olabilir. Bu durumda, type aşağıdaki örnekte gösterildiği gibi özelliği olacaktır SystemAssignedUserAssigned.

"identity": {
    "type": "SystemAssigned, UserAssigned",
    "userAssignedIdentities": {
        "/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userIdentity1>" : {}
    }
}

Bu senaryoda, dinlenme halinde olan verileri şifrelemek için sistem tarafından atanan kimliği veya kullanıcı tarafından atanan kimliği seçebilirsiniz.

Resource Manager şablonunda bir identity öznitelik belirtmezseniz sistem tarafından yönetilen kimlik kullanılır. Burada örnek bir kod parçacığı verilmiş.

"properties":{
   "encryption":{
      "keySource":"Microsoft.KeyVault",
      "keyVaultProperties":[
         {
            "keyName":"[parameters('keyName')]",
            "keyVaultUri":"[parameters('keyVaultUri')]"
         }
      ]
   }
}

Şifreleme için kullanıcı tarafından yönetilen kimliği kullanmak için aşağıdaki örne bakın. Özniteliğin identity kullanıcı tarafından yönetilen kimliğe ayarlandığına dikkat edin.

"properties":{
   "encryption":{
      "keySource":"Microsoft.KeyVault",
      "keyVaultProperties":[
         {
            "keyName":"[parameters('keyName')]",
            "keyVaultUri":"[parameters('keyVaultUri')]",
            "identity": {
                "userAssignedIdentity": "[parameters('identity').userAssignedIdentity]"
            }
         }
      ]
   }
}

Altyapı (çift) veri şifrelemesini etkinleştirme

Verilerinizin güvenli olduğuna dair daha yüksek düzeyde güvenceye ihtiyacınız varsa, Çift Şifreleme olarak da bilinen altyapı düzeyinde şifrelemeyi etkinleştirebilirsiniz.

Altyapı şifrelemesi etkinleştirildiğinde Azure Service Bus'taki veriler, iki farklı şifreleme algoritması ve iki farklı anahtar kullanılarak bir kez hizmet düzeyinde ve bir kez altyapı düzeyinde iki kez şifrelenir. Bu nedenle Azure Service Bus verilerinin altyapı şifrelemesi, şifreleme algoritmalarından veya anahtarlarından birinin tehlikeye atılabildiği bir senaryoya karşı koruma sağlar.

Ayrıca altyapı şifrelemesi yalnızca "Microsoft tarafından yönetilen anahtar"dan "Müşteri tarafından yönetilen anahtara" geçiş yapılırken etkinleştirilebilir.

Aşağıdaki örnekte gösterildiği gibi Azure Resource Manager şablonunu requireInfrastructureEncryption özelliğiyle güncelleştirerek bile altyapı şifrelemesini daha sonra etkinleştirebilirsiniz.

"properties":{
   "encryption":{
      "keySource":"Microsoft.KeyVault",    
      "requireInfrastructureEncryption":true,         
      "keyVaultProperties":[
         {
            "keyName":"[parameters('keyName')]",
            "keyVaultUri":"[parameters('keyVaultUri')]"
         }
      ]
   }
}

Anahtarları döndürme, iptal etme ve önbelleğe alma

Şifreleme anahtarlarınızı döndürme

Azure Key Vaults döndürme mekanizmasını kullanarak anahtarınızı anahtar kasasında döndürebilirsiniz. Anahtar döndürmeyi otomatikleştirmek için etkinleştirme ve son kullanma tarihleri de ayarlanabilir. Service Bus hizmeti yeni anahtar sürümlerini algılar ve bunları otomatik olarak kullanmaya başlar.

Anahtarlara erişimi iptal etme

Şifreleme anahtarlarına erişimi iptal etmek, verileri Service Bus'tan temizlemez. Ancak verilere Service Bus ad alanından erişilemiyor. Erişim ilkesi aracılığıyla veya anahtarı silerek şifreleme anahtarını iptal edebilirsiniz. Güvenli erişimden anahtar kasasına erişim ilkeleri ve anahtar kasanızın güvenliğini sağlama hakkında daha fazla bilgi edinin.

Şifreleme anahtarı iptal edilirse, şifrelenmiş ad alanında Service Bus hizmeti kullanılamaz hale gelir. Anahtara erişim etkinleştirilirse veya silinen anahtar geri yüklenirse, şifrelenmiş Service Bus ad alanından verilere erişebilmeniz için Service Bus hizmeti anahtarı seçer.

Anahtarları önbelleğe alma

Service Bus örneği, listelenen şifreleme anahtarlarını 5 dakikada bir yoklar. 5 dakika sonra bir sonraki ankete kadar bunları önbelleğe alır ve kullanır. En az bir anahtar kullanılabildiği sürece kuyruklara ve konulara erişilebilir. Yoklama sırasında listelenen tüm anahtarlara erişilemiyorsa, tüm kuyruklar ve konular kullanılamaz duruma gelir.

Diğer ayrıntılar şunlardır:

  • Service Bus hizmeti 5 dakikada bir ad alanının kaydında listelenen tüm müşteri tarafından yönetilen anahtarları yoklar:
    • Bir anahtar döndürüldüyse, kayıt yeni anahtarla güncelleştirilir.
    • Bir anahtar iptal edildiyse, anahtar kayıttan kaldırılır.
    • Tüm anahtarlar iptal edildiyse, ad alanının şifreleme durumu İptal Edildi olarak ayarlanır. Verilere Service Bus ad alanından erişilemiyor.

Coğrafi Olağanüstü Durum Kurtarma kullanırken dikkat edilmesi gerekenler

Sistem tarafından atanan kimliklerle şifreleme

Microsoft tarafından yönetilen anahtarın müşteri tarafından yönetilen anahtarla şifrelenmesini etkinleştirmek için, belirtilen Azure KeyVault üzerinde sistem tarafından atanan yönetilen kimlik için bir erişim ilkesi ayarlanır. Bu adım, Azure Service Bus ad alanından Azure KeyVault'a denetimli erişim sağlar. Bu nedenle, şu adımları izlemeniz gerekir:

Kullanıcı tarafından atanan kimliklerle şifreleme

İşte birkaç öneri:

  • Yönetilen kimlik oluşturun ve yönetilen kimliğinize Key Vault izinleri atayın.
  • Kimliği kullanıcı tarafından atanan kimlik olarak ekleyin ve her iki ad alanında da kimlikle şifrelemeyi etkinleştirin.
  • Ad alanlarını birlikte eşleştirin.

Kullanıcı Tarafından Atanan Kimliklerle Coğrafi Olağanüstü Durum Kurtarma ve Şifrelemeyi etkinleştirme koşulları:

  • Şifreleme'nin etkinleştirildiği birincil ad alanıyla eşleştirilecekse, ikincil ad alanında Kullanıcı Tarafından Atanan kimlikle Şifreleme zaten etkin olmalıdır.
  • Zaten eşleştirilmiş bir birincilde, ikincil ad alanıyla ilişkilendirilmiş kullanıcı tarafından atanan bir kimliğe sahip olsa bile, Şifrelemeyi etkinleştirmek mümkün değildir.

Sorun giderme

Belirti

Şifreleme anahtarı artık geçerli olmadığından Service Bus ad alanının devre dışı bırakıldığını belirten bir hata alıyorsunuz.

Neden

resource_id veya version kullanarak, süresi dolmuş olan ve belirli bir anahtar sürümüne bağlanan bir bağlantı kullanıyorsunuz. Belirli bir sürüm sağlanırsa, anahtar döndürülmüş olsa bile Service Bus anahtarın bu sürümünü kullanır.

Çözüm

resource__versionless_id veya versionless_id kullanmak yerine resource_id veya versionkullanın.

Sonraki adımlar

Aşağıdaki makalelere bakın: