我正在尝试从 aws 秘密管理器键值对中检索并将它们传递给我的 azure SQL Server。关于 aws 秘密管理器,我正在使用此模块。
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"
}
}
]
}
然后我创建了一个azurerm SQL Server,并想传递用户名和密码。我尝试的是以下代码。
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"
}
我可以访问秘密管理器,但它只访问了 amazon arn 资源,我找不到如何将秘密用户名和密码传递给我的 SQL Server 的方法。
非常感谢您提供的任何帮助
答案 0 :(得分:4)
1- 通过 aws secrets manager data resource
检索有关 Secrets Manager 机密的元数据信息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- 检索该秘密中的特定值(在 sql 代码部分)
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"]