我希望我的公司使用VSTS发布管道部署的ARM模板,以允许开发人员定义将部署到我们公司OP团队所拥有的订阅的资源,以确保开发人员不进行生产根据{{3}}访问这些资源。
然而,我们已经注意到" Microsoft.SQL / server"模板允许设置管理员的用户名和密码以及防火墙设置。这将允许开发人员硬编码密码并打开一个端口,允许他们直接访问任何SQL Server。
{
"name": "creditcardinfo",
"type": "Microsoft.Sql/servers",
"apiVersion": "2014-04-01",
"location": "[resourceGroup().location]",
"properties": {
"administratorLogin": "maliciousDev",
"administratorLoginPassword": "HardCodedPassword",
"version": "12.0"
}
}
我们可以在我们的VSTS管道中添加一个脚本,将该属性的设置列入黑名单,但现在担心开发人员可能有其他方式通过其他ARM模板访问生产资源。
开发人员是否可以放心使用ARM模板,无法使用这些模板为任何Azure资源授予访问权限,还是我们必须提供备用解决方案?
答案 0 :(得分:0)
为这些创建一个单独的回购,你很好。
编辑ARM模板的人没有“防御”。编辑模板以获取对资源的访问权限是无穷无尽的。