【问题标题】:aws secret manager access indexaws secret manager 访问索引
【发布时间】:2021-06-29 07:13:38
【问题描述】:

我正在尝试从 aws Secret Manager 键值对中检索并将它们传递给我的 Azure SQL Server。关于 aws secret manager 我正在使用这个模块。

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"
}

我能够访问秘密管理器,但它只访问了亚马逊 arn 资源,我找不到如何将秘密用户名和密码传递给我的 SQL Server 的方法。

非常感谢您提供的任何帮助

【问题讨论】:

    标签: amazon-web-services azure-devops terraform


    【解决方案1】:

    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"]
    

    【讨论】:

    • 这篇文章很棒,但您应该为您引用的 api 添加一些文档链接!
    • 这太棒了。非常感谢它有效。只是一个简单的问题。即使这从 tf 文件中屏蔽了我的敏感数据,它们仍会显示在 tfstate 中。有什么方法可以隐藏 tfstate 的值吗?
    • @NaydenVan 不,你不能,除非你停止在你的 terraform 代码中使用 aws_secretsmanager_secret_version
    • 请查看stackoverflow.com/questions/65450899/…我已经回答了这个问题
    猜你喜欢
    • 2021-04-11
    • 2020-12-22
    • 2021-11-26
    • 2021-06-06
    • 2020-12-25
    • 1970-01-01
    • 2020-08-16
    • 2021-09-10
    • 2020-03-31
    相关资源
    最近更新 更多