Невозможно создать карту индекса / синонима в Azure Cognitive Search с опцией управляемого ключа шифрования «Клиент» - PullRequest
1 голос
/ 25 мая 2020

Я пытаюсь создать карту индексов / синонимов с шифрованием, используя опцию управляемого ключа «Клиент», но у меня не получается.

Я постоянно получаю от службы следующую ошибку:

Failed to verify account key (HTTP Status Code: 403).

Вот как выглядит тело моего запроса для карты синонимов:

{
    "name":"test",
    "format":"solr",
    "synonyms":"",
    "encryptionKey":
    {
        "keyVaultKeyName":"AzSearchKey2",
        "keyVaultKeyVersion":"02cc721e41654f079c173744313f24b0",
        "keyVaultUri":"https://mykeyvault.vault.azure.net"
    }
}

У меня полностью следуйте инструкциям, указанным здесь: https://docs.microsoft.com/en-gb/azure/search/search-security-manage-encryption-keys.

Вот что я сделал до сих пор:

  • Я создал службу поиска с помощью «Basi c "SKU (так как эта функция недоступна на уровне" Free ").

  • Я зашел в раздел« Identity »своей поисковой службы и назначил это управляемое удостоверение.

enter image description here

  • Я создал новое хранилище ключей со «стандартным» уровнем и определил политику доступа для упомянутого выше удостоверения. Я предоставил необходимые разрешения «Key» («Get», «Wrap Key», «Unwrap Key»), как указано в приведенной выше ссылке документации на службу поиска. Это хранилище ключей находится в том же регионе и группе ресурсов, что и служба поиска. В хранилище ключей также включены функции «Мягкое удаление» и «Защита от очистки».

enter image description here

  • Я создал ключ и скопировал детали (URI, имя ключа и версия ключа).

enter image description here

Я считаю, что делаю все, что упоминается в документации, поэтому я не уверен, что делаю не так.

Интересно то, что вчера я смог сделать это без каких-либо проблем с другой поисковой службой и хранилищем ключей.

Думаю, мне не хватает некоторых мелких деталей. Был бы признателен, если бы кто-нибудь мог указать мне на это.

ОБНОВЛЕНИЕ

Большое спасибо команде Cognitive Search за работу со мной над этим. Сообщение об ошибке, которое я получаю, связано с проблемой с кодом (я возвращал стандартное сообщение всякий раз, когда служба возвращала код состояния 403).

Служба все еще возвращает ошибку. Фактическое сообщение об ошибке, возвращаемое службой:

Could not use key vault key https://mykeyvault.vault.azure.net:443/keys/AzSearchKey2/02cc721e41654f079c173744313f24b0 
to wrap/unwrap the encryption key. The key vault key deletion-recovery level is insufficient. 
Soft-Delete and Purge Protection must be enabled on Key vault, see: https://aka.ms/key-vault-soft-delete

1 Ответ

1 голос
/ 27 мая 2020

После личного обращения к Gaurav мы пришли к выводу, что это произошло из-за слишком короткого периода хранения ключей (хранение 7 дней вместо 90 дней). Мы только что обновили код продукта для поддержки более коротких периодов хранения (до 7 дней), и исправление будет развернуто во всем мире в ближайшие недели. А пока, если вы столкнетесь с той же проблемой, обновите политику хранения ключей до 90 дней. Вы можете распознать это состояние ошибки, если получите следующее сообщение от Azure Search при создании зашифрованного индекса или карты синонимов:

DataPlaneApiException: не удалось использовать ключ хранилища ключей (YOUR_KEY_URL) для обертывания / распаковки ключа шифрования . Уровень удаления-восстановления ключей хранилища ключей недостаточен. В хранилище ключей должны быть включены программное удаление и защита от очистки, см.: https://aka.ms/key-vault-soft-delete.

Спасибо

...