web-dev-qa-db-ja.com

従業員に「仕事用」のGitHubアカウントを作成するよう依頼することをお勧めしますか?

私はすべての会社のGitリポジトリをGitHubに移動しましたが、今度はプロジェクトに従業員を追加したいと思います。ほとんどの従業員はすでに個人のGitHubアカウントを持っているので、workGitHubアカウントを作成するように依頼する必要があるかどうか疑問に思っています。私がこれを行うことを考えているのは、個人のアカウントがサイトでの個人的な活動を通じて十分に公開され、標的型攻撃の可能性が高まるため、コードベースへの不正アクセスの可能性を減らすためです。さらに、彼らの個人アカウントが侵害されたとしても、会社のコード全体がハイジャッカーにアクセス可能であることを意味しません。これは従業員の2つのアカウントを維持する負担をもたらすので、それが正しいアプローチであるかどうか、それが理にかなっているかどうか疑問に思っています。これについてのあなたの意見を聞いてみたいです。

更新すべての有用な洞察をありがとう。質問/回答の主観的な性質のため、およびいくつかの異なる回答から最良のポイントを取得したため、私は回答を受け入れられたものとして設定しません。

この方法で進めることにしました。従業員に、業務上のGitHub電子メール通知を実際的な理由で仕事の電子メールアカウントに送信する必要があることを思い出させます。したがって、仕事用のGitHubアカウントを作成する方が理にかなっています。彼らが個人のGitHubアカウントを使用して仕事用の電子メールアカウントに接続することをいとわないのであれば、それで問題ありません。 いずれの場合でも、従業員は、GitHubの使用に関連するいくつかの条件に書面で同意する必要があります。これらはアカウントのセキュリティに関連しています。他のアカウントでは使用されていない安全なランダムパスワードジェネレーターを使用して安全なパスワードを選択するか、所有または管理されていないコンピューターからGitHubにアクセスしないなどです。仕事用アカウントの方が意味があるかどうかを自分で決める。

94
fiorenti

利益があったとしても、それは単につらいことでしょう。しかし、痛みを伴う無意味なものほど悪いものはありません。単一の個人アカウントを持っているだけです。 2つの理由:

  • Githubは、組織内で非常に優れたアクセス制御を備えています。従業員が退職した場合、その従業員のアクセスを即座に削除できます。彼らが会社のアカウントを持っている場合、あなたは述べられた利益を得るためにどういうわけかアカウントを取り戻す必要があります。実際には、おそらく個人のアカウントを持っている場合と同じように、アカウントアクセスを削除するだけです。

  • 複数のアカウントを持つことは苦痛です。別のアカウントを使用すると、アカウント間でのログインとログアウトが困難になり、コメントの追加、フォローなど、すべてのソーシャル機能を利用できます。

参考文献:私は GitHub統合を備えたCIサーバー を作成しているので、約多くのテストアカウントがあり、 veは、個別の仕事用アカウントと個人用アカウントを含む、あらゆる種類の奇妙な構成を持つ顧客と話しました。それはいつもトラブルにつながります。

63
Paul Biggar

会社のコードはパブリックまたはプライベートのリポジトリにありますか?それら(または少なくとも一部)が公開されており、従業員が自分のGitHubアカウントを使用することを許可している場合、優れたコードを作成することにはインセンティブがあります。彼らの名前は文字通り公に付けられます。ただし、すべてのリポジトリが非公開であると想定します。

全体として、従業員のアカウントをGitHub全体で公開しないようにしたいようです。残念ながら、彼らは GitHub Enterprise を売ってお金を稼いでいるので、それが組織のプライベートアカウントを作成できない理由の1つだと思います。どちらの場合でも、(本質的に)ロックダウンされた作業アカウントを持つことは、リポジトリをホストする非常にソーシャルなサイトを選択した後は本当に直観に反することになります。

従業員用の仕事用アカウントを設定したとしましょう。彼らがそれらのアカウントをどのように使用できるかについて何らかの制限を強制しますか?彼らが仕事以外のプロジェクトにコードを寄稿することを許可しますか?もしそうなら、彼らのアカウントは公に見えるようになり、最初の懸念にあなたを連れ戻すでしょう。あなたは彼らに彼らの個人的なアカウントで寄付をすることを許可することができますが、それからあなたは彼らのためのロジスティックな問題点を作成しています。個人的には、他のプロジェクトにコードを寄稿することを従業員に奨励します。これにより、信頼感が高まるだけでなく、貴重な経験を積み、信頼を築くことができます。

いずれにせよ、仕事用のアカウントを用意する価値はないと思います。 GitHubインターフェースを使用すると、誰が何にアクセスできるかを簡単に制御できるため、どちらの方法でもアクセスの削除は簡単です。また、GitHubインターフェースがすでに行っているように、個別のアカウントを持つことで個人プロジェクトと作業プロジェクトの間に本当に「線を引く」とは思いません。

また、会社の成長に合わせてこれにどのように対処するかを覚えておいてください。設定したポリシーは、管理の観点からスケーラブルになりますか?現在5つのアカウントを管理することは問題ないかもしれませんが、20または50に成長するとどうなりますか?しかし、その時点に達したら、GitHub Enterpriseが親しみやすいソリューションになるでしょう。その場合、GitHubアカウントをGitHub Enterpriseインストールに移行できるかどうかを検討することを検討します。もしそうなら、私は仕事のアカウントを持つための一つの肯定的な理由であることがわかります。

25
Jeremy Heiler

問題外ではなく、実際にはかなり良いアイデアです。

残念ながら、会社のある時期に退職する従業員について計画を立てる必要があります。その時点で、会社のリポジトリから個人のアカウントをどのように抽出しますか?

従業員が悪口を去ったらどうしますか?理想的な世界では、すべてがプロフェッショナルのままであり、会社と元従業員の間に敵意はありません。理想的とは言えない状況に備えて計画するのが賢明です。

2つのアカウントを維持するのは面倒ですが、従業員はその機会を歓迎する必要があります。彼らのものと会社のものの間のより明確な線を提供します。

編集:ここでの懸念は、プロジェクトX、Y、Zなどへの従業員の個人的な貢献と、会社の製品に対する彼らの有償作業との間の明確な分離を提供することです。別の仕事用アカウントを使用すると、誰がどの知的財産と関連する著作権を所有しているかを特定するために必要な説明を提供するのに役立ちます。

たとえば、従業員が個人アカウントを使用して会社とProject Xの両方に貢献している場合、それらの時点で従業員がどのような役割を担っていたのかをどのように特定しますか? Xへの貢献は、会社の代理ですか、それとも個人の裁量でしたか?従業員または会社はXに与えられたその作品の著作権を所有していますか?さらに言えば、会社の仕事に外部からの寄付を許可した場合、その従業員が従業員であるか、それとも自発的な寄付であったかをどのように区別しますか?

広義には、他のプロジェクトに貢献することにより、会社に代わって行動する評判を築く従業員がいるとします。その従業員が退職したとき、個人ユーザーアカウントが会社に関連付けられなくなったことをどのように示しますか?特定のアカウントの目的を明確に説明しなくても、深刻なブランド問題が発生する可能性があります。

可能性のあるシナリオについて考え始めると、所有権、ブランド、および著作権に関する懸念のうさぎの足跡をたどるのはかなり簡単です。個別の仕事用アカウントを使用すると、このあいまいさの一部を取り除くことができます。会社は、その名前で行われた寄付を主張できる必要があります。

これは、ユーザーアカウントを分離する技術的な側面ではなく、法的な質問が原因です。

会社の製品がすべて許可されたライセンスの下でオープンソースとしてリリースされている場合、および/またはブランドの潜在的な問題についてまったく心配していない場合、これは問題になる可能性があることに注意してください。
(この編集をリクエストするためのPaul Biggarへのヒント)

19
user53019

雇用者が両方を分離する必要性がないことに誰もが同意しているようですので、ここに、私の個人的なアカウントを専門的なプロジェクトや仕事のコンテキストで行われたオープンソースの貢献に使用してみた短い経験を示します。

コンテキストを完全にするために、アカウントに関しては何も尋ねられませんでした。実際、GitHubは職場のほとんどの人には知られていません。私は単に、これから取り組む予定のプロジェクトをオープンソース化するために青信号を取得することができ、最小限の作業、つまり私の個人用アカウントを使用するだけで済みました。

従業員の観点から見ると、私が本当に嫌いなことが1つあります。個人のメールで通知を受け取る仕事用。

その観察から、私はそれが専門的/個人的な障壁の露骨な破壊であることを理解しました:私がオフタイム中にプロジェクトに貢献したい場合、私は私の仕事プロジェクトからすべての更新を受け取ります...そしてそれは外部の貢献者に混乱をもたらす可能性がありますthatプロジェクトから離れていることを知らずに連絡する可能性がある人。

そしてもちろん、あなたの個人的な評判はあなたの仕事への貢献から得ることができるという事実とのバランスを取る必要があります。しかし、繰り返しになりますが、あなたの名前が貧弱なプロジェクトに関連付けられていると、逆になる可能性があります…

結局、質問はemployerの観点から尋ねられ、他のすべての回答を考慮すると、おそらくあまり重要ではないと思います作業専用アカウントを使用して適用します。しかし、それを禁止するべきではありません。それは、個人的な障壁を上げることを好む従業員がそうする可能性があり、おそらくそれらのリスクについてヒントを与えるためです…?


余談ですが、セキュリティに関しては、他の回答では簡単に却下されるようですので:

もちろん、「仕事用」のアカウントは、パスワードに関して「個人用」のアカウントほど安全ではありません。ただし、GitHubを使用している場合は、SSHキーでのプッシュが許可されています。そして、そのキーは通常、自分のセッションに存在します。したがって、個人アカウントは、単純なパーソナルコンピュータの盗用(パスワードの知識なし)ですべての作業リポジトリを危険にさらす可能性があります。一方、専用の作業アカウントは、おそらくそのキーが作業マシンにのみ存在するため、より物理的に安全です(うまくいけば)。

10
MattiSG

「いいえ」に投票します。これは開発者にとってかなり面倒であり、あいまいなことによるセキュリティを提供します。誰かが開発者を積極的に狙っている場合、誰かがコードを入手するための他の攻撃ベクトルがたくさんあります。

さらに、スタートアップとして、あなたのプレイで多くの魔法の秘密ソースタイプのアルゴリズムがない限り、誰かがあなたのコードを取得するのは恥ずかしくて、ひどくて不愉快ですが、大きな競争上の優位性をもたらすべきではありませんコード?)または廃業させます。

注文の確率が開発者の生産性に比べて低いのですか?私は開発者の生産性を考慮しますが、それが私の計算です。 :)

9
Matt Rogish

それは従業員に任せるべき選択であると私は言うでしょう。私が言えることの1つは、彼らが望まない場合に個人のgithubアカウントを使用するように強制しないことです。私はGitHubを使用する会社にいましたが、それは必須ではありませんでしたが、個人的には別のアカウントを作成したいと思っていました。主な理由は、個人プロジェクトを保護することでした。私の会社のプロジェクトの1つが彼らのプロジェクトだと言ってほしくないこのようなことになると法制度で)。きれいに分離するのは良いことだと思います。

4
ryanzec

社内でやっています。 「誰がrootアクセスできるか、テーブルの下にあるgithubやサーバーが安全で、バックアップが機能しているかどうかわからない」などの議論は始めたくありません。私たちのアプローチは:

  • すべての開発者は、個人のgithubアカウントとは無関係の新しいアカウントを作成する必要があります
  • 会社のメールを使用する必要があります。
  • セキュリティルール(ログイン名とパスワードの要件)に準拠している必要があります。
  • 公共の活動を見せたり、見せたりすることはできません。
  • それは会社の所有物です。彼/彼女のアカウントではありません。
  • すべてのアカウントは会社、ランダムな名前にも関連付けられています。公共の活動もありません。
2
VP.

私はこのQ&Aが数年前のものであることを認識しているため、これは以前は利用できなかったかもしれませんが、具体的には ユーザーアカウントと組織アカウントの違い とあります:

個人用とビジネス用など、複数のユーザーアカウントを用意したくなるかもしれませんが、必要なアカウントは1つだけです。

GitHubは、リポジトリなどで通知をオン/オフにする優れたツールを構築しているため、個人/仕事を組み合わせることが最も理にかなっているようです。

0
scojomodena