@ anirudhgarg указал верный путь.
Управляемый идентификатор и заданный вами RBAC имеют значение только при использовании токена доступа управляемого идентификатора для доступа к службе хранилища в приложении Function.Это означает, что эти настройки не влияют на привязку функции, поскольку она внутренне подключается к хранилищу, используя строку подключения .Если вы не установили свойство соединения для выходной привязки, оно по умолчанию использует настройки приложения AzureWebJobsStorage .
Точнее говоря, строка подключения не имеет ничего общего с процессом аутентификации Azure Active Directory, поэтому на нее не может повлиять конфигурация AAD.Следовательно, если функция использует строку подключения учетной записи хранения (например, использует привязку, связанную с хранилищем), мы не можем ограничить ее доступ другими настройками.Аналогично, отсутствие использования строки подключения означает отсутствие доступа.
Обновление для использования токена SAS
Если указанная очередь используется в привязке триггера / ввода очереди, мы можем ограничить функцию чтением и обработкой (получить сообщение, затем удалить), вот вам маркер SAS .
Условие:
Очередь находится в учетной записи хранения, отличной от той, которая указана в параметре приложения AzureWebJobsStorage.AzureWebJobsStorage требуется строка подключения, предоставляющая полный доступ с ключом учетной записи.
Функциональным приложением является 2.0.Проверьте это в настройках приложения Function> Runtime version: 2.xx (~ 2).В 1.x требуется больше разрешений, таких как AzureWebJobsStorage.
Затем получите токен SAS на портале, как показано ниже, и установите его в настройках приложения.