我已经创建了一个秘密,并将其更新为具有lambda旋转函数
aws secretsmanager list-secret-version-ids --secret-id envir/username
{
"Versions": [
{
"VersionId": "90179cd3-daa1-48e4-9fe5-dde0a4cf22e4",
"VersionStages": [
"AWSPREVIOUS"
],
"LastAccessedDate": 1524528000.0,
"CreatedDate": 1524568488.358
},
{
"VersionId": "60576823-5d98-4360-af53-7e1f909b88d0",
"VersionStages": [
"AWSCURRENT"
],
"LastAccessedDate": 1524528000.0,
"CreatedDate": 1524568827.466
}
],
"ARN": "arn:aws:secretsmanager:eu-west-1:8282828282828:secret:username-YdgbPA",
"Name": "envir/username"
}
An error occurred (InvalidRequestException) when calling the RotateSecret operation: A previous rotation isn’t complete. That rotation will be reattempted.
awperting
状态中的秘密。对于任何仍然存在此问题的人,您可以尝试清除挂起的版本并重新尝试循环
例如,对于secret id为thefrog
的secret,调用
aws secretsmanager get-secret-value \
--secret-id thefrog \
--version-stage AWSPENDING
获取带有挂起标签的版本的版本id。结果看起来像
{
"CreatedDate": 1541540242.561,
"Name": "thefrog",
"VersionStages": [
"AWSPENDING"
],
"SecretString": "TOP-SECRET",
"ARN": "arn:aws:secretsmanager:xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"VersionId": "2a27cecb-23c7-4320-b168-78661c24612f"
}
aws secretsmanager update-secret-version-stage \
--secret-id thefrog \
--version-stage AWSPENDING \
--remove-from-version-id 2a27cecb-23c7-4320-b168-78661c24612f
若要删除具有挂起标签的机密版本,请执行以下操作。
从这里你可以重试旋转
我创造了一个“其他类型的秘密”。我还在这个模板中添加了一个作为give的lambda函数。现在,当我试图立即旋转时,它会说“Fail to Rotion the secret”test_secret_Rothing“以前的旋转没有完成。将重新尝试该旋转。”轮转的时间是一天,即使第二天我看到分泌物也没有更新。我只是添加了那个lambda函数。我需要定义任何参数或任何其他lambda设置吗。我还在文档
我有一个秘密存储在使用Terraform模块部署的AWS秘密管理器中,该模块支持秘密循环。我没有访问那个模块的源代码,所以我不能修改它。我想使用Terraform禁用秘密旋转。我应该使用哪种资源?需要如下所示的所有3个参数,并且没有任何参数来禁用循环。属性接受1到365之间的值,因此传递0也不是一个选项。
null 例如,轮转设定为7天。所以我在我的应用程序中编码每7天刷新一次...不好,因为很难精确计时。 另一种方法是,如果我的应用程序面临身份验证异常,只需刷新密码,建立一个新的连接,并重试应用程序逻辑。 行业标准是什么?
我们在AWS环境中部署了完整的应用程序,我们发现AWS秘密管理器是存储数据库和其他一些组件的秘密的正确选择。
使用AKV管理存储帐户:https://docs.microsoft.com/en-us/Azure/key-vault/key-vault-overview-storage-keys-powershell#manage-storage-account-keys 使用Azure Automation进行密钥循环:https://docs.microsoft.com/en-us/Azure/key-
我有一个Django应用程序,可以从AWS秘密管理器中获取DB秘密。它包含所有DB参数,如用户名、密码、主机、端口等。当我在EC2上启动Django应用程序时,它会成功地从秘密管理器中检索秘密并建立一个DB连接。 现在的问题是我有一个密码循环策略设置30天。为了测试流量,目前,我已经设置为1天。每次密码旋转,我的Django应用程序就会失去DB连接。因此,我必须手动重新启动应用程序,以允许应用程序