Konfigurera kundhanterade nycklar för kryptering av Azure Service Bus-data i vila
Azure Service Bus Premium tillhandahåller kryptering av vilande data med Azure Storage Service Encryption (Azure SSE). Service Bus Premium använder Azure Storage för att lagra data. Alla data som lagras med Azure Storage krypteras med hjälp av Microsoft-hanterade nycklar. Om du använder din egen nyckel (kallas även BYOK (Bring Your Own Key) eller kundhanterad nyckel krypteras data fortfarande med hjälp av den Microsoft-hanterade nyckeln, men dessutom krypteras den Microsoft-hanterade nyckeln med hjälp av den kundhanterade nyckeln. Med den här funktionen kan du skapa, rotera, inaktivera och återkalla åtkomst till kundhanterade nycklar som används för kryptering av Microsoft-hanterade nycklar. Att aktivera BYOK-funktionen är en engångskonfigurationsprocess i ditt namnområde.
Det finns vissa varningar till den kundhanterade nyckeln för kryptering på tjänstsidan.
- Den här funktionen stöds av Azure Service Bus Premium-nivån . Det kan inte aktiveras för Service Bus-namnområden på standardnivå.
- Krypteringen kan bara aktiveras för nya eller tomma namnområden. Om namnområdet innehåller köer eller ämnen misslyckas krypteringsåtgärden.
Du kan använda Azure Key Vault (inklusive Azure Key Vault Managed HSM) för att hantera dina nycklar och granska din nyckelanvändning. Du kan antingen skapa egna nycklar och lagra dem i ett nyckelvalv, eller så kan du använda Azure Key Vault-API:erna för att generera nycklar. Mer information om Azure Key Vault finns i Vad är Azure Key Vault?
Om du bara behöver kryptera vissa egenskaper för dina meddelanden kan du överväga att använda ett bibliotek som NServiceBus för det.
Aktivera kundhanterade nycklar (Azure Portal)
Följ dessa steg för att aktivera kundhanterade nycklar i Azure Portal:
Gå till Service Bus Premium-namnområdet.
På sidan Inställningar i Service Bus-namnområdet väljer du Kryptering.
Välj den kundhanterade nyckelkryptering i vila som visas i följande bild.
Kommentar
För närvarande kan du inte konfigurera Azure Key Vault Managed HSM via portalen.
Konfigurera ett nyckelvalv med nycklar
När du har aktiverat kundhanterade nycklar måste du associera den kundhanterade nyckeln med ditt Azure Service Bus-namnområde. Service Bus stöder endast Azure Key Vault. Om du aktiverar alternativet Kryptering med kundhanterad nyckel i föregående avsnitt måste nyckeln importeras till Azure Key Vault. Dessutom måste nycklarna ha Mjuk borttagning och Rensa inte konfigurerat för nyckeln. De här inställningarna kan konfigureras med PowerShell eller CLI.
Om du vill skapa ett nytt nyckelvalv följer du snabbstarten för Azure Key Vault. Mer information om hur du importerar befintliga nycklar finns i Om nycklar, hemligheter och certifikat.
Viktigt!
Användning av kundhanterade nycklar med Azure Service Bus kräver att nyckelvalvet har två nödvändiga egenskaper konfigurerade. De är: Mjuk borttagning och Rensa inte. Egenskapen Mjuk borttagning är aktiverad som standard när du skapar ett nytt nyckelvalv i Azure Portal medan rensningsskyddet är valfritt, så se till att välja det när du skapar nyckelvalvet. Om du behöver aktivera dessa egenskaper i ett befintligt nyckelvalv måste du använda antingen PowerShell eller Azure CLI.
- Om du vill aktivera både mjukt borttagnings- och rensningsskydd när du skapar ett valv använder du kommandot az keyvault create .
az keyvault create --name contoso-SB-BYOK-keyvault --resource-group ContosoRG --location westus --enable-soft-delete true --enable-purge-protection true
- Om du vill lägga till rensningsskydd i ett befintligt valv (som redan har mjuk borttagning aktiverat) använder du kommandot az keyvault update .
az keyvault update --name contoso-SB-BYOK-keyvault --resource-group ContosoRG --enable-purge-protection true
Skapa nycklar genom att följa dessa steg:
Om du vill skapa en ny nyckel väljer du Generera/importera på menyn Nycklar under Inställningar.
Ange Alternativ till Generera och ge nyckeln ett namn.
Nu kan du välja den här nyckeln som ska associeras med Service Bus-namnområdet för kryptering från listrutan.
Kommentar
För redundans kan du lägga till upp till 3 nycklar. Om en av nycklarna har upphört att gälla eller inte är tillgänglig används de andra nycklarna för kryptering.
Fyll i informationen för nyckeln och klicka på Välj. Detta möjliggör kryptering av den Microsoft-hanterade nyckeln med din nyckel (kundhanterad nyckel).
Viktigt!
Om du vill använda kundhanterad nyckel tillsammans med Geo-Disaster Recovery kan du läsa det här avsnittet.
För att aktivera kryptering av Microsoft-hanterad nyckel med en kundhanterad nyckel konfigureras en åtkomstprincip för Service Bus hanterade identitet på den angivna Azure KeyVault. Detta säkerställer kontrollerad åtkomst till Azure KeyVault från Azure Service Bus-namnområdet.
På grund av detta:
Om Geo-Disaster Recovery redan är aktiverat för Service Bus-namnområdet och du vill aktivera kundhanterad nyckel, så
- Bryt parkopplingen
- Konfigurera åtkomstprincipen för den hanterade identiteten för både de primära och sekundära namnrymderna till nyckelvalvet.
- Konfigurera kryptering på det primära namnområdet.
- Koppla om de primära och sekundära namnrymderna.
Om du vill aktivera Geo-Disaster Recovery på ett Service Bus-namnområde där kundhanterad nyckel redan har konfigurerats, så -
- Konfigurera åtkomstprincipen för den hanterade identiteten för det sekundära namnområdet till nyckelvalvet.
- Koppla ihop de primära och sekundära namnrymderna.
När det sekundära namnområdet är kopplat använder det nyckelvalv som konfigurerats för det primära namnområdet. Om nyckelvalvet för båda namnrymderna skiljer sig före Geo-Disaster Recovery-parkopplingen måste användaren delegera en åtkomstprincip eller RBAC-roll för den hanterade identiteten för det sekundära namnområdet i nyckelvalvet som är associerat med det primära namnområdet.
Hanterade identiteter
Det finns två typer av hanterade identiteter som du kan tilldela till ett Service Bus-namnområde.
- Systemtilldelad: Du kan aktivera en hanterad identitet direkt på ett Service Bus-namnområde. När du aktiverar en systemtilldelad hanterad identitet skapas en identitet i Microsoft Entra som är kopplad till livscykeln för service bus-namnområdet. Så när namnområdet tas bort tar Azure automatiskt bort identiteten åt dig. Avsiktligt kan endast den Azure-resursen (namnområdet) använda den här identiteten för att begära token från Microsoft Entra-ID.
- Användartilldelad: Du kan också skapa en hanterad identitet som en fristående Azure-resurs, som kallas användartilldelad identitet. Du kan skapa en användartilldelad hanterad identitet och tilldela den till en eller flera Service Bus-namnområden. När du använder användartilldelade hanterade identiteter hanteras identiteten separat från de resurser som använder den. De är inte knutna till namnområdets livscykel. Du kan uttryckligen ta bort en användartilldelad identitet när du inte längre behöver den.
Mer information finns i Vad är hanterade identiteter för Azure-resurser?
Kryptera med systemtilldelade identiteter (mall)
Det här avsnittet visar hur du utför följande uppgifter:
- Skapa ett Premium Service Bus-namnområde med en hanterad tjänstidentitet.
- Skapa ett nyckelvalv och ge tjänstidentiteten åtkomst till nyckelvalvet.
- Uppdatera Service Bus-namnområdet med information om nyckelvalvet (nyckel/värde).
Skapa ett Premium Service Bus-namnområde med hanterad tjänstidentitet
Det här avsnittet visar hur du skapar ett Azure Service Bus-namnområde med hanterad tjänstidentitet med hjälp av en Azure Resource Manager-mall och PowerShell.
Skapa en Azure Resource Manager-mall för att skapa ett Service Bus Premium-nivånamnområde med en hanterad tjänstidentitet. Ge filen namnet: CreateServiceBusPremiumNamespace.json:
{ "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion":"1.0.0.0", "parameters":{ "namespaceName":{ "type":"string", "metadata":{ "description":"Name for the Namespace." } }, "location":{ "type":"string", "defaultValue":"[resourceGroup().location]", "metadata":{ "description":"Specifies the Azure location for all resources." } } }, "resources":[ { "type":"Microsoft.ServiceBus/namespaces", "apiVersion":"2018-01-01-preview", "name":"[parameters('namespaceName')]", "location":"[parameters('location')]", "identity":{ "type":"SystemAssigned" }, "sku":{ "name":"Premium", "tier":"Premium", "capacity":1 }, "properties":{ } } ], "outputs":{ "ServiceBusNamespaceId":{ "type":"string", "value":"[resourceId('Microsoft.ServiceBus/namespaces',parameters('namespaceName'))]" } } }
Skapa en mallparameterfil med namnet: CreateServiceBusPremiumNamespaceParams.json.
Kommentar
Ersätt följande variabelvärden:
<ServiceBusNamespaceName>
– Namn på Service Bus-namnområdet<Location>
– Plats för Service Bus-namnområdet
{ "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion":"1.0.0.0", "parameters":{ "namespaceName":{ "value":"<ServiceBusNamespaceName>" }, "location":{ "value":"<Location>" } } }
Kör följande PowerShell-kommando för att distribuera mallen för att skapa ett Premium Service Bus-namnområde. Hämta sedan ID:t för Service Bus-namnområdet för att använda det senare. Ersätt
{MyRG}
med namnet på resursgruppen innan du kör kommandot.$outputs = New-AzResourceGroupDeployment -Name CreateServiceBusPremiumNamespace -ResourceGroupName {MyRG} -TemplateFile ./CreateServiceBusPremiumNamespace.json -TemplateParameterFile ./CreateServiceBusPremiumNamespaceParams.json $ServiceBusNamespaceId = $outputs.Outputs["serviceBusNamespaceId"].value
Bevilja Service Bus-namnområdesidentitet åtkomst till nyckelvalvet
Ange åtkomstprincipen för nyckelvalvet så att den hanterade identiteten för Service Bus-namnområdet kan komma åt nyckelvärdet i nyckelvalvet. Använd ID:t för Service Bus-namnområdet från föregående avsnitt.
$identity = (Get-AzureRmResource -ResourceId $ServiceBusNamespaceId -ExpandProperties).Identity
Set-AzureRmKeyVaultAccessPolicy -VaultName {keyVaultName} -ResourceGroupName {RGName} -ObjectId $identity.PrincipalId -PermissionsToKeys get,wrapKey,unwrapKey,list
Kryptera data i Service Bus-namnområdet med kundhanterad nyckel från nyckelvalvet
Du har gjort följande hittills:
- Skapade ett premiumnamnområde med en hanterad identitet.
- Skapa ett nyckelvalv och bevilja den hanterade identiteten åtkomst till nyckelvalvet.
I det här steget uppdaterar du Service Bus-namnområdet med information om nyckelvalvet.
Skapa en JSON-fil med namnet UpdateServiceBusNamespaceWithEncryption.json med följande innehåll:
{ "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion":"1.0.0.0", "parameters":{ "namespaceName":{ "type":"string", "metadata":{ "description":"Name for the Namespace to be created in cluster." } }, "location":{ "type":"string", "defaultValue":"[resourceGroup().location]", "metadata":{ "description":"Specifies the Azure location for all resources." } }, "keyVaultUri":{ "type":"string", "metadata":{ "description":"URI of the KeyVault." } }, "keyName":{ "type":"string", "metadata":{ "description":"KeyName." } } }, "resources":[ { "type":"Microsoft.ServiceBus/namespaces", "apiVersion":"2018-01-01-preview", "name":"[parameters('namespaceName')]", "location":"[parameters('location')]", "identity":{ "type":"SystemAssigned" }, "sku":{ "name":"Premium", "tier":"Premium", "capacity":1 }, "properties":{ "encryption":{ "keySource":"Microsoft.KeyVault", "keyVaultProperties":[ { "keyName":"[parameters('keyName')]", "keyVaultUri":"[parameters('keyVaultUri')]" } ] } } } ] }
Skapa en mallparameterfil: UpdateServiceBusNamespaceWithEncryptionParams.json.
Kommentar
Ersätt följande variabelvärden:
<ServiceBusNamespaceName>
– Namn på Service Bus-namnområdet<Location>
– Plats för Service Bus-namnområdet<KeyVaultName>
– Namnet på ditt nyckelvalv<KeyName>
– Namnet på nyckeln i nyckelvalvet
{ "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion":"1.0.0.0", "parameters":{ "namespaceName":{ "value":"<ServiceBusNamespaceName>" }, "location":{ "value":"<Location>" }, "keyName":{ "value":"<KeyName>" }, "keyVaultUri":{ "value":"https://<KeyVaultName>.vault.azure.net" } } }
Kör följande PowerShell-kommando för att distribuera Resource Manager-mallen. Ersätt
{MyRG}
med namnet på resursgruppen innan du kör kommandot.New-AzResourceGroupDeployment -Name UpdateServiceBusNamespaceWithEncryption -ResourceGroupName {MyRG} -TemplateFile ./UpdateServiceBusNamespaceWithEncryption.json -TemplateParameterFile ./UpdateServiceBusNamespaceWithEncryptionParams.json
Kryptera med användartilldelade identiteter (mall)
- Skapa en användartilldelad identitet.
- Skapa ett nyckelvalv och bevilja åtkomst till den användartilldelade identiteten via åtkomstprinciper.
- Skapa ett Premium Service Bus-namnområde med den hanterade användaridentiteten och nyckelvalvsinformationen.
Skapa en användartilldelad identitet
Följ anvisningarna i artikeln Skapa en användartilldelad hanterad identitet för att skapa en användartilldelad identitet. Du kan också skapa en användartilldelad identitet med hjälp av CLI, PowerShell, Azure Resource Manager-mall och REST.
Kommentar
Du kan tilldela upp till 4 användaridentiteter till ett namnområde. Dessa associationer tas bort när namnområdet tas bort eller när du skickar identity -> type
i mallen till None
.
Bevilja åtkomst till användartilldelad identitet
Hämta tjänstens huvudnamns-ID för användaridentiteten med hjälp av följande PowerShell-kommando. I exemplet
ud1
är den användartilldelade identiteten som ska användas för kryptering.$servicePrincipal=Get-AzADServicePrincipal -SearchString "ud1"
Ge den användartilldelade identiteten åtkomst till nyckelvalvet genom att tilldela en åtkomstprincip.
Set-AzureRmKeyVaultAccessPolicy -VaultName {keyVaultName} -ResourceGroupName {RGName} -ObjectId $servicePrincipal.Id -PermissionsToKeys get,wrapKey,unwrapKey,list
Kommentar
Du kan lägga till upp till tre nycklar, men användaridentiteten som används för kryptering bör vara densamma för alla nycklar. För närvarande stöds endast en enda krypteringsidentitet.
Skapa ett Premium Service Bus-namnområde med information om användaridentitet och nyckelvalv
Det här avsnittet innehåller ett exempel som visar hur du utför följande uppgifter med hjälp av en Azure Resource Manager-mall.
Tilldela en användarhanterad identitet till ett Service Bus-namnområde.
"identity": { "type": "UserAssigned", "userAssignedIdentities": { "[parameters('identity').userAssignedIdentity]": {} } },
Aktivera kryptering på namnområdet genom att ange en nyckel från nyckelvalvet och den användarhanterade identiteten för att få åtkomst till nyckeln.
"encryption":{ "keySource":"Microsoft.KeyVault", "keyVaultProperties":[ { "keyName": "[parameters('keyName')]", "keyVaultUri": "[parameters('keyVaultUri')]", "identity": { "userAssignedIdentity": "[parameters('identity').userAssignedIdentity]" } } ] }
Skapa en JSON-fil med namnet CreateServiceBusNamespaceWithUserIdentityAndEncryption.json med följande innehåll:
{ "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion":"1.0.0.0", "parameters":{ "namespaceName":{ "type":"string", "metadata":{ "description":"Name for the Namespace to be created in cluster." } }, "location":{ "type":"string", "defaultValue":"[resourceGroup().location]", "metadata":{ "description":"Specifies the Azure location for all resources." } }, "keyVaultUri":{ "type":"string", "metadata":{ "description":"URI of the KeyVault." } }, "keyName":{ "type":"string", "metadata":{ "description":"KeyName." }, "identity": { "type": "Object", "defaultValue": { "userAssignedIdentity": "" }, "metadata": { "description": "user-assigned identity." } } }, "resources":[ { "type":"Microsoft.ServiceBus/namespaces", "apiVersion":"2021-01-01-preview", "name":"[parameters('namespaceName')]", "location":"[parameters('location')]", "sku":{ "name":"Premium", "tier":"Premium", "capacity":1 }, "identity": { "type": "UserAssigned", "userAssignedIdentities": { "[parameters('identity').userAssignedIdentity]": {} } }, "properties":{ "encryption":{ "keySource":"Microsoft.KeyVault", "keyVaultProperties":[ { "keyName": "[parameters('keyName')]", "keyVaultUri": "[parameters('keyVaultUri')]", "identity": { "userAssignedIdentity": "[parameters('identity').userAssignedIdentity]" } } ] } } } ] }
Skapa en mallparameterfil: CreateServiceBusNamespaceWithUserIdentityAndEncryptionParams.json.
{ "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion":"1.0.0.0", "parameters":{ "namespaceName":{ "value":"<ServiceBusNamespaceName>" }, "location":{ "value":"<Location>" }, "keyVaultUri":{ "value":"https://<KeyVaultName>.vault.azure.net" }, "keyName":{ "value":"<KeyName>" }, "identity": { "value": { "userAssignedIdentity": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER MANAGED IDENTITY NAME>" } } } }
Ersätt platshållarna med lämpliga värden i parameterfilen.
Platshållare värde <ServiceBusNamespaceName>
Namn på Service Bus-namnområdet. <Location>
Plats där du vill att namnområdet ska skapas. <KeyVaultName>
Namnet på nyckelvalvet. <KeyName>
Namnet på nyckeln i nyckelvalvet. <AZURE SUBSCRIPTION ID>
ditt prenumerations-ID för Azure <RESOURCE GROUP NAME>
Resursgrupp för den användarhanterade identiteten. <USER MANAGED IDENTITY NAME>
Namnet på den användarhanterade identiteten. Kör följande PowerShell-kommando för att distribuera Resource Manager-mallen. Ersätt
{MyRG}
med namnet på resursgruppen innan du kör kommandot.New-AzResourceGroupDeployment -Name CreateServiceBusNamespaceWithEncryption -ResourceGroupName {MyRG} -TemplateFile ./ CreateServiceBusNamespaceWithUserIdentityAndEncryption.json -TemplateParameterFile ./ CreateServiceBusNamespaceWithUserIdentityAndEncryptionParams.json
Använda både användartilldelade och systemtilldelade identiteter
Ett namnområde kan ha både systemtilldelade och användartilldelade identiteter samtidigt. I det här fallet skulle egenskapen type
vara SystemAssigned
, UserAssigned
som du ser i följande exempel.
"identity": {
"type": "SystemAssigned, UserAssigned",
"userAssignedIdentities": {
"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userIdentity1>" : {}
}
}
I det här scenariot kan du välja antingen den systemtilldelade identiteten eller den användartilldelade identiteten för kryptering av vilande data.
Om du inte anger något identity
attribut i Resource Manager-mallen används den systemhanterade identiteten. Här är ett exempelfragment.
"properties":{
"encryption":{
"keySource":"Microsoft.KeyVault",
"keyVaultProperties":[
{
"keyName":"[parameters('keyName')]",
"keyVaultUri":"[parameters('keyVaultUri')]"
}
]
}
}
Se följande exempel för att använda den användarhanterade identiteten för krypteringen. identity
Observera att attributet är inställt på den användarhanterade identiteten.
"properties":{
"encryption":{
"keySource":"Microsoft.KeyVault",
"keyVaultProperties":[
{
"keyName":"[parameters('keyName')]",
"keyVaultUri":"[parameters('keyVaultUri')]",
"identity": {
"userAssignedIdentity": "[parameters('identity').userAssignedIdentity]"
}
}
]
}
}
Aktivera infrastrukturkryptering (dubbel) av data
Om du behöver en högre säkerhetsnivå för att dina data är säkra kan du aktivera kryptering på infrastrukturnivå, vilket även kallas dubbelkryptering.
När infrastrukturkryptering är aktiverat krypteras data i Azure Service Bus två gånger, en gång på tjänstnivå och en gång på infrastrukturnivå, med hjälp av två olika krypteringsalgoritmer och två olika nycklar. Därför skyddar infrastrukturkryptering av Azure Service Bus-data mot ett scenario där en av krypteringsalgoritmerna eller nycklarna kan komprometteras.
Du kan aktivera infrastrukturkryptering genom att uppdatera Azure Resource Manager-mallen med requireInfrastructureEncryption
egenskapen i ovanstående UpdateServiceBusNamespaceWithEncryption.json enligt nedan.
"properties":{
"encryption":{
"keySource":"Microsoft.KeyVault",
"requireInfrastructureEncryption":true,
"keyVaultProperties":[
{
"keyName":"[parameters('keyName')]",
"keyVaultUri":"[parameters('keyVaultUri')]"
}
]
}
}
Rotera, återkalla och cachelagrade nycklar
Rotera krypteringsnycklarna
Du kan rotera nyckeln i nyckelvalvet med hjälp av rotationsmekanismen för Azure Key Vaults. Aktiverings- och förfallodatum kan också anges för att automatisera nyckelrotation. Service Bus-tjänsten identifierar nya nyckelversioner och börjar använda dem automatiskt.
Återkalla åtkomst till nycklar
Om du återkallar åtkomsten till krypteringsnycklarna rensas inte data från Service Bus. Data kan dock inte nås från Service Bus-namnområdet. Du kan återkalla krypteringsnyckeln via åtkomstprincipen eller genom att ta bort nyckeln. Läs mer om åtkomstprinciper och hur du skyddar ditt nyckelvalv från Säker åtkomst till ett nyckelvalv.
När krypteringsnyckeln har återkallats blir Service Bus-tjänsten i det krypterade namnområdet obrukbar. Om åtkomsten till nyckeln är aktiverad eller om den borttagna nyckeln har återställts väljer Service Bus-tjänsten nyckeln så att du kan komma åt data från det krypterade Service Bus-namnområdet.
Cachelagring av nycklar
Service Bus-instansen avsöker sina listade krypteringsnycklar var 5:e minut. Den cachelagrar och använder dem till nästa omröstning, vilket är efter 5 minuter. Så länge minst en nyckel är tillgänglig är köer och ämnen tillgängliga. Om alla listade nycklar är otillgängliga när de avsöker blir alla köer och ämnen otillgängliga.
Här är mer information:
- Var 5:e minut avsöker Service Bus-tjänsten alla kundhanterade nycklar som anges i namnområdets post:
- Om en nyckel har roterats uppdateras posten med den nya nyckeln.
- Om en nyckel har återkallats tas nyckeln bort från posten.
- Om alla nycklar har återkallats är namnområdets krypteringsstatus inställd på Återkallad. Det går inte att komma åt data från Service Bus-namnområdet.
Överväganden vid användning av geo-haveriberedskap
Kryptering med systemtilldelade identiteter
För att aktivera kryptering av Microsoft-hanterad nyckel med en kundhanterad nyckel konfigureras en åtkomstprincip för en systemtilldelad hanterad identitet på den angivna Azure KeyVault. Det här steget säkerställer kontrollerad åtkomst till Azure KeyVault från Azure Service Bus-namnområdet. Därför måste du följa dessa steg:
- Om Geo-Haveriberedskap redan är aktiverat för Service Bus-namnområdet och du vill aktivera kundhanterad nyckel, så
- Bryt parkopplingen.
- Konfigurera åtkomstprincipen för den systemtilldelade hanterade identiteten för både de primära och sekundära namnrymderna till nyckelvalvet.
- Konfigurera kryptering på det primära namnområdet.
- Koppla om de primära och sekundära namnrymderna.
- Om du vill aktivera Geo-Disaster Recovery på ett Service Bus-namnområde där kundhanterad nyckel redan har konfigurerats följer du dessa steg:
- Konfigurera åtkomstprincipen för den hanterade identiteten för det sekundära namnområdet till nyckelvalvet.
- Koppla ihop de primära och sekundära namnrymderna.
Kryptering med användartilldelade identiteter
Här är några rekommendationer:
- Skapa en hanterad identitet och tilldela Key Vault-behörigheter till din hanterade identitet.
- Lägg till identiteten som en användartilldelad identitet och aktivera kryptering med identiteten på båda namnrymderna.
- Koppla ihop namnområden.
Villkor för att aktivera geo-haveriberedskap och kryptering med användartilldelade identiteter:
- Det sekundära namnområdet måste redan ha Kryptering aktiverat med en användartilldelad identitet om den ska paras ihop med ett primärt namnområde som har Kryptering aktiverat.
- Det går inte att aktivera Kryptering på en redan parad primär, även om den sekundära har en användartilldelad identitet som är associerad med namnområdet.
Felsöka
Symptom
Du får ett felmeddelande om att Service Bus-namnområdet är inaktiverat eftersom krypteringsnyckeln inte längre är giltig.
Orsak
Du kanske använder resource_id
eller version
, som länkar till en viss version av nyckeln, som kan ha upphört att gälla. Om en specifik version tillhandahålls använder Service Bus den versionen av nyckeln, även om nyckeln roteras.
Åtgärd
resource__versionless_id
Använd eller versionless_id
i stället för att använda resource_id
eller version
.
Nästa steg
Mer information finns i följande artiklar: