Как добавить администратора Azure Active Directory на SQL Server в группу Azure после развертывания SQL Server

Я пытаюсь создать автоматизированный процесс, который добавляет Azure Active Directory на SQL Server в группу Azure после развертывания SQL-сервера. Группа, которую я хочу добавить, тоже является группой безопасности. Я думаю об использовании политики Azure для реализации этого. Как будет выглядеть правило политики? Если есть лучший сервис/функция Azure для выполнения моей задачи, что это?


person Dimeji Olayinka    schedule 08.02.2021    source источник
comment
Вы хотите настроить одну и ту же группу AD для каждого SQL-сервера?   -  person Jim Xu    schedule 09.02.2021
comment
Да! Я хочу настроить одну и ту же группу AD для каждого сервера SQL.   -  person Dimeji Olayinka    schedule 09.02.2021


Ответы (1)


Вот пример определения политики, которое сработало для меня, которое оценивает и предоставляет ресурсы для жалоб и без жалоб на существующие ресурсы. Также обратите внимание, что во время цикла оценки определения политик с эффектом DeployIfNotExists, соответствующие ресурсам, помечаются как несоответствующие, но с этим ресурсом не предпринимаются никакие действия. Существующие несоответствующие ресурсы можно исправить с помощью задачи исправления.

{
  "mode": "All",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.Sql/servers"
        }
      ]
    },
    "then": {
      "effect": "deployIfNotExists",
      "details": {
        "type": "Microsoft.Sql/servers/administrators",
        "existenceCondition": {
          "allOf": [
            {
              "field": "Microsoft.Sql/servers/administrators/administratorType",
              "equals": "ActiveDirectory"
            },
            {
              "field": "Microsoft.Sql/servers/administrators/login",
              "equals": "[email protected]"
            },
            {
              "field": "Microsoft.Sql/servers/administrators/sid",
              "equals": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx"
            },
            {
              "field": "Microsoft.Sql/servers/administrators/tenantId",
              "equals": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx"
            }
          ]
        },
        "deployment": {
          "properties": {
            "mode": "incremental",
            "template": {
              "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
              "contentVersion": "1.0.0.0",
              "parameters": {
                "location": {
                  "type": "string"
                },
                "sqlServerName": {
                  "type": "string"
                }
              },
              "variables": {},
              "resources": [
                {
                  "name": "[parameters('sqlServerName')]",
                  "type": "Microsoft.Sql/servers",
                  "apiVersion": "2019-06-01-preview",
                  "location": "[parameters('location')]",
                  "resources": [
                    {
                      "type": "Microsoft.Sql/servers/administrators",
                      "apiVersion": "2019-06-01-preview",
                      "name": "[concat(parameters('sqlServerName'), '/ActiveDirectory')]",
                      "dependsOn": [
                        "[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
                      ],
                      "properties": {
                        "administratorType": "ActiveDirectory",
                        "login": "[email protected]",
                        "sid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
                        "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx"
                      }
                    }
                  ]
                }
              ]
            },
            "parameters": {
              "sqlServerName": {
                "value": "[field('Name')]"
              },
              "location": {
                "value": "[field('Location')]"
              }
            }
          }
        },
        "roleDefinitionIds": [
          "/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c",
          "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635"
        ]
      }
    }
  },
  "parameters": {}
}
person SwathiDhanwada-MSFT    schedule 12.02.2021