azure - 二头肌 : Creating random string

标签 azure infrastructure-as-code azure-bicep

我有 Terraform 背景和 AWS。现在我正在将 Bicep 与 Azure 结合使用,所以请耐心等待:)

在 Terraform 中,我们使用 random_password 创建随 secret 码资源。然后,我们将其作为值存储在 AWS Systems Manager Parameter Store 中。这使我们能够拥有安全(足够......)的密码,这些密码被创建并存储在一些安全的数据库中,而我们无需输入甚至不知道密码。如果有人需要知道密码,它就会被记录下来。可爱;)

现在...

我该如何用二头肌做这样的事情?我只找到 uniqueString() 功能。但这只会创建 13 个字符长的随机字符串,并且也没有任何“特殊”字符,例如 !@#$%&*()-_=+[]{}<>:?等等。

由于非常明显的原因,我不想在代码中包含某种将 secret 设置为一些清晰可读的值的语句。这就是我们使用random_password的原因在 Terraform 中。

解决二头肌这个问题的正确方法是什么?

我找到了博客文章 "Automatically generate a password for an Azure SQL database with ARM template" by Vivien Chevallier ,但这不好,IMO。规避 uniqueString() 的缺点为了使其符合密码复杂性规则,该人添加了常量前缀“P”和后缀“x!”。这会降低密码的质量,因为现在有 3 个已知字符。共 16 个。

最佳答案

uniqueString() 根本不是用来生成密码的,它是用来生成资源名称的。

据我所知,没有专门构建的方法可以在 Bicep/ARM 模板中生成密码。 我们所做的是使用密码生成器生成足够长度和复杂性的密码,并将这些密码存储在 Azure DevOps 变量组中作为 secret 。 然后我们将它们作为安全字符串参数传递到模板中,这样它们就不会记录在任何地方。 我们也不会将这些生成的密码存储在其他任何地方,它们在生成并存储在 Azure DevOps 中后会被丢弃。

关于azure - 二头肌 : Creating random string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68063937/

相关文章:

azure - 我的 Azure 订阅 + IAM 访问控制凭证中的所有资源列表

azure - 如何使用 Bicep 激活 Azure Front Door 路线的压缩?

amazon-web-services - Terraform - 具有混合实例策略的 ASG

Azure Bicep 不会删除存储容器

azure - Bicep - 如何初始化 PowerShell Azure Function 的应用程序文件(例如requirements.psd1)?

asp.net-mvc - Azure - App Insights - 如何跟踪身份验证ID中的登录用户名?

azure - 了解具有帐户和容器的 Azure 存储(blob)。测试容器?

azure - 发布/打包时 Windows Azure 错误

postgresql - 使用 Terraform 的 AWS RDS IAM 身份验证

azure - 如何删除二头肌模板及其已部署的资源