Слоты развертывания Azure - добавление разрешений в слот - PullRequest
0 голосов
/ 30 октября 2018

У нас есть группа синхронизации базы данных Azure, которая время от времени должна запускаться приложением - например, пользователь сделал что-то, что требует синхронизации данных из одной базы данных в другую (чаще всего добавление нового пользователя ).

Мы дали разрешения веб-приложениям (с использованием идентификатора управляемой службы) на запуск этой синхронизации, добавив GUID идентификатора компьютера к соответствующей роли SQL Server - и это работает.

Впоследствии мы создали слоты развертывания на наших серверах Staging и Prod - и пока корневые сайты все еще работают, приложение при работе в слоте развертывания выдает исключение, говорящее о том, что у него нет разрешений на запуск синхронизации.

Я не могу найти какую-либо документацию для получения идентификатора объекта (фактического GUID) слота развертывания , он же Bar - чтобы добавить к этому утверждению:

az role assignment create --role "SQL Server Contributor" --assignee-object-id "Bar" --resource-group Foo

РЕДАКТИРОВАТЬ: я не установил вручную ни идентификацию ни слота, ни корневого приложения - я просто включил MSI и пытался обнаружить идентичность. Честно говоря, если бы оно было таким же, как у корневого приложения, это было бы хорошо.

Мне очень хорошо известно, что SQL Server Contributor - это огромное разрешение, которое можно дать веб-серверу, но, похоже, это было наименьшее количество привилегий, которые я мог дать серверу, у которого действительно было разрешение на запуск синхронизации базы данных.

1 Ответ

0 голосов
/ 30 октября 2018

Вы должны включить управляемую идентификацию в слоте. Он создает отдельную личность в AAD.

Его можно найти в разделе «Приложения предприятия» в Azure Active Directory. Просто убедитесь, что фильтр установлен на Все приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...