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

#azure #azure-storage #azure-keyvault

Вопрос:

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

Я хочу получить доступ к учетной записи хранилища Azure/blob-объекту с помощью внешнего приложения, загружающего данные непосредственно в учетную запись datalake.

Итак, вот что я пытаюсь сделать:

  • Настройка участника службы (с помощью регистрации приложения Azure AD)
  • Создайте учетную запись хранения и сохраните ключ доступа в хранилище ключей Azure.
  • Добавьте секрет участника службы в то же хранилище ключей.
  • Создайте политику в хранилище ключей, чтобы у участника службы был доступ к ключам и секретам для чтения в Хранилище ключей.
  • Также создайте политику в хранилище ключей, чтобы у участника службы была роль участника для доступа к учетной записи хранения.
  • Также предоставьте доступ к контейнеру учетной записи хранения участнику службы.

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

Я в замешательстве, каких шагов мне не хватает для решения этой проблемы.

Комментарии:

1. Выполняется ли ваше внешнее веб-приложение (я предполагаю, что вы говорите здесь о службе приложений) под управляемым удостоверением или с помощью субъекта-службы?

2. Насколько я понимаю, вы хотите, чтобы ваше внешнее приложение извлекло ключ доступа к хранилищу из вашего хранилища ключей. Какой секрет использует ваше приложение для доступа к хранилищу ключей? Для этого вам придется поделиться секретом с приложением. И если вы делаете это, вы также можете поделиться секретом и предоставить принципалу службы доступ непосредственно к хранилищу. Здесь нет необходимости в хранилище ключей. Если ваше приложение размещено под тем же клиентом azure, что и ваше хранилище, то это совсем другая история.

3. приложение @kane-это «Реклама», которая позволяет настроить назначение как большой двоичный объект Azure с принципом обслуживания.

4. @AnupamChand Мое приложение-это продукт SAS «Реклама», который хочет загрузить данные в большой двоичный объект Azure, что означает, что он НЕ размещен в одном и том же клиенте Azure. Так что , если это правда, то у меня уже есть принцип предоставления роли для службы для чтения/записи в учетную запись хранения… Итак, им не нужно хранить ключ доступа к хранилищу в хранилище ключей, а затем считывать принцип обслуживания с их ?

5. Затем они должны сохранить секрет принципала службы в своем приложении и использовать его для прямого доступа к учетной записи хранения. Нет необходимости открывать хранилище ключей. Им нужно будет использовать секрет, чтобы получить токен на предъявителя из вашего AAD, а затем получить доступ к учетной записи хранения.

Ответ №1:

Поскольку вы хотите получить доступ к учетной записи хранения с помощью участника службы, вам не нужно хранить доступ к учетной записи хранения в хранилище ключей.

Действия, которые вы можете выполнить, чтобы получить доступ к учетной записи хранения от участника службы:

  1. Создание участника службы (регистрация приложения Azure AD)
  2. Создайте учетную запись хранения
  3. Назначьте участнику службы роль поставщика данных большого двоичного объекта хранилища

Теперь вы сможете получить доступ к данным Blob-объектов хранилища Azure, используя своего участника службы

Примечание. Вам не нужно хранить секрет клиента-участника службы в хранилище ключей. Потому что вам снова нужен секрет клиента, чтобы сначала получить доступ к хранилищу ключей.

Ответ №2:

Спасибо @RamaraoAdapa-MT Это работает

Наконец, я настроил, как вы сказали,, SAS -gt; принцип обслуживания -gt;gt; разрешение на учетную запись хранения -gt;gt;gt; учетная запись хранения.

В этом случае нет необходимости в хранилище ключей.

Спасибо вам, ребята,
Анупам Чанд, Рамараадапа-гора