0

我正在开发一个事件驱动的系统,我们使用 Hashicorp Vault Transit 来加密数据,并使用加密垃圾处理来匿名数据。

当我有资源匿名化事件时,我不知道该资源是否以前使用过 Vault 加密数据(资源 id = vault 加密密钥 id),所以我仍然尝试从该资源中删除潜在的加密密钥。

问题:如果此资源从未进行任何加密(Vault 中的相对密钥不存在)并且 API 返回 400 错误而不是我期望的 404:

> vault delete transit/keys/BbRgVeomFovY1AMSucydO

Error deleting transit/keys/BbRgVeomFovY1AMSucydO: Error making API request.

URL: DELETE http://127.0.0.1:1234/v1/transit/keys/BbRgVeomFovY1AMSucydO
Code: 400. Errors:

* error deleting policy BbRgVeomFovY1AMSucydO: could not delete key; not found

附言

  1. 如果密钥存在,deletetio_allowed=true则应用于密钥配置。
  2. 我不想进行检查(例如尝试读取密钥配置)以查看密钥是否存在,以及是否应该将其删除(性能问题)。
  3. 我也不想依靠错误消息来知道是否找不到密钥。

有人可以解释这种行为,如果这是正常的,最好的解决方法是什么?

4

0 回答 0