Хранилище ключей Azure для управления секретами производства и разработки

Похоже, что Azure Key Vault не поддерживает политики доступа, назначенные группам; только те, которые назначены пользователям или принципалам обслуживания. Он также поддерживает максимум 10 политик доступа для каждого хранилища ключей, что означает, что я не могу назначить всех людей, которым я хочу иметь доступ индивидуально.

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

Разработчики проходят аутентификацию в AAD через NTLM / Kerberos (через ADFS), чтобы получить токен доступа (не через секрет клиента). Получив этот токен доступа, они должны иметь возможность доступа к защищенным формам всех других секретов, необходимых для запуска нашего приложения (точно так же, как это делает производственный код при аутентификации в качестве принципала службы).

Как я могу этого добиться?


person Jeff    schedule 24.02.2016    source источник


Ответы (1)


Изменить: группы теперь можно связать с политиками доступа Key Vault. Просто укажите идентификатор объекта группы, в который вы обычно помещаете идентификатор объекта пользователя или идентификатор объекта субъекта-службы.

Это немного болезненный обходной путь, но ...

Вы можете написать довольно простое приложение, добавляющее слой поверх Key Vault. Это приложение (которое может быть веб-приложением, API или тем и другим) будет настроено для использования Azure AD для проверки подлинности и будет проверять членство в группе вызывающего абонента, чтобы определить, должен ли он иметь доступ к заданному секрету. Если это так, приложение получит секрет из Key Vault и передаст его запрашивающей стороне. (Субъект службы приложения будет авторизован в Key Vault.)

person Philippe Signoret    schedule 25.02.2016
comment
Это сработает ... но это довольно болезненный обходной путь ... и теперь этому приложению нужно будет владеть секретом клиента, чего я пытаюсь избежать. - person Jeff; 25.02.2016
comment
да. Это одно приложение должно иметь доступ к секрету (сертификату или паролю). Отредактировано, чтобы отразить боль. : | - person Philippe Signoret; 25.02.2016
comment
@Jeff Обновлено, чтобы отразить недавнее обновление Key Vault: теперь поддерживаются группы. - person Philippe Signoret; 03.03.2016