Azure: лучший опыт обслуживания основных пользователей с Terraform - PullRequest
0 голосов
/ 08 мая 2018

Я немного озадачен тем, как мы должны использовать пользователя Принципа обслуживания, когда мы управляем нашей инфраструктурой в Azure с помощью Terraform.

Например, рекомендуется ли иметь один SP для всей команды? или нам нужно настроить SP для каждого пользователя?

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

Не уверен, что мой вопрос достаточно ясен, но мне не удалось найти конкретные детали по этим сценариям.

Очень ценится

1 Ответ

0 голосов
/ 08 мая 2018

Участник службы должен использоваться, если у вас есть служба (не являющаяся человеком), выполняющая операцию. В этом сценарии, например, Terraform будет использовать субъект-службу для предоставления вашей инфраструктуры как части конвейера CI / CD.

Принципалы обслуживания (в любой среде) обычно настраиваются с наименьшими привилегиями . Причина этого заключается в том, что субъект службы предназначен для использования в одной и очень конкретной цели, например, для вызова Terraform для обеспечения вашей среды. Таким образом, у участника службы могут быть разрешения на чтение определенного набора секретов из хранилища ключей Azure, которые используются для предоставления ресурсов в определенной группе ресурсов (или наборе групп ресурсов). Вот и все.

Сравните это с учетной записью пользователя, например с тем, что вы используете для своей работы. У вас может быть доступ к нескольким подпискам Azure, вы можете предоставлять ресурсы где угодно, удалять ресурсы, настраивать доступ к ресурсам и т. Д.

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

Документы здесь демонстрируют предоставление полномочий основного участника службы для всей подписки. Это менее ограничительно, чем пример, который я привел выше. Тем не менее, я подозреваю, что предполагается другая лучшая практика: ваша среда разработки / тестирования должна использовать подписку Azure, отличную от вашей рабочей и других сред. Таким образом, хотя у субъекта службы есть полные права «Участник» для подписки, посвященной dev / test, у него по-прежнему нет доступа к другим подпискам, которые есть у организации, и его нельзя использовать для настройки доступа к ресурсам в подписке. .

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