2 回答

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
遺憾的是你不能這樣做,因?yàn)槊孛苤祵?shí)際上是不可變的。相反,您所說的“更新”只是?創(chuàng)建新版本秘密的過程:
當(dāng)您更新 Secret 中的加密密鑰值時(shí),您將創(chuàng)建該 Secret 的新版本。新版本自動(dòng)接收暫存標(biāo)簽 AWSCURRENT。
AWS 控制臺(tái)會(huì)轉(zhuǎn)儲(chǔ)此過程,因?yàn)樗雌饋砟梢跃偷亍案隆泵荑€的值。相反,它只是復(fù)制當(dāng)前版本,更新其值,并創(chuàng)建密鑰值的新版本。所有這些都是在后端完成的,所以你看不到這一點(diǎn)。
但使用 AWS CLI,您可以使用list-secret-version-ids列出密鑰值版本。如果這樣做,您將看到您永遠(yuǎn)不會(huì)直接更新任何秘密值,您只是不斷創(chuàng)建它的新版本,并且過去的值仍然存在(僅保留一個(gè)過去的值)。您始終可以使用get-secret-value檢索舊版本。--version-id
所以你必須對(duì) python 做同樣的事情。獲取密鑰值的當(dāng)前版本,在本地更新它,并創(chuàng)建該值的新版本。

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以使用put_secret_value()
:
import boto3
client = boto3.client('secretsmanager')
# Create secret
client.create_secret(
? ? Name='foo',
? ? SecretString='bar'
)
# Update secret
client.put_secret_value(
? ? SecretId='foo',
? ? SecretString='bar2'
)
添加回答
舉報(bào)