Я переместил все репозитории Git нашей компании на GitHub, и теперь я хочу добавлять сотрудников в проекты. Поскольку у большинства сотрудников уже есть личные учетные записи GitHub, мне интересно, стоит ли мне просить их создать рабочую учетную запись GitHub. Причина, по которой я думаю сделать это, состоит в том, чтобы уменьшить вероятность несанкционированного доступа к нашей кодовой базе, поскольку их личные учетные записи могут быть хорошо опубликованы благодаря их личной активности на сайте, что увеличивает шансы на целевые атаки. Более того, если их личный аккаунт будет взломан, это не будет означать, что весь код компании доступен для угонщика. Поскольку это приведет к бремени обслуживания двух учетных записей для сотрудников, мне интересно, является ли это правильным подходом и имеет ли он смысл.
Обновление Спасибо за все полезные идеи. Я не буду считать ответ принятым из-за субъективной природы вопроса / ответов и из-за того, что я взял лучшие моменты из нескольких разных ответов.
Я решил пойти по этому пути: я напомню сотрудникам, что на электронную почту GitHub необходимо будет отправлять уведомления о работе по практическим соображениям. Поэтому было бы больше смысла создавать рабочие учетные записи GitHub. Если они хотят использовать свои личные учетные записи GitHub и подключить их к своим рабочим учетным записям электронной почты, тогда это нормально. В любом слючаеСотрудники должны будут письменно согласиться с рядом условий, связанных с использованием GitHub. Они связаны с безопасностью учетной записи: выбор безопасного пароля с использованием безопасного генератора случайных паролей, который не используется ни с какой другой учетной записью, не доступ к GitHub через компьютеры, не принадлежащие им и не управляемые ими, и т. Д. В конце дня сотрудникам придется решайте сами, имеет ли для них больший смысл или нет.
Ответы:
Если бы была польза, это было бы просто больно. Но ничто не сосет хуже, чем больно и бессмысленно. Просто иметь единый личный кабинет. Две причины:
Github имеет невероятно хороший контроль доступа в своих организациях. Если сотрудник уходит, вы можете мгновенно лишить его доступа. Если бы у них был корпоративный аккаунт, вам бы пришлось каким-то образом восстановить аккаунт, чтобы получить заявленные преимущества. На практике вы, вероятно, просто удалите доступ к учетной записи, так же, как если бы у них была личная учетная запись.
Наличие более одного аккаунта - это больно. Вход и выход между учетными записями причиняет боль, а также добавление комментариев, подписок и всего прочего в социальных сетях при использовании разных учетных записей.
Ссылки: Я делаю CI-сервер с интеграцией GitHub , поэтому у меня есть много тестовых учетных записей, и я общался с клиентами со всеми видами странных конфигураций, включая отдельные рабочие и личные учетные записи. Это всегда приводит к неприятностям.
источник
Код вашей компании в публичных или частных хранилищах? Если они (или, по крайней мере, некоторые) являются общедоступными, и вы позволили своим сотрудникам использовать их собственные учетные записи GitHub, то для них было бы стимулом написать хороший код. Их имя буквально будет прикреплено к нему, публично. Тем не менее, я предполагаю, что все ваши репозитории являются частными.
В целом, похоже, вы бы предпочли, чтобы учетные записи вашего сотрудника не были публично видны на GitHub. К сожалению, они зарабатывают деньги, продавая GitHub Enterprise, поэтому я полагаю, что это одна из причин, почему они не позволяют создавать частные учетные записи для организаций. В любом случае наличие (по сути) заблокированных рабочих учетных записей было бы очень нелогичным после выбора очень социального сайта для размещения ваших репозиториев.
Представим, что вы создали рабочие учетные записи для своих сотрудников. Будете ли вы применять какие-либо ограничения на использование этих учетных записей? Вы позволите им добавлять код в неработающие проекты для рабочих целей? Если это так, то их учетные записи станут общедоступными, что вернет вас к вашей первоначальной озабоченности. Вы можете просто позволить им делать вклады со своими личными счетами, но тогда вы создаете для них логистическую проблему. Лично я бы посоветовал своим сотрудникам вносить код в другие проекты, как они сами. Это не только придает им уверенности, но и позволяет им получить ценный опыт и завоевать доверие.
В любом случае, я не думаю, что стоит иметь рабочие аккаунты. Интерфейс GitHub позволяет легко контролировать, кто имеет доступ к чему-либо, поэтому удаление доступа в любом случае просто. Я также не думаю, что наличие отдельных учетных записей действительно «проводит черту» между личным и рабочим проектами больше, чем интерфейс GitHub.
Также имейте в виду, как вы планируете справляться с этим по мере роста вашей компании. Будут ли установленные вами политики масштабироваться с точки зрения управления? Управление 5 учетными записями сейчас может быть хорошо, но что произойдет, когда вы возрастете до 20 или 50? Но как только вы дойдете до этого момента, возможно, GitHub Enterprise станет доступным решением. В этом случае я бы хотел выяснить, можно ли перенести учетные записи GitHub в установки GitHub Enterprise. Если это так, я вижу, что это одна из положительных причин иметь рабочие счета.
источник
Не может быть и речи, и на самом деле довольно хорошая идея.
Как это ни прискорбно, вам нужно планировать уход своих сотрудников из организации в какой-то момент жизни компании. Как вы собираетесь вытащить свои личные учетные записи из хранилища компании на тот момент?
Что вы будете делать, если сотрудник уйдет в плохих отношениях? В идеальном мире все останется профессиональным, и между фирмой и бывшим сотрудником не будет никакой вражды. Вам было бы разумно планировать не идеальные обстоятельства.
Хотя ведение двух учетных записей является проблемой, ваши сотрудники должны приветствовать эту возможность. Это обеспечивает более четкую грань между тем, что принадлежит им, и тем, что принадлежит компании.
Изменить: Здесь важно обеспечить четкое разделение между личным вкладом сотрудника в проекты X, Y, Z и т. Д. И их оплачиваемой работой над продуктом вашей компании. Использование отдельной рабочей учетной записи помогает определить границы, необходимые для определения, кому принадлежит какая интеллектуальная собственность и связанные с ней авторские права.
Например, если сотрудник использует свою личную учетную запись и вносит свой вклад как в компанию, так и в Project X, как вы определяете, какую роль сотрудник выполнял в эти моменты времени? Был ли вклад в X от имени вашей компании или по собственному усмотрению? Владеет ли сотрудник или компания авторскими правами на эту работу, переданную X? В связи с этим, если вы разрешаете вносить внешние взносы в работу вашей компании, как вы можете отличить, был ли сотрудник сотрудником или добровольным?
В более широком смысле, скажем, у вас есть сотрудник, который создает репутацию от имени компании, участвуя в других проектах. Когда этот сотрудник уходит, как вы указываете, что личный аккаунт пользователя больше не связан с вашей фирмой? Серьезные проблемы с брендом могут возникнуть без четкого определения того, для чего предназначен конкретный аккаунт.
Довольно просто разобраться в проблемах с собственностью, брендом и авторским правом, когда вы начинаете продумывать возможные сценарии. Использование отдельных рабочих учетных записей помогает устранить эту двусмысленность. Компания должна иметь возможность претендовать на взносы, сделанные от ее имени.
Речь идет не о технических аспектах разделения учетной записи пользователя, а о юридических вопросах, которые могут сбить вас с толку.
Обратите внимание, что это может быть спорным вопросом, если все продукты вашей компании выпущены как открытый исходный код при разрешающем лицензировании, и / или вы вообще не беспокоитесь о потенциальных проблемах с брендингом.
(Шляпная подсказка Полу Биггару за запрос этого редактирования)
источник
Поскольку все, похоже, согласны с тем, что работодателю не нужно разделять их, вот мой короткий опыт, когда я пытался использовать мою личную учетную запись в профессиональных проектах и вкладах с открытым исходным кодом, сделанных в контексте работы.
Просто для полноты контекста: меня ничего не спрашивали об учетных записях, на самом деле GitHub неизвестен большинству людей на моем рабочем месте. Я просто смог получить зеленый свет для проекта с открытым исходным кодом, над которым я буду работать, и пошел с наименьшим количеством работы, то есть используя свой личный кабинет.
С точки зрения сотрудника, я действительно ненавижу одну вещь: получать уведомления на свою личную электронную почту о работе.
Из этого наблюдения я понял, что это явное преодоление профессионального / личного барьера: если я хочу участвовать в проекте в свободное время, я все равно получаю все обновления от своих рабочих проектов… И это может привести к путанице для внешних участников. , который может связаться с вами, не зная, что вы от этого проекта.
Тогда, конечно, нужно найти баланс с тем фактом, что ваша личная репутация может выиграть благодаря вашему вкладу в работу. Но опять же, может быть наоборот, если ваше имя будет связано с плохим проектом ...
В конце концов, поскольку вопрос задается с точки зрения работодателя и с учетом всех других ответов: я бы сказал, что, вероятно, нет особого смысла в принудительном применении специальных учетных записей . Но вы не должны запрещать это, чтобы сотрудники, которые предпочитают поднимать личный барьер, могли сделать это, и, возможно, намекнуть на эти риски ...?
В качестве дополнительного примечания, касающегося безопасности, поскольку в других ответах, кажется, есть некоторое легкое отклонение:
Конечно, «рабочая» учетная запись не будет более или менее безопасной, чем «личная» учетная запись в отношении паролей. Но когда вы используете GitHub, вам разрешено нажимать клавишу SSH. И этот ключ обычно находится в сеансе… Итак, личная учетная запись может скомпрометировать все рабочие репозитории простым кражей персонального компьютера (без знания пароля), тогда как выделенная рабочая учетная запись, вероятно, будет иметь свой ключ только на рабочей машине, что делает ее более физически безопасным (надеюсь).
источник
Я бы проголосовал "Нет". Это доставляет немало хлопот вашим разработчикам и обеспечивает вам безопасность за счет неясности: если кто-то активно нацеливается на ваших разработчиков, есть множество других направлений атак, чтобы кто-то мог получить ваш код.
Кроме того, если вы запускаете стартап, если у вас нет большого количества волшебных алгоритмов типа секретного соуса, кто-то, получающий ваш код, будет смущающим, ужасным и неприятным, но не должен приводить к значительному конкурентному преимуществу (кто может на законных основаниях использовать ваш код). код?) или заставить вас выйти из бизнеса.
Такая низкая вероятность против производительности разработчика? Я бы взял производительность разработчиков, но это мое исчисление. :)
источник
Я бы сказал, что выбор должен оставаться за сотрудником. Я бы сказал, что не заставляйте их использовать свой личный аккаунт на github, если они этого не хотят. Я был в компании, которая использовала GitHub, и хотя это не было требованием, я лично хотел создать отдельную учетную запись. Основной причиной была защита моих личных проектов. Я не хотел, чтобы компания пыталась сказать, что один из моих личных проектов принадлежал им, потому что он находился под той же учетной записью github, которая использовалась для их совместных проектов (не уверен, что это когда-либо будет иметь место в суде, однако я не очень верю в правовой системе, когда дело доходит до таких вещей). Я думаю, что иметь это чистое отделение может быть хорошей вещью.
источник
Мы делаем это в нашей компании. Я не хочу начинать обсуждение «что безопаснее, github или сервер под вашей таблицей, чтобы у всех были права суперпользователя, не уверен, работает ли резервная копия и т. Д.». Наш подход был:
источник
Я признаю, что этим вопросам и ответам уже несколько лет, поэтому, возможно, они не были доступны раньше, но в них конкретно говорится о различиях между учетными записями пользователей и организаций, которые:
GitHub создал хорошие инструменты для включения / выключения уведомлений по хранилищу, и, более того, кажется, что объединение личных / рабочих имеет смысл.
источник
Люди еще не доверяют облачным исходным серверам. Github может похвастаться множеством веб-компаний нового поколения, подписанных с ними, но реальный факт заключается в том, что у большинства людей есть свои собственные серверы для поддержки исходного кода. По моему опыту, большинство из них использует либо Clear-case, либо SVN. Git еще не адаптирован в корпоративной среде. Даже корпоративные почтовые серверы не очень ценятся за пределами компании.
источник