Nayden Van
Nayden Van

Reputation: 1569

aws secret manager access index

I am trying to retrieve from aws secret manager key value pairs and pass them to my azure SQL Server. Regarding aws secret manager I am using this module.

module "secrets-manager" {
  source  = "lgallard/secrets-manager/aws"
  version = "0.4.1"
  secrets = [
    {
      name = "secretKeyValue"
      description = "Secret Key value pair"
      secret_key_value = {
        username = "username"
        password = "password"
      }
    }
  ]
}

Then I created a azurerm SQL Server and would like to pass the username and password. What I tried is the following code.

resource "azurerm_sql_server" "sql-server-testing" {
  administrator_login = module.secrets-manager.secret_ids[0]
  administrator_login_password = module.secrets-manager.secret_ids[0]
  location = "westeurope"
  name = "sql-name"
  resource_group_name = azurerm_resource_group.azure-secrets.name
  version = "12.0"
}

I am able to access the secret manager, but it hit only the amazon arn resource and I can't find a way how to pass the secret username and password to my SQL Server.

Thank you very much for any help you can provide

Upvotes: 0

Views: 807

Answers (1)

Asri Badlah
Asri Badlah

Reputation: 2123

1- Retrieve metadata information about a Secrets Manager secret, via aws secrets manager data resource

data "aws_secretsmanager_secret" "secrets" {
  arn = module.secrets-manager.secret_ids[0]
}

data "aws_secretsmanager_secret_version" "current" {
  secret_id = data.aws_secretsmanager_secret.secrets.id
}

2- Retrieve a specific value inside that secret (in sql code section)

administrator_login = jsondecode(data.aws_secretsmanager_secret_version.current.secret_string)["username"]
administrator_login_password = jsondecode(data.aws_secretsmanager_secret_version.current.secret_string)["password"]

Upvotes: 4

Related Questions