仅使用AD管理员创建Azure SQL DB

问题描述 投票:0回答:2

我正在转换Azure SQL DB以使用Active Directory身份验证。

我已将此代码段添加到我的ARM模板中,该模板正确将管理员设置为AD组。到目前为止,一切都很好!

{
  "type": "administrators",
  "name": "activeDirectory",
  "apiVersion": "2014-04-01-preview",
  "location": "[resourceGroup().location]",
  "properties": {
    "administratorType": "ActiveDirectory",
    "login": "[parameters('sql_ad_admin_username')]",
    "sid": "[parameters('sql_ad_admin_objectid')]",
    "tenantId": "[parameters('azure_ad_directory_id')]"
  },
  "dependsOn": [
    "[parameters('sql_db_name')]"
  ]
},

现在,它已经可以正常工作了,我想从ARM模板中删除旧的SQL Server Auth Administrator详细信息(并且我想将该模板存储在源代码管理中,因此显然其中没有凭据)。

所以,我尝试从文件中删除这些administratorLoginadministratorLoginPassword条目(毕竟不再需要它们了,我有一个AD管理员):

  "properties": {
    "administratorLogin": "admin",
    "administratorLoginPassword": "XXXXXX",
    "version": "12.0"
  },

但是,删除它们后,运行模板时出现以下错误:

Invalid value given for parameter Login. Specify a valid parameter value.

现在我有些困惑。为什么我不能摆脱这些?我现在正在使用比SQL身份验证更安全的AD身份验证,但是它似乎迫使我设置了不太安全的用户名/密码管理员登录名?如何禁用此功能?

azure-active-directory azure-sql-database arm-template
2个回答
0
投票

对于Azure SQL数据库,您无法摆脱最初的SQL Administrator登录名和密码。这始终是必需的,但是以与为AD Administrator参数化“ login”,“ sid”和“ tenantid”相同的方式,可以对模板中的“ administratorLogin”和“ administratorLoginPassword”值进行相同的操作。

管理员结构显示为here


0
投票

根据我的研究,当我们使用ARM模板创建Azure SQL服务器时,我们无法不提供administratorLogin和administratorLoginPassword。有关更多详细信息,请参阅document

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.