Adi*_*air 5 python amazon-web-services aws-secrets-manager
是否有任何可能的方法可以更新 AWS Secret Manager 中的键/值,而无需检索当前值然后更新它们?
我找到的当前解决方案首先从机密管理器中检索值:
original_secret = client.get_secret_value(SecretId="my_first_secret")
Run Code Online (Sandbox Code Playgroud)
然后对它们进行更新并运行 update-secret 命令:
updated_secret = original_secret.update({"UPDATE_KEY": "update_value"})
client.update_secret(SecretId="my_secret_name", SecretString=json.dumps(updated_secret))
Run Code Online (Sandbox Code Playgroud)
但我不想检索秘密值。首选语言是 python。
遗憾的是你不能这样做,因为秘密值实际上是不可变的。相反,您所说的“更新”只是 创建新版本秘密的过程:
当您更新 Secret 中的加密密钥值时,您将创建该 Secret 的新版本。新版本自动接收暂存标签 AWSCURRENT。
AWS 控制台会转储此过程,因为它看起来您可以就地“更新”密钥的值。相反,它只是复制当前版本,更新其值,并创建密钥值的新版本。所有这些都是在后端完成的,所以你看不到这一点。
但使用 AWS CLI,您可以使用list-secret-version-ids列出密钥值版本。如果这样做,您将看到您永远不会直接更新任何秘密值,您只是不断创建它的新版本,并且过去的值仍然存在(仅保留一个过去的值)。您始终可以使用get-secret-value检索旧版本。--version-id
所以你必须对 python 做同样的事情。获取密钥值的当前版本,在本地更新它,并创建该值的新版本。
| 归档时间: |
|
| 查看次数: |
4387 次 |
| 最近记录: |