Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Служебная шина Azure уровня "Премиум" обеспечивает шифрование данных в состоянии хранения с помощью шифрования службы хранилища Azure (Azure SSE). Служебная шина уровня "Премиум" использует хранилище Azure для хранения данных. Все данные, хранящиеся в служба хранилища Azure, шифруются с помощью ключей, управляемых корпорацией Майкрософт. Если вы используете собственный ключ (также называется "Принести собственный ключ" (BYOK) или управляемый клиентом ключ), данные по-прежнему шифруются с помощью управляемого корпорацией Майкрософт ключа, но в дополнение к ключу, управляемому корпорацией Майкрософт, шифруются с помощью ключа, управляемого клиентом. Эта возможность позволяет создавать, менять, отключать и отменять доступ к управляемым клиентом ключам, которые используются для шифрования ключей, управляемых корпорацией Майкрософт. Включение возможности BYOK — это однократный процесс настройки в вашем пространстве имен.
Существует ряд предостережений в отношении управляемого клиентом ключа при шифровании на стороне службы.
- Эта функция поддерживается на уровне "Премиум" служебной шины Azure. Его нельзя включить для пространств имен уровня "Стандартный" служебная шина.
- Шифрование можно включить только для новых или пустых пространств имен. Если пространство имен содержит любые очереди или разделы, операция шифрования завершается ошибкой.
Azure Key Vault (включая управляемый аппаратный модуль безопасности Azure Key Vault (HSM)) можно использовать для управления ключами и аудита использования ключей. Можно либо создать собственные ключи и хранить их в хранилище ключей, либо использовать API-интерфейсы Azure Key Vault для их генерации. Дополнительные сведения об Azure Key Vault см. в статье Что такое Azure Key Vault?
Если вам нужно только зашифровать определенные свойства сообщений, попробуйте использовать библиотеку, например NServiceBus.
Включение ключей, управляемых клиентами (портал Azure)
Чтобы включить управляемый клиентом ключ на портале Azure, выполните следующие действия.
Перейдите к пространству имен сервисной шины уровня "Премиум".
На странице Параметры пространства имен служебной шины выберите Шифрование.
Выберите Шифрование неактивных ключей, управляемых клиентом, как показано на следующем рисунке.
Примечание.
В настоящее время вы не можете настроить управляемый HSM в Azure Key Vault на портале.
Настройка хранилища ключей, содержащего ключи
После включения ключей, управляемых клиентом, их необходимо связать с пространством имен служебной шины Azure. Служебная шина поддерживает только Azure Key Vault. Если включить Шифрование с помощью ключа, управляемого клиентом в предыдущем разделе, понадобится ключ, импортированный в Azure Key Vault. Кроме того, для ключей должны быть настроены параметры Мягкое удаление и Не производить очистку. Эти параметры можно настроить с помощью PowerShell или CLI.
Создание хранилища ключей или управляемого хранилища ключей HSM
Внимание
Использование ключей, управляемых клиентом, с служебной шиной Azure требует, чтобы хранилище данных было настроено с двумя обязательными свойствами. Этими свойствами являются Обратимое удаление и Не удалять окончательно. Свойство Обратимого удаления включено по умолчанию при создании нового хранилища в портале Azure, тогда как защита от очистки является необязательной, поэтому убедитесь, что опция включена при создании хранилища. Однако если требуется включить эти свойства в имеющемся хранилище ключей, то необходимо использовать PowerShell или Azure CLI.
Чтобы создать новое хранилище ключей, следуйте краткому руководству по Azure Key Vault. Дополнительные сведения о Azure KeyVault см. в статье "Сведения о Azure KeyVault".
Чтобы одновременно включить режимы обратимого удаления и защиты от очистки при создании хранилища, используйте команду az keyvault create.
az keyvault create --name contoso-SB-BYOK-keyvault --resource-group ContosoRG --location westus --enable-soft-delete true --enable-purge-protection true
Чтобы добавить защиту от окончательного удаления в имеющемся хранилище (в котором уже включена функция обратимого удаления), используйте команду az keyvault update.
az keyvault update --name contoso-SB-BYOK-keyvault --resource-group ContosoRG --enable-purge-protection true
Создание ключей
Чтобы создать ключи, выполните следующее.
Чтобы создать новый ключ, выберите Создать или импортировать из меню Ключи в разделе Параметры.
Задайте Параметры, чтобы Создать и присвоить имя для ключа.
Теперь можно выбрать этот ключ из раскрывающегося списка, чтобы связать его с пространством имен служебной шины для шифрования.
Примечание.
Для избыточности можно добавить до трех ключей. Если срок действия одного из ключей истек или недоступен, другие ключи используются для шифрования.
Введите сведения о ключе и нажмите кнопку Выбрать. Предоставляет возможность шифрования ключа, управляемого компанией Майкрософт, вашим ключом (управляемым клиентом ключом).
Внимание
Если вы хотите использовать управляемый клиентом ключ вместе с гео-катастрофическим восстановлением, ознакомьтесь с этим разделом.
Чтобы включить шифрование ключа, управляемого Майкрософт, с помощью ключа, управляемого клиентом, для управляемого удостоверения служебной шины в указанном хранилище ключей Azure настроена политика доступа. Это обеспечивает контролируемый доступ к Azure KeyVault из пространства имен служебной шины Azure.
Из-за этого поведения:
Если геоизбыточное восстановление уже включено для пространства имен Service Bus, и вы хотите включить ключ, управляемый клиентом, то
- Разрыв связывания
- Настройте политику доступа для управляемого удостоверения как для основного, так и для второстепенного пространства имен в хранилище ключей.
- Настройте шифрование для основного пространства имен.
- Повторно свяжите основное и второстепенное пространства имен.
Если вы хотите включить географическое аварийное восстановление в пространстве имен Service Bus, где ключ, управляемый клиентом, уже настроен, то —
- Настройте политику доступа для управляемого удостоверения для вторичного пространства имен в хранилище ключей.
- Соедините основные и вторичные пространства имен.
После связывания дополнительное пространство имен использует хранилище ключей, настроенное для основного пространства имен. Если хранилище ключей для обоих пространств имен отличается до связывания геокадрового восстановления, пользователь должен делегировать политику доступа или роль RBAC для управляемого удостоверения дополнительного пространства имен в хранилище ключей, связанном с основным пространством имен.
Управляемые удостоверения
Существует два типа управляемых удостоверений, которые можно назначить пространству имен служебной шины.
- Системное назначение: вы можете включить управляемое удостоверение непосредственно в пространстве имен Service Bus. При включении удостоверения, менеджируемого системой, в Microsoft Entra создается удостоверение, которое связано с жизненным циклом этого пространства имен Service Bus. Поэтому, когда пространство имен удаляется, Azure автоматически удаляет удостоверение за вас. С помощью этого удостоверения можно использовать только ресурс Azure (пространство имен) для запроса маркеров из идентификатора Microsoft Entra.
- Назначенное пользователем: вы также можете создать управляемое удостоверение в качестве автономного ресурса Azure, которое называется назначенным пользователем удостоверением. Вы можете создать назначенное пользователем управляемое удостоверение и назначить его одному или нескольким пространствам имен служебной шины. При использовании управляемых удостоверений, назначаемых пользователем, удостоверение управляется отдельно от ресурсов, используемых им. Они не привязаны к жизненному циклу пространства имен. Вы можете явно удалить удостоверение, назначаемое пользователем, когда оно вам больше не нужно.
Для получения дополнительной информации см. сведения об управляемых удостоверениях для ресурсов Azure.
Шифрование с использованием присвоенных системой идентификаторов (шаблон)
В этом разделе показано, как выполнить следующие задачи:
- Создайте пространство имен служебной шины уровня "Премиум" с управляемым удостоверением службы.
- Создайте хранилище ключей и предоставьте удостоверению службы доступ к этому хранилищу ключей.
- Обновите пространство имен служебной шины, указав сведения о хранилище ключей (ключ/значение).
Создание пространства имен для PREMIUM Service Bus с управляемым удостоверением службы
В этой статье показано, как создать пространство имен служебной шины Azure с управляемым удостоверением службы с помощью шаблона Azure Resource Manager и PowerShell.
Создайте шаблон Azure Resource Manager для создания пространства имен служебной шины премиум-уровня с управляемым удостоверением службы. Задайте имя файла: 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'))]" } } }
Создайте файл параметров шаблона с именем: CreateServiceBusPremiumNamespaceParams.json.
Примечание.
Измените следующие значения:
-
<ServiceBusNamespaceName>
– имя пространства имен служебной шины -
<Location>
– расположение пространства имен служебной шины
{ "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion":"1.0.0.0", "parameters":{ "namespaceName":{ "value":"<ServiceBusNamespaceName>" }, "location":{ "value":"<Location>" } } }
-
Выполните следующую команду PowerShell, чтобы развернуть шаблон и создать пространство имен служебной шины класса "Премиум". Затем получите идентификатор пространства имен служебной шины, чтобы использовать его позже. Замените
{MyRG}
именем группы ресурсов перед выполнением команды.$outputs = New-AzResourceGroupDeployment -Name CreateServiceBusPremiumNamespace -ResourceGroupName {MyRG} -TemplateFile ./CreateServiceBusPremiumNamespace.json -TemplateParameterFile ./CreateServiceBusPremiumNamespaceParams.json $ServiceBusNamespaceId = $outputs.Outputs["serviceBusNamespaceId"].value
Предоставление доступа к хранилищу ключей с использованием удостоверения пространства имен служебной шины
Задайте политику доступа к хранилищу ключей, чтобы управляемое удостоверение пространства имен служебной шины могло получить доступ к значению ключа в хранилище ключей. Используйте идентификатор пространства имен служебной шины из предыдущего раздела.
$identity = (Get-AzureRmResource -ResourceId $ServiceBusNamespaceId -ExpandProperties).Identity
Set-AzureRmKeyVaultAccessPolicy -VaultName {keyVaultName} -ResourceGroupName {RGName} -ObjectId $identity.PrincipalId -PermissionsToKeys get,wrapKey,unwrapKey,list
Шифрование данных в пространстве имен служебной шины с использованием ключа, управляемого клиентом, из хранилища ключей
Вы сделали следующие шаги до сих пор:
- Создано пространство имен уровня "Премиум" с управляемым удостоверением.
- Создали хранилище ключей и предоставили управляемому удостоверению доступ к хранилищу ключей.
На этом этапе вы обновляете пространство имен Service Bus с информацией о хранилище ключей.
Создайте файл JSON с именем UpdateServiceBusNamespaceWithEncryption.jso и следующим содержимым.
{ "$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')]" } ] } } } ] }
Создайте файл параметров шаблона: UpdateServiceBusNamespaceWithEncryptionParams.json.
Примечание.
Измените следующие значения:
-
<ServiceBusNamespaceName>
– имя пространства имен служебной шины -
<Location>
– местоположение пространства имен для Service Bus -
<KeyVaultName>
— имя хранилища ключей; -
<KeyName>
– имя ключа в хранилище ключей
{ "$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" } } }
-
Выполните следующую команду PowerShell, чтобы развернуть шаблон Resource Manager. Замените
{MyRG}
именем группы ресурсов перед выполнением команды.New-AzResourceGroupDeployment -Name UpdateServiceBusNamespaceWithEncryption -ResourceGroupName {MyRG} -TemplateFile ./UpdateServiceBusNamespaceWithEncryption.json -TemplateParameterFile ./UpdateServiceBusNamespaceWithEncryptionParams.json
Шифрование с использованием назначенных пользователем идентификаторов (шаблон)
- Создайте назначаемую пользователем личность.
- Создайте хранилище ключей и предоставьте доступ удостоверению, назначаемому пользователем, с помощью политик доступа.
- Создайте пространство имен служебной шины премиум с управляемым идентификатором пользователя и информацией о хранилище ключей.
Создание назначаемого пользователем удостоверения
Следуйте инструкциям из статьи Создание управляемой идентификации, назначенной пользователем, чтобы создать назначаемое пользователем удостоверение. Вы также можете создать удостоверение, назначаемое пользователем, с помощью интерфейса командной строки, PowerShell, шаблона Azure Resource Manager и REST.
Примечание.
Вы можете назначить до 4 идентификаторов пользователей пространству имен. Эти ассоциации удаляются при удалении пространства имен или при передаче identity -> type
в шаблоне в None
.
Предоставить доступ к назначенной пользователем идентичности
Получите Идентификатор главного объекта службы для удостоверения пользователя, используя следующую команду PowerShell. В этом примере
ud1
— это назначенное пользователем удостоверение для использования в шифровании.$servicePrincipal=Get-AzADServicePrincipal -SearchString "ud1"
Назначьте политику доступа, чтобы предоставить удостоверению, назначаемому пользователем, доступ к хранилищу ключей.
Set-AzureRmKeyVaultAccessPolicy -VaultName {keyVaultName} -ResourceGroupName {RGName} -ObjectId $servicePrincipal.Id -PermissionsToKeys get,wrapKey,unwrapKey,list
Примечание.
Вы можете добавить до 3 ключей, но удостоверение пользователя, используемое для шифрования, должно быть одинаковым для всех ключей. В настоящее время поддерживается только один идентификатор шифрования.
Создайте пространство имен служебной шины премиум-класса с идентификатором пользователя и информацией о хранилище ключей
В этом разделе приведен пример, показывающий, как выполнять следующие задачи с помощью шаблона Azure Resource Manager.
Назначьте управляемое пользователем удостоверение пространству имен Service Bus.
"identity": { "type": "UserAssigned", "userAssignedIdentities": { "[parameters('identity').userAssignedIdentity]": {} } },
Включите шифрование в пространстве имен, указав ключ из своего хранилища ключей и управляемое пользователем удостоверение для доступа к ключу.
"encryption":{ "keySource":"Microsoft.KeyVault", "keyVaultProperties":[ { "keyName": "[parameters('keyName')]", "keyVaultUri": "[parameters('keyVaultUri')]", "identity": { "userAssignedIdentity": "[parameters('identity').userAssignedIdentity]" } } ] }
Создайте файл JSON с именем CreateServiceBusNamespaceWithUserIdentityAndEncryption.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 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]" } } ] } } } ] }
Создайте файл параметров шаблона: 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>" } } } }
В файле параметров замените заполнители соответствующими значениями.
Заполнитель значение <ServiceBusNamespaceName>
Имя пространства имен служебной шины. <Location>
Место создания пространства имен, которое вы выбрали. <KeyVaultName>
Имя хранилища ключей. <KeyName>
Имя ключа в хранилище ключей. <AZURE SUBSCRIPTION ID>
Идентификатор вашей подписки Azure. <RESOURCE GROUP NAME>
Группа ресурсов управляемого пользователем удостоверения. <USER MANAGED IDENTITY NAME>
Имя управляемого пользователем удостоверения. Выполните следующую команду PowerShell, чтобы развернуть шаблон Resource Manager. Замените
{MyRG}
именем группы ресурсов перед выполнением команды.New-AzResourceGroupDeployment -Name CreateServiceBusNamespaceWithEncryption -ResourceGroupName {MyRG} -TemplateFile ./ CreateServiceBusNamespaceWithUserIdentityAndEncryption.json -TemplateParameterFile ./ CreateServiceBusNamespaceWithUserIdentityAndEncryptionParams.json
Использование удостоверений, назначаемых пользователем, и удостоверений, назначаемых системой
Пространство имен может одновременно иметь удостоверения, назначаемые как системой, так и пользователем. В этом случае свойство type
будет SystemAssigned
, UserAssigned
как показано в следующем примере.
"identity": {
"type": "SystemAssigned, UserAssigned",
"userAssignedIdentities": {
"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userIdentity1>" : {}
}
}
В этом сценарии вы можете выбрать либо удостоверение, назначаемое системой, либо удостоверение, назначаемое пользователем, для шифрования неактивных данных.
Если в шаблоне диспетчера ресурсов не указан атрибут identity
, используется удостоверение, управляемое системой. Вот пример фрагмента.
"properties":{
"encryption":{
"keySource":"Microsoft.KeyVault",
"keyVaultProperties":[
{
"keyName":"[parameters('keyName')]",
"keyVaultUri":"[parameters('keyVaultUri')]"
}
]
}
}
См. следующий пример использования управляемого пользователем удостоверения для шифрования. Обратите внимание, что для атрибута identity
задано управляемое пользователем удостоверение.
"properties":{
"encryption":{
"keySource":"Microsoft.KeyVault",
"keyVaultProperties":[
{
"keyName":"[parameters('keyName')]",
"keyVaultUri":"[parameters('keyVaultUri')]",
"identity": {
"userAssignedIdentity": "[parameters('identity').userAssignedIdentity]"
}
}
]
}
}
Включить инфраструктурное (двойное) шифрование данных
Если требуется более высокий уровень гарантии безопасности данных, можно включить шифрование уровня инфраструктуры, которое также называется двойным шифрованием.
Если включено шифрование инфраструктуры, данные в Служебной шине Azure шифруются дважды (один раз на уровне службы и один раз на уровне инфраструктуры) с использованием двух разных алгоритмов шифрования и двух разных ключей. Поэтому шифрование инфраструктуры Служебная шина Azure данных защищает от сценария, в котором можно скомпрометировать один из алгоритмов шифрования или ключей.
Кроме того, шифрование инфраструктуры можно включить только при переключении с ключа, управляемого корпорацией Майкрософт, на ключ, управляемый клиентом.
Вы можете включить шифрование инфраструктуры позже, даже обновив шаблон Azure Resource Manager со requireInfrastructureEncryption
свойством в UpdateServiceBusNamespaceWithEncryption.json , как показано в следующем примере.
"properties":{
"encryption":{
"keySource":"Microsoft.KeyVault",
"requireInfrastructureEncryption":true,
"keyVaultProperties":[
{
"keyName":"[parameters('keyName')]",
"keyVaultUri":"[parameters('keyVaultUri')]"
}
]
}
}
Поворот, отзыв и кэширование ключей
Смена ключей шифрования
Вы можете сменить ключ в хранилище ключей, используя механизм смены Azure Key Vault. Для автоматизации смены ключей можно также задать даты активации и истечения срока действия. Служба служебная шина обнаруживает новые версии ключей и начинает использовать их автоматически.
Отмена доступа к ключам
Отмена доступа к ключам шифрования не приводит к очистке данных из служебной шины. Однако доступ к данным из пространства имен служебной шины невозможен. Вы можете отозвать ключ шифрования с помощью политики доступа или путем удаления ключа. Узнайте больше о политиках доступа и защите хранилища ключей из статьи о безопасном доступе к хранилищу ключей.
После отзыва ключа шифрования служба Service Bus в зашифрованном пространстве имен становится непригодной для работы. Если доступ к ключу включен или восстановлен удаленный ключ, служба шины службы выбирает ключ, чтобы вы могли получить доступ к данным из зашифрованного пространства имен шины службы.
Кэширование ключей
Экземпляр служебной шины проверяет перечисленные ключи шифрования каждые 5 минут. Он кэширует и использует их до следующего опроса, который проводится через 5 минут. Если по крайней мере один ключ доступен, очереди и разделы доступны. Если все перечисленные ключи недоступны при опросе, все очереди и разделы становятся недоступными.
Вот дополнительные сведения:
- Каждые 5 минут служба Service Bus опрашивает все клиентские ключи управления, перечисленные в записи пространства имен.
- Если ключ был повернут, запись обновляется новым ключом.
- Если ключ был отменен, ключ удаляется из записи.
- Если все ключи были отозваны, состояние шифрования пространства имен имеет значение "Отозван". К данным нельзя получить доступ из пространства имен служебной шины.
Учетные моменты при использовании гео-катастрофического восстановления.
Шифрование с системными идентификаторами
Чтобы включить шифрование с использованием ключа, управляемого клиентом, для ключа, управляемого корпорацией Майкрософт, необходимо настроить политику доступа для управляемого системой удостоверения в указанном Azure KeyVault. Этот шаг обеспечивает управляемый доступ к Хранилищу ключей Azure из пространства имен "Azure Service Bus". Поэтому необходимо выполнить следующие действия.
- Если геокатастрофическое восстановление уже включено для пространства имен службы шина, и вы хотите включить ключ, управляемый клиентом, то
- Разорвите связь.
- Настройте политику доступа для управляемого удостоверения, назначаемого системой, как для основного, так и для дополнительного пространств имен, в хранилище ключей.
- Настройте шифрование для основного пространства имен.
- Повторно сопоставьте основное и второстепенное пространства имен.
- Если вы хотите включить геоизбыточное восстановление в пространстве имен служебная шина, где уже настроен ключ, управляемый клиентом, выполните следующие действия.
- Настройте политику доступа для управляемого удостоверения для вторичного пространства имен в хранилище ключей.
- Соедините основные и вторичные пространства имен.
Шифрование с пользовательскими идентификациями
Вот несколько рекомендаций.
- Создайте управляемое удостоверение и назначьте ему разрешения для Key Vault.
- Добавьте идентичность как назначаемую пользователем и включите шифрование с этой идентичностью в обоих пространствах имен.
- Объедините пространства имен.
Условия включения геоизбытого восстановления и шифрования с удостоверениями, назначенными пользователем:
- Вторичное пространство имен уже должно иметь включенное шифрование и удостоверение, назначенное пользователем, если его планируется сопрягать с основным пространством имен, в котором включено шифрование.
- Невозможно включить шифрование на уже подключенном основном объекте, даже если у вторичного объекта имеется назначенное пользователем удостоверение, связанное с пространством имен.
Устранение неполадок
Симптом
Вы получаете сообщение об ошибке, говорящем, что пространство имен Service Bus отключено, поскольку ключ шифрования больше недействителен.
Причина
Вы будете использовать resource_id
или version
, который ссылается на определенную версию ключа с истекшим сроком действия. Если указана определенная версия, служебная шина использует ту версию ключа, даже если ключ поворачивается.
Разрешение
resource__versionless_id
Используйте или versionless_id
вместо использования resource_id
или version
.
Дальнейшие действия
См. следующие статьи: