Поделиться через


Ключи, управляемые клиентом, для шифрования Azure Fluid Relay

Вы можете использовать собственный ключ шифрования для защиты данных в ресурсе Azure Fluid Relay. При указании ключа, управляемого клиентом (CMK), этот ключ используется для защиты и управления доступом к ключу, который шифрует данные. CMK обеспечивает большую гибкость управления доступом.

Для хранения CMK необходимо использовать одно из следующих хранилищ ключей Azure:

Чтобы включить CMK, необходимо создать новый ресурс Ретранслятора Azure Fluid Relay. Вы не можете изменить включение и отключение CMK в существующем ресурсе Ретранслятора жидкости.

Кроме того, CMK из Ретранслятора жидкости зависит от управляемого удостоверения, и необходимо назначить управляемое удостоверение ресурсу Ретранслятора жидкости при включении CMK. Для CMK ресурса Fluid Relay разрешено только назначаемое пользователем удостоверение. Дополнительные сведения об управляемых удостоверениях см. здесь.

Настройка ресурса Ретранслятора с помощью CMK пока не может быть выполнена через портал Azure.

При настройке ресурса Динамическая ретрансляция с помощью CMK служба Azure Fluid Relay настраивает соответствующие параметры шифрования CMK в области учетной записи служба хранилища Azure, в которой хранятся артефакты сеанса Fluid. Дополнительные сведения о CMK в службе хранилища Azure см. здесь.

Чтобы убедиться, что ресурс Fluid Relay использует CMK, можно проверить свойство ресурса, отправив get и убедившись, имеет ли оно допустимое, непустое свойство encryption.customerManagedKeyEncryption.

Prerequisites

Перед настройкой CMK в ресурсе Azure Fluid Relay необходимо выполнить следующие предварительные требования:

  • Ключи должны храниться в Azure Key Vault.
  • Ключи должны быть ключами RSA, а не ключом EC, так как ключ EC не поддерживает ОБОЛОЧКУ и UNWRAP.
  • Назначаемое пользователем управляемое удостоверение должно быть создано с необходимым разрешением (GET, WRAP и UNWRAP) в хранилище ключей на шаге 1. Дополнительные сведения см. здесь. Предоставьте разрешение GET, WRAP и UNWRAP в разделе "Разрешения ключей" в AKV.
  • Azure Key Vault, назначаемое пользователем удостоверение и ресурс "Жидкость ретранслятор" должен находиться в одном регионе и в том же клиенте Microsoft Entra.
  • Хранилище ключей и ключ должны оставаться активными в течение всего времени существования ресурсов Ретранслятора жидкости.
    • Не удаляйте или не отключайте хранилище ключей или ключ, пока не будут удалены все связанные службы ретранслятора жидкости. В противном случае ресурс Ретранслятора жидкости входит в неиспользуемое состояние. В этом случае сначала необходимо восстановить ключ или хранилище ключей .
  • Если указать URL-адрес ключа с определенной версией ключа, для целей CMK используется только эта версия . При добавлении новой версии ключа необходимо вручную обновить URL-адрес ключа в параметрах CMK ресурса "Ретранслятор жидкости", чтобы сделать новую версию эффективной. Служба ретранслятора жидкости завершается ошибкой, если указанная версия ключа удалена или отключена, не обновляя ресурс для использования допустимой версии.
  • Чтобы служба Ретранслятора жидкости автоматически использовала последнюю версию ключа ключа из хранилища ключей, можно опустить версию ключа в URL-адресе ключа шифрования. Этот параметр позволяет зависимостям службы ретрансляции жидкости проверять хранилище ключей ежедневно для новой версии управляемого клиентом ключа и автоматически обновлять ключ до последней версии. Однако вы по-прежнему отвечаете за управление и смену версий ключей в Key Vault.
    • Из-за ограничений ресурсов переключение на этот параметр автоматического обновления может завершиться ошибкой. В этом случае укажите версию ключа явным образом и выполните ручное обновление ресурса Fluid Relay для новых версий ключей .

Создание ресурса Ретранслятора жидкости с помощью CMK

PUT https://management.azure.com/subscriptions/<subscription ID>/resourceGroups/<resource group name> /providers/Microsoft.FluidRelay/fluidRelayServers/< Fluid Relay resource name>?api-version=2022-06-01 @"<path to request payload>"

Формат полезных данных запроса:

{
    "location": "<the region you selected for Fluid Relay resource>",
    "identity": {
        "type": "UserAssigned",
        "userAssignedIdentities": {
            “<User assigned identity resource ID>": {}
        }
    },
    "properties": {
       "encryption": {
            "customerManagedKeyEncryption": {
                "keyEncryptionKeyIdentity": {
                    "identityType": "UserAssigned",
                    "userAssignedIdentityResourceId":  "<User assigned identity resource ID>"
                },
                "keyEncryptionKeyUrl": "<key identifier>"
            }
        }
    }
}

Пример userAssignedIdentities и userAssignedIdentityResourceId: /subscriptions/ xxxx-xxxx/resourceGroups/testGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testUserAssignedIdentity

Пример keyEncryptionKeyUrl: https://test-key-vault.vault.azure.net/keys/testKey/testKeyVersionGuid

Notes:

  • Identity.type должен быть UserAssigned. Это тип удостоверения управляемого удостоверения, назначенного ресурсу Динамизированного ретранслятора.
  • Properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyIdentity.identityType должен быть UserAssigned. Это тип удостоверения управляемого удостоверения, который должен использоваться для CMK.
  • Хотя можно указать несколько в Identity.userAssignedIdentities, для доступа к хранилищу ключей для шифрования используется только одно удостоверение пользователя, назначенное ресурсу Fluid Relay.
  • Properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyIdentity.userAssignedIdentityResourceId — это идентификатор ресурса назначаемого пользователем удостоверения, который должен использоваться для CMK. Обратите внимание, что оно должно быть одним из удостоверений в Identity.userAssignedIdentities (прежде чем использовать его для CMK, необходимо назначить удостоверение ресурсу Fluid Relay). Кроме того, у него должны быть необходимые разрешения на ключ (предоставленные keyEncryptionKeyUrl).
  • Properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyUrl — это идентификатор ключа, используемый для CMK.

Обновление параметров CMK существующего ресурса Ретранслятора жидкости

Вы можете обновить следующие параметры CMK в существующем ресурсе Ретранслятора жидкости:

  • Измените удостоверение, используемое для доступа к ключу шифрования ключей.
  • Измените идентификатор ключа шифрования ключа (URL-адрес ключа).
  • Измените версию ключа ключа шифрования ключа.

Вы не можете отключить CMK в существующем ресурсе Ретранслятора жидкости после его включения.

Перед обновлением ключа шифрования ключей (по идентификатору или версии) убедитесь, что предыдущая версия ключа по-прежнему включена и не истекла в хранилище ключей. В противном случае операция обновления завершается ошибкой.

При использовании команды обновления можно указать только измененные параметры— без изменений аргументы могут быть опущены.

Все обновления должны соответствовать предварительным требованиям, описанным на этой странице.

Запрос URL-адреса:

PATCH https://management.azure.com/subscriptions/<subscription id>/resourceGroups/<resource group name>/providers/Microsoft.FluidRelay/fluidRelayServers/<fluid relay server name>?api-version=2022-06-01 @"path to request payload"

Пример полезных данных запроса для обновления URL-адреса ключа шифрования ключей:

{
    "properties": {
       "encryption": {
            "customerManagedKeyEncryption": {
                "keyEncryptionKeyUrl": "https://test_key_vault.vault.azure.net/keys/testKey /xxxxxxxxxxxxxxxx"
            }
        }
    }
}

Удаление ресурса Ретранслятора Azure с поддержкой CMK

Удаление ресурса azure Fluid Relay с поддержкой ключа Customer-Managed (CMK) следует тому же процессу, что и удаление стандартного ресурса Ретранслятора жидкости. Однако перед зависимостями CMK необходимо убедиться, что ресурс Fluid Relay удаляется перед зависимостями CMK, такими как ключ шифрования, Key Vault и все управляемые удостоверения, назначенные пользователем.

Если вы подготавливаете ресурс Fluid Relay и его зависимости CMK (Key Vault и удостоверение, назначаемое пользователем) в той же группе ресурсов, сначала необходимо явно удалить ресурс Fluid Relay. В противном случае попытка удалить всю группу ресурсов одновременно завершится ошибкой, так как ресурс Ретранслятора жидкости невозможно удалить после удаления зависимостей.


Troubleshooting

Ошибка: при настройке CMK произошла непредвиденная ошибка

  • Убедитесь, что конфигурация соответствует всем требованиям , перечисленным в разделе предварительных требований .

  • Проверьте, включены ли правила брандмауэра в Azure Key Vault. Если это так, включите параметр "Разрешить доверенным службам Майкрософт обойти этот брандмауэр". См. только доверенные службы с поддержкой брандмауэра Key Vault.

  • Для существующих ресурсов Ретранслятора жидкости убедитесь, что ключ (или определенная версия ключа), если он указан в параметрах CMK , по-прежнему включен и не истек в Key Vault.

См. также