如何使用 Terraform 禁用 AWS Secrets Manager 的自动秘密轮换?

问题描述 投票:0回答:2

我在 AWS Secrets Manager 中存储了一个秘密,该秘密是使用 Terraform 模块部署的,该模块支持秘密轮换。我无权访问该模块的源代码,因此无法修改它。我想使用 Terraform 禁用秘密旋转。我应该使用哪种资源?

aws_secretsmanager_secret_rotation
需要如下所示的所有 3 个参数,并且没有任何参数来禁用旋转。
automatically_after_days
属性接受 1 到 365 之间的值,因此,传递 0 也不是一个选项。

resource "aws_secretsmanager_secret_rotation" "example" {
  secret_id           = aws_secretsmanager_secret.example.id
  rotation_lambda_arn = aws_lambda_function.example.arn

  rotation_rules {
    automatically_after_days = 30
  }
}
amazon-web-services terraform terraform-provider-aws
2个回答
0
投票

您可以完全跳过“aws_secretsmanager_secret_rotation”资源,terraform 将自动禁用旋转。


0
投票

问题是 terraform 提供程序从 AWS SDK rotate-secret 调用以下 API。此 API 不提供任何禁用自动轮换并保留配置的选项。如果您想手动运行轮换,而不是通过计划作业自动运行,这将很有用。

您可以看到这是 AWS 的限制,因为如果您调用 cancel-rotate-secret 它会完全禁用轮换过程,并且不会更新主秘密资源中的任何标志。这意味着,它在 AWS 上的实现方式不允许在 terraform 中以我认为 AWS 组件和 AWS 资源之间存在一对一关系的方式实现。

© www.soinside.com 2019 - 2024. All rights reserved.