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


91

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

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

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


仕事用アカウントも同様に簡単に侵害されますよね?
ボリスヤンコフ

10
GitHubは、2012年8月に組織ごとの電子メールルーティングを追加しました。github.com/ blog / 1204
Paul Schreiber

2
@BorisYankov仕事のアカウントは、公開アクティビティがなく、ログインが名前と関係ない場合、侵害するのが難しいかもしれません。あいまいさによるセキュリティですが、確かに役立ちます。githubから送信されるすべての電子メールが開発チームリーダーなどにも送信されるワークフローを作成できます。別のポイント:作業アカウントとして、デューデリジェンス、監査アカウントを決定し、合意した内容に準拠しているかどうかを確認できます。会社と従業員の間。3番目の重要なポイント:ユーザーが仕事を辞めるとすぐに、アカウントを引き継ぐことができます。
VP。

7
個人が複数のアカウントを維持することはGitHubの利用規約に反します。「1人の個人または法人が複数の無料アカウントを保持することはできません。」help.github.com/articles/github-terms-of-service
ライリーメジャー

2
この最後のコメントについて。用語を確認、ポイントA.7。それで、あなたがあなたの個人アカウントを持っていて、あなたの会社があなたに代わって別のアカウントを作成し、それを使用した場合はどうなりますか?間違っていない場合でも、個人アカウントは終了しますか?
マッテオモスカ

回答:


63

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

  • Githubは、組織内で非常に優れたアクセス制御を備えています。従業員が退職した場合、すぐにアクセスを削除できます。彼らが会社のアカウントを持っている場合は、記載されているメリットを得るために何らかの方法でアカウントを取り戻す必要があります。実際には、個人アカウントを持っている場合と同じように、おそらくアカウントアクセスを削除するだけです。

  • 複数のアカウントを持つことは苦痛です。アカウント間でログインおよびログアウトするのが痛く、コメントを追加したり、異なるアカウントを使用しているときにすべてのソーシャルなものを追加したりします。

参考資料:GitHub統合を備えCIサーバーを作成しているため、多くのテストアカウントがあります。また、個別の作業アカウントや個人アカウントなど、あらゆる種類の奇妙な構成を持つ顧客と話しました。常にトラブルにつながります。


25

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

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

従業員の仕事用アカウントを設定したと想像してください。それらのアカウントの使用方法に制限を設けますか?作業目的で非作業プロジェクトにコードを提供することを許可しますか?そうだとすれば、彼らのアカウントが公開され、最初の懸念に戻ってしまいます。あなたは彼らに彼らの個人的なアカウントで寄付をすることを許可することができますが、それからあなたは彼らのためにロジスティックの痛みポイントを作成しています。個人的に、私は従業員が他のプロジェクトにコードを自分自身として貢献することを奨励します。これは、彼らに自信を与えてくれるだけでなく、貴重な経験を得て、彼らの信頼を築くことを可能にします。

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

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


素晴らしい点、ありがとう。はい、リポジトリはプライベートです。職場での非作業プロジェクトでの作業に関して、私はそれについてまったく心配していません。アカウントのセキュリティです。
フィオレンティ

関連性がなかったため、特定のコメントを編集しました。
ジェレミーハイラー

19

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

残念なことに、会社の生活のある時点で従業員が組織を離れる計画を立てる必要があります。その時点で、会社のリポジトリから個人アカウントをどのように解放しますか?

従業員が不適切な条件で退職した場合はどうしますか?理想的な世界では、すべてがプロフェッショナルのままであり、会社と元従業員の間に敵意はありません。理想的ではない状況を計画するのが賢明でしょう。

2つのアカウントを維持するのは大変ですが、従業員はこの機会を歓迎すべきです。それは彼らのものと会社のものとの間の明確な線を提供します。

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

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

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

潜在的なシナリオを考え始めると、所有権、ブランド、著作権に関する懸念のウサギの痕跡を簡単に見つけることができます。個別の作業アカウントを使用すると、このあいまいさの一部を取り除くのに役立ちます。会社は、その名のもとで行われた貢献に対して主張をすることができる必要があります。

ユーザーアカウントを分離することの技術的な側面ではなく、法的な問題です。

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


おかげで、言及された理由のために私が従業員だった場合、このポリシーも歓迎します。GitHubのインターフェイスを使用すると、プライベートリポジトリからユーザーのアクセスを簡単に削除できます。また、従業員が非常に悪い条件で辞任した場合、ほとんどの場合、望むなら損害を与えるのに十分な時間があると思います。
フィオレンティ

23
この答えがわかりません。GitHubにはきめ細かいアクセス制御があります。従業員が退職すると、組織からそのアクセスを削除します。これについて何が難しいですか?実際、仕事用アカウントを「回収」するよりも、個人用アカウントを削除する方が簡単です。
ポールビガー

2
@fiorenti:おそらく、ユーザーはコードの完全なチェックアウトも行うことになります。これは、コードがホストされている場所に関係なく行われます。
ポールビガー

2
@PaulBiggar-応答を更新して、関連する広範な問題の一部をキャプチャしました。これは主に法的帰属の問題であり、個別のアカウントを推奨します。私は、仕事のアカウントから個人を分離しないことが、余波で深刻な頭痛の種になる多くのケースを見てきました。全員のMMV、および各状況は、会社の精神に基づいて調査する必要があります。

あなたがに実行することができ、潜在的な法的な問題の地雷原指摘いただきありがとうございます
RidiculousRichard

10

雇用主が両方を分離する必要がないことに誰もが同意しているように見えるので、仕事の文脈で行われたプロのプロジェクトとオープンソースの貢献に私の個人アカウントを使用した私の短い経験があります。

コンテキストを完全なものにするために、アカウントについては何も質問されませんでした。実際、GitHubは職場のほとんどの人には知られていません。私は単に、作業中のプロジェクトをオープンソース化するために青信号を取得することができ、最小限の作業で、つまり個人アカウントを使用して行った。

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

その観察から、私はそれが専門的/個人的な障壁を露骨に壊していることに気付きました:休み中にプロジェクトに貢献したい場合、私はまだ仕事プロジェクトからすべての更新を取得します...そしてそれは外部の貢献者に混乱をもたらす可能性があります、あなたがそのプロジェクトから離れいることを知らずにあなたに連絡するかもしれません。

それからもちろん、あなたの個人的な評判があなたの仕事の貢献から得ることができるという事実と見つけるバランスがあります。しかし、あなたの名前が貧しいプロジェクトに関連付けられている場合、それは逆になります...

結局、雇用主の観点から質問が行われ、他のすべての答えを考慮して、仕事専用のアカウントを使用して強制することはおそらくあまり意味がないと思います。しかし、あなたはそれを禁じるべきではないので、個人的な障壁を高めることを好む従業員がそうするかもしれないし、おそらくそれらのリスクについてのヒントが…?


サイドノートとして、セキュリティに関しては、他の回答では簡単に解雇されるようです:

もちろん、「仕事用」アカウントは、パスワードに関する「個人用」アカウントほど安全ではありません。ただし、GitHubを使用している場合は、SSHキーでプッシュできます。そして、そのキーは通常、セッションにあります。そのため、個人アカウントは、単純なパソコン盗み(パスワードの知識なし)ですべての作業リポジトリを危険にさらすことができます。より物理的に安全に(できれば)。


+1:思いもしなかった2つのポイント:メールとSSHキー。GitHubで個別のメールを送信することは問題ですが、アカウントに複数のSSHキーを設定できます。
ジェレミーハイラー

@JeremyHeiler何がで正確に意味ですか「GitHubの上に別の電子メールを持つことは問題ですか」。私は3つの異なるメール(古いメール、現在の個人メール、仕事メール)を使用しています。プロファイルに追加すると、GitHubは問題なくアカウントと一致します:)
MattiSG

私はこの要点について言及していました。仕事用コンピューターのgit.configに仕事用メールを入れてアカウントに追加すると、仕事関連のすべての通知が仕事用メールに送信されると言っていますか?もしそうなら、それは素晴らしいことです!
ジェレミーハイラー

@JeremyHeilerああ、大丈夫、メールの「問題」については少し誤解していました:)いいえ、確かに、答えで言ったように、あなたは常に「メイン」(通常は個人)アカウントに通知を受け取ります。ただし、コミットするアドレスごとにアカウントが必要なため、「問題」ではありません。必要な数のメールをアカウントに関連付けることができますが、アカウントから通知を受け取るメールは1つだけです。
MattiSG

申し訳ありませんが、最初のコメントでもっと具体的にすべきでした:-P-
ジェレミー

9

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

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

開発者の生産性に対する注文確率の低さは?開発者の生産性を考えますが、それが私の計算です。:)


2

私はそれが従業員に残された選択であるべきだと思います。私が言いたいことの一つは、彼らがしたくない場合は、個人のgithubアカウントを使用することを強制しないでください。私はGitHubを使用している会社にいて、それは必須ではありませんでしたが、個人的に別のアカウントを作成したかったのです。主な理由は、個人プロジェクトを保護することでした。私の会社のプロジェクトの1つは、会社のプロジェクトに使用されたのと同じgithubアカウントの下にあったので、会社に言わせたくありませんでした(それが法廷で持ちこたえるかどうかはわかりませんが、あまり信仰はありません)このようなことになると法制度で)。きれいに分けておくのはいいことだと思います。


2

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

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

2
GitHubパスワードを検証する方法がないため、パスワードの複雑さの要件を強制することはできません。
ラムハウンド

技術的に何かを実施できない場合、それを実施しないと言っているのです。従業員がセキュリティポリシーを読み、その結果に気付いて署名した場合、それは強制であると言っています。
VP。

3
従業員がGitHubアカウントのパスワードを作成したことを確認する方法がないため、何かが実行されていないことを知る方法はないと言います。
ラムハウンド

たとえば、アカウントが危険にさらされ、パスワードがabc123であることが何らかの方法で発見された場合、従業員を「責任」にすることができます。ここには問題はありません。別のポイント:私はそれを強制することをどこに書いていますか?私はそれを書かなければなりません(今、私はそうすべきに更新しました)...
VP。

このアプローチこの名前も彼らのものであり、あなたは彼らの名前で行動を起こさないという合意で和らげられなければなりません
マイケル

0

このQ&Aは数年前のものであるため、以前は利用できなかったかもしれませんが、ユーザーアカウントと組織アカウントの違いには次のように明記されています。

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

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


あれはどういうことですか?これは良い答えだと思います。
ジョンマク

-2

人々はまだクラウドベースのソースサーバーを信頼していません。Githubは多くの新しい時代のWeb企業が彼らと契約していることを誇っていますが、本当の事実は、ほとんどの人がソースコードを維持するための独自のサーバーを持っているということです。私の経験では、それらのほとんどはクリアケースまたはSVNを使用しています。Gitはまだエンタープライズ環境に適応されていません。企業のメールサーバーでさえ、会社の敷地外ではあまり高く評価されていません。


1
現在、私はサービス会社で働いており、Gitでトレーニングを受けており、企業などのほとんどのクライアントはClearCaseから移行しているか、次のプロジェクトでその準備をしています
...-MattiSG
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.