我正在编写一个自定义 lambda 函数来实现用于 SecretsManager 的通用旋转密钥算法。
在我的 pycharm IDE 中本地运行时,python lambda 函数可以完美运行,但是,当我将其粘贴到 lambda 控制台并部署它时,在 SecretsManager 中执行“立即轮换密钥”时会收到 AccessDeniedException。违规代码是:
resp = service_client.list_secret_version_ids(SecretId=arn, IncludeDeprecated=True)
登录用户位于附加了 AdministratorAccess 策略的组中。我还为踢球添加了 SecretsManagerReadWrite 策略。
我打印了一条错误消息,其中包含秘密的 arn 并且它是正确的。在“正常”代码完成后,从 finishSecret 方法调用此代码,因此密钥确实可以正常旋转。但是,我添加了自定义代码以确保将版本保留 2 年(通过分配版本阶段,以便 SM 不会删除它们)。为此,我需要 list-secret-version-ids 方法。
从 SecretsManager 调用此函数时是否有某种限制?
有任何想法吗?