Аутентификация конфигурации с Azure AD для Azure Службы приложений с шаблоном ARM - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь настроить службу приложения azure, которая использует Azure AD в качестве поставщика аутентификации и блокирует доступ к AD только через шаблон ARM.

В основном из «Разрешить аномальные запросы (без действий)»

Action to take when request is not authenticated

в «Вход в систему с Azure Active Directory»

Action to take when request is not authenticated

Я подумал, что это должно быть одно из свойств в свойствах -> siteAuthSettings, но, похоже, оно не работает. Вот мой шаблон:

{
  "apiVersion": "2015-04-01",
  "name": "web",
  "type": "config",
  "dependsOn": [
    "[resourceId('Microsoft.Web/sites', parameters('webAppName'))]"
  ],
  "properties": {
    "siteAuthEnabled": true,
    "siteAuthSettings": {
      "enabled": true,
      "httpApiPrefixPath": null,
      "unauthenticatedClientAction": 0,
      "tokenStoreEnabled": null,
      "allowedExternalRedirectUrls": null,
      "defaultProvider": 0,
      "clientId": "[parameters('clientId')]",
      "clientSecret": null,
      "issuer": "[parameters('issuerUrl')]",
      "allowedAudiences": null,
      "additionalLoginParams": null,
      "isAadAutoProvisioned": false,
      "aadClientId": "[parameters('clientId')]",
      "openIdIssuer": "[parameters('issuerUrl')]",
      "googleClientId": null,
      "googleClientSecret": null,
      "googleOAuthScopes": null,
      "facebookAppId": null,
      "facebookAppSecret": null,
      "facebookOAuthScopes": null,
      "twitterConsumerKey": null,
      "twitterConsumerSecret": null,
      "microsoftAccountClientId": null,
      "microsoftAccountClientSecret": null,
      "microsoftAccountOAuthScopes": null
    }

Не могу понять, любые предложения приветствуются! ?

1 Ответ

0 голосов
/ 01 мая 2020

Ваш шаблон выглядит вполне нормально. Этот пример отлично работает для моих приложений:

{
                "apiVersion": "2015-08-01",
                "name": "web",
                "type": "config",
                "dependsOn": [
                    "[resourceId('Microsoft.Web/Sites', parameters('webAppName'))]"
                ],
                "properties": {
                    "siteAuthEnabled": "[parameters('enableAadAuthentication')]",
                    "siteAuthSettings": {
                      "clientId": "[parameters('aadClientId')]",
                      "issuer": "[parameters('aadIssuerUrl')]",
                      "isAadAutoProvisioned": false
                    }
                }
            }

Единственное отличие, которое я вижу, это "apiVersion": "2015-08-01",, поэтому вам следует дважды проверить это и ваши фактические параметры. Вы issuerUrl должны выглядеть примерно так: https://login.microsoftonline.com/mytenant.onmicrosoft.com

...