Как я могу дать одному пользователю доступ только к определенным веткам в BitBucket? - PullRequest
0 голосов
/ 10 января 2019

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

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

Мы видели опцию «права доступа к филиалам», но, похоже, мы не до конца ее понимаем. Должен ли я предоставить пользователю доступ для чтения к полному хранилищу, а затем добавить более строгие права с помощью этой функции? Кажется, что мы не можем добавить более ограничивающие разрешения через это ...

1 Ответ

0 голосов
/ 10 января 2019

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

Это также ужасная идея хранить пароли и ключи API в репозиториях именно по этой причине - даже если у вас все жестко контролируется в Bitbucket (и др.), Вам все равно придется иметь дело с последствиями для безопасности из всех локальных систем. (Они не отставали от обновлений ОС? Используют ли они надежные пароли для входа в свои материалы? Что вы делаете, если их компьютер украден? И т. Д.)

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

...