«CloudException: ... Недостаточно прав на чтение или запись для предоставленной учетной записи хранения». при включении журналов аудита DBServer в Azure - PullRequest
0 голосов
/ 17 июня 2019

Как можно успешно ограничить область разрешенного доступа к учетной записи хранилища Azure указанным сервером базы данных?

Я хочу включить аудит журналов на сервере базы данных в Azure [документация] . Я использую Java-клиент, однако, это можно повторить и с помощью REST API.

В Azure у меня есть сервер базы данных, для которого я выполняю этот вызов. У меня также уже есть StorageAccount, который должен получать логи. Используя Java-клиент или REST API, я дал соответствующие параметры, указывающие на учетную запись хранения, и всегда получаю ответ:

com.microsoft.azure.CloudException: com.microsoft.azure.CloudException: Async operation failed with provisioning state: Failed: Insufficient read or write permissions on the provided storage account.

В Azure Portal, под учетной записью хранения -> Правила брандмауэра, , если я выберу Allow access from all networks, тогда все отлично работает .

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

  • В разделе FirewallRules StorageAccount в разделе Selected networks я попытался выбрать подсеть, к которой принадлежит DBServer. Это не помогает и выдает ту же ошибку.
  • В разделе FirewallRules StorageAccount, под Add IP ranges to allow access from the internet or your on-premises networks я добавил IP-адрес сервера БД напрямую. Это приводит к той же ошибке.

Какой IP-адрес мне нужен для включения в белый список или что нужно сделать, чтобы только у сервера БД были права на запись в StorageAccount?

Редактировать для получения дополнительной информации :

Я продолжал пытаться заставить это работать. Согласно приведенному ниже ответу, я внес в белый список все IP-адреса центров обработки данных в регионе, с которым я работаю. Нет кости. Ранее я также пытался внести в белый список виртуальную сеть, частью которой является DBServer, а не игра в кости.

Кроме того, я попытался вручную включить журналы аудита в портале Azure и назначить выводу журнала созданный StorageAccount, и при этом возникает ошибка:

Failed to save Auditing settings for server: test-p1-server. ErrorMessage: The storage account 'blahblahblah' is behind a firewall or in a virtual network. Please choose a storage account without any firewall rules or virtual network configurations.

Эта ошибка явно указывает на то, что мне нужно хранилище без брандмауэра и ограничений ... Ответ кажется очевидным, отключите брандмауэр. Это, однако, не вариант, потому что парни из службы безопасности сожгли бы меня заживо и поджарили бы мои вкусные кусочки.

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Я нашел ответ на этот вопрос (напрямую из службы поддержки Microsoft Azure).

В настоящее время журналы аудита DB / DBServer не поддерживают Azure StorageAccount, для которого включены правила брандмауэра, поскольку DBServer не может быть внесен в белый список на брандмауэре StorageAccount.

StorageAccount (негласно) имеет динамический IP-адрес, который нам неизвестен и часто меняется, и поэтому не может быть внесен в белый список. Другие службы Microsoft могут обойти это, используя функцию «Разрешить доверенным службам Microsoft доступ к этой учетной записи хранения». Однако аудит журналов не входит в число сервисов, на которые влияет эта функция.

Для справки: разрешенные услуги: Разрешенные услуги

  • Azure Backup
  • Поле данных Azure
  • Сетка событий Azure
  • Azure DevTest Labs
  • Концентраторы событий Azure
  • Azure Monitor
  • Сеть Azure Восстановление сайта Azure
  • Хранилище данных SQL Azure
  • Azure HDInsight

Подробнее:

0 голосов
/ 17 июня 2019

Возможно, вы могли бы внести в белый список список IP-адресов центра обработки данных с фильтрацией региона, в котором развернута база данных SQL. Обычно список IP-адресов обновляется каждую неделю.

В дополнение, если вы хотите разместить базу данных SQL внутри виртуальной сети Azure, вы можете рассмотреть управляемый экземпляр базы данных SQL. Подробнее об архитектуре подключения для управляемого экземпляра в базе данных SQL Azure . Тогда вы можете использовать ограничение VNet в своей учетной записи хранения.

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