Creé un secreto y lo actualicé para tener una función de rotación lambda
Mi secreto parece
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" }y cuando trato de girarlo, me sale este error
An error occurred (InvalidRequestException) when calling the RotateSecret operation: A previous rotation isn't complete. That rotation will be reattempted.Puedo rotar el secreto sin problemas si activo la función lambda sin problemas.
¿Alguien tiene alguna idea?
enlaces relacionados:
AWSPENDING .Solo una nota para las personas que en el futuro puedan tener el mismo error...
Si utiliza AWS Secrets Manager para rotar una contraseña de Amazon RDS , Secrets Manager creará automáticamente una función Lambda. Esta función requiere:
Como tal, las siguientes combinaciones funcionan:
Además, el grupo de seguridad adjunto a la base de datos debe permitir el acceso entrante desde la función Lambda. De forma predeterminada, a la función de Lambda se le asigna el mismo grupo de seguridad que utiliza la base de datos, por lo que:
Para cualquiera que todavía tenga este problema, lo que puede intentar hacer es borrar la versión pendiente y volver a intentar la rotación.
Por ejemplo, con un secreto con id secreta thefrog , llame
aws secretsmanager get-secret-value \ --secret-id thefrog \ --version-stage AWSPENDINGpara obtener el ID de versión de la versión con la etiqueta pendiente. El resultado se vería como
{ "CreatedDate": 1541540242.561, "Name": "thefrog", "VersionStages": [ "AWSPENDING" ], "SecretString": "TOP-SECRET", "ARN": "arn:aws:secretsmanager:xxxxxxxxxxxxxxxxxxxxxxxxxxxx", "VersionId": "2a27cecb-23c7-4320-b168-78661c24612f" }Luego llame
aws secretsmanager update-secret-version-stage \ --secret-id thefrog \ --version-stage AWSPENDING \ --remove-from-version-id 2a27cecb-23c7-4320-b168-78661c24612fpara eliminar la versión del secreto que tiene la etiqueta pendiente.
Desde aquí puedes volver a intentar la rotación.
Para cualquiera que piense que el enlace en https://forums.aws.amazon.com/thread.jspa?threadID=280093&tstart=0 no se aplica, asegúrese de verificar el resultado de ambos aws secretsmanager list-secret-version-ids y aws secretsmanager list-secrets para asegurarse de que estén sincronizados entre sí. Solo tenía un secreto que no podía rotar, seguía recibiendo el mensaje de error "Una rotación anterior no está completa. Esa rotación se volverá a intentar". Tenía un caso de soporte con AWS abierto y mientras esperaba en espera para hablar con un representante de soporte, decidí verificar el resultado de list-secrets , y he aquí que encontré una etiqueta AWSPENDING en el secreto que pude no rotar (esa etiqueta NO apareció en la salida de list-secret-version-ids para ese secreto). Una vez que borré esa etiqueta, pude rotar con éxito el secreto con el que estaba teniendo problemas.