Как отключить автоматическую ротацию секретов AWS Secrets Manager с помощью Terraform?

#amazon-web-services #terraform #terraform-provider-aws

#amazon-web-services #terraform #terraform-provider-aws

Вопрос:

У меня есть секрет, хранящийся в 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
  }
}
  

Комментарии:

1. Зачем использовать этот модуль, если он делает то, что вам не нужно, и у вас нет возможности повлиять на то, что он делает?

2. К сожалению, я не могу обойти это, поскольку это побочный продукт более крупного модуля, который я использую.

3. Можете ли вы разветвить модуль? Предположительно, он уже устанавливает ротацию через aws_secretsmanager_secret_rotation ресурс, поэтому добавление другого aws_secretsmanager_secret_rotation ресурса в любом случае приведет к конфликту.

Ответ №1:

Вы можете просто полностью пропустить ресурс «aws_secretsmanager_secret_rotation», и terraform автоматически отключит ротацию.

Комментарии:

1. Если вы хотите сохранить ресурс, вы также можете использовать свойство rotation_enabled registry.terraform.io/providers/hashicorp/aws/latest/docs /…

2. Я считаю, что rotation_enabled — это атрибут экспорта и выходное значение, которое вы не можете установить, хотя я не совсем понимаю, как вы можете сохранить ресурс, и вывод rotation_enable имеет значение false