Azure - Добавить частный сертификат - ошибка ключа хранилища ключей и разрешений

В основном я пытаюсь добавить частный сертификат (файл .pfx) в учетную запись интеграции. Я использую новый портал.

Что я сделал / создал:

  • Группа ресурсов
  • Учетная запись интеграции
  • Key Vault
  • Active Directory
  • Предоставить моему пользователю разрешения на использование всех ключей и секретов с помощью команды Set-AzureRmKeyVaultAccessPolicy.

Каждый раз, когда я перехожу в свою учетную запись интеграции> Сертификаты> Добавить> выбираю [Тип сертификата] = "Private", выпадающие списки Resource Group и Key Vault заполняются автоматически, но Key Name выдает следующую ошибку:

Связь с хранилищем ключей [MY_KEY_VAULT] не удалась. Разрешите приложениям логики выполнять операции с хранилищем ключей, предоставив доступ субъекту службы приложений логики «7cd684f4-8a78-49b0-91ec-6a35d38739ba» для операций «список», «получить», «расшифровать» и «подписать».

Странно то, что ObjectID 7cd684f4-8a78-49b0-91ec-6a35d38739ba принадлежит не моему AD, а моей компании AD.


person FEST    schedule 29.08.2016    source источник


Ответы (3)


Необходимо установить политику доступа

При создании частного сертификата выполните следующие действия:

  1. Загрузить ключ в хранилище ключей

  2. Установите политику доступа, где логические приложения обслуживают субъект '7cd684f4-8a78-49b0-91ec-6a35d38739ba'

    Установите политику доступа:

     Set-AzureRmKeyVaultAccessPolicy -VaultName 'IntegrationAccountVault1' -ServicePrincipalName $servicePrincipal -PermissionsToKeys  decrypt, sign, get, list
    
  3. В учетной записи интеграции используйте Добавить сертификат и выберите частный сертификат из раскрывающегося списка. Свяжите ключ с соответствующим публичным сертификатом.

person Padma Chilakapati    schedule 29.08.2016
comment
Привет, @Padma, я не могу найти субъекта-службы с этим идентификатором с помощью команды Get-AzureRmADServicePrincipal. Разве это не странно? Я правда не понимаю как это сделать - person FEST; 30.08.2016
comment
Привет @Padma, я отмечаю ваш ответ как правильный, но с примечанием, чтобы эта команда работала (без ошибки разрешения), мне пришлось войти в PowerShell, предоставив мои подписки и tenantid, где находятся объекты, если бы я только предоставил подписку я бы получил ошибку разрешения. Не знаю почему, но это сработало только так. - person FEST; 31.08.2016

Guid, указанный в сообщении об ошибке, немного вводит в заблуждение. Это относится к учетной записи службы Azure Logic Apps.

Вы можете решить проблему, предоставив пользователю Azure Logic Apps необходимые разрешения в KeyVault.

введите здесь описание изображения

person oɔɯǝɹ    schedule 14.07.2017
comment
Я заметил этот ответ только после многочисленных перестановок попыток выполнить то же самое в PowerShell - что мне, по-видимому, не разрешено - это сработало для меня в первый раз, спасибо :) Вы совершенно правы, что нет способа узнать, что Основное имя ожидается, включая чтение всплывающих окон пользовательского интерфейса, и это очень сбивает с толку. - person Tom W; 12.07.2018

В скопированном вами сообщении об ошибке четко указано, что шаг авторизации отсутствует. Необходимо авторизовать приложения Logic Apps для выполнения операций с Key Vault, предоставив доступ субъекту службы Logic Apps ('7cd684f4-8a78-49b0-91ec-6a35d38739ba').

Выполните указанную выше политику доступа Set.

Я скопировал сообщение об ошибке, которое вы опубликовали, для справки.

«Ошибка связи с хранилищем ключей [MY_KEY_VAULT]. Разрешите приложениям логики выполнять операции с хранилищем ключей, предоставив доступ субъекту службы приложений логики '7cd684f4-8a78-49b0-91ec-6a35d38739ba' для 'list', 'get', ' расшифровать и подписать операции "

person Padma Chilakapati    schedule 30.08.2016