Использование authorization.json с порталом функциональных возможностей Azure - PullRequest
0 голосов
/ 31 января 2019

Я использую функции Azure и использую AAD для аутентификации.Тем не менее, у меня есть одна функция, которая использует триггер EventGrid, поэтому мне нужно отключить аутентификацию для этой функции.Чтобы добиться этого, я установил параметры аутентификации в приложении функций, чтобы разрешить анонимные запросы, и использую файл authorization.json, чтобы включить аутентификацию для всех функций, кроме той, которую я хочу анонимно.

Если я использую файл authorization.json, подобный этому, то, когда я захожу на портал и нажимаю на одну из функций, я получаю сообщение об ошибке, говорящее о том, что время выполнения функции не может быть запущено:

{
  "routes": [
    {
      "path_prefix": "/",
      "policies": { "unauthenticated_action": "RejectWith401" }
    },
    {
      "path_prefix": "/runtime/webhooks/EventGrid",
      "policies": { "unauthenticated_action": "AllowAnonymous" }
    }
  ]
}

Однако, если я изменю его таким образом, портал снова будет работать, но я предполагаю, что все конечные точки администратора теперь будут широко открыты.

{
  "routes": [
    {
      "path_prefix": "/",
      "policies": { "unauthenticated_action": "RejectWith401" }
    },
    {
      "path_prefix": "/runtime/webhooks/EventGrid",
      "policies": { "unauthenticated_action": "AllowAnonymous" }
    },
    {
      "path_prefix": "/admin",
      "policies": { "unauthenticated_action": "AllowAnonymous" }
    }
  ]
}

Как мне настроить файл authorization.json таким образом, чтобы все былобезопасный, кроме функции EventGrid?

1 Ответ

0 голосов
/ 29 марта 2019

Я использовал следующее, и это сработало.

{
  "routes": [
    {
      "path_prefix": "/api",
      "policies": { "unauthenticated_action": "RejectWith401" }
    },
    {
      "path_prefix": "/runtime/webhooks/EventGrid",
      "policies": { "unauthenticated_action": "AllowAnonymous" }
    }
  ]
}

Отсутствие записи в корневом каталоге "/" исправляет портал.

Даже без указания / admin URL / admin защищен.Я попытался получить доступ к нему через браузер, он вернул неавторизованный 401.

...