Team について
チームを使って、組織内のユーザーのアクセス権と、通知を送信するアクセス権を管理できます。 Organization のオーナーとチームメンテナは、Organization のリポジトリに対する管理、読み取り、または書き込みのアクセス権を Team に付与できます。 Organization のメンバーは、Team の名前をメンションすることで、Team 全体に通知を送信できます。 Teams は組織のメンバーのみで構成できます。外部コラボレーターはチームに参加できません。
組織の所有者とチームの保守担当者は、チームの通知を無効にすることができます。 詳細については、「Team通知の設定」を参照してください。
Organization のメンバーは、Team のレビューを要求することでも、Team 全体に通知を送信することができます。 Organization のメンバーは、pull request が開かれているリポジトリに対する読み取りアクセス権を持つ特定の Team のレビューを要求できます。 コードの特定の種類や領域に対して Team をオーナーとして CODEOWNERS ファイルで指定できます。
詳細については、次を参照してください。
また、LDAP Sync を使って お使いの GitHub Enterprise Server インスタンス のチーム メンバーとチーム ロールを、既成の LDAP グループと同期させることができます。 これにより、お使いの GitHub Enterprise Server インスタンス 内で手動で行う代わりに、LDAP サーバーからユーザーのロールベースのアクセス制御を確立できます。 詳しくは、「LDAPの利用」を参照してください。
「Team をアイデンティティ プロバイダ グループと同期する」を参照してください。
Team の可視性
Teamは可視にも秘密にもできます。
- 表示されるチームはあらゆる組織メンバーが表示し、@mentionedできます。
- 秘密のTeamは、Teamの人と、オーナー権限を持つ人だけに見えます。 秘密のTeamは、外部のパートナーやクライアントとの作業に使われるセンシティブな名前やメンバーを持つTeamを隠すのに適しています。 秘密のチームは親チームの下に入れ子にしたり、子チームを持ったりすることはできません。
組織のメンバーではない人は、チームを表示できません。
自分が所属するすべてのTeamは、パーソナルダッシュボードで表示できます。 詳しくは、「パーソナルダッシュボードについて」を参照してください。
Team のページ
各 Team は、Organization 内に独自のページを持ちます。 Team のページでは、Team メンバー、子チーム、Team のリポジトリを見ることができます。 Organization のオーナーとチームメンテナは、Team のページから Team の設定にアクセスし、Team の説明とプロフィール画像を更新できます。
組織のメンバーは、チーム内のディスカッションを作成し、参加できます。 詳しくは、「Team ディスカッションについて」を参照してください。
入れ子チーム
GitHub Enterprise Serverの Organization では、複数レベルの入れ子チームでグループや会社の階層を反映させることができます。 親 Team は複数の子 Team を持つことができますが、各子 Team は 1 つの親 Team のみを持ちます。 シークレット Team を入れ子にすることはできません。
子 Team は親のアクセス権限を継承し、大規模なグループの権限管理を簡素化します。 子 Team のメンバーは、親 Team が @mentioned された場合にも通知を受けるので、複数グループの人とのコミュニケーションがシンプルになります。
たとえば Team の構造が「従業員 > エンジニアリング > アプリケーションエンジニアリング > アイデンティティ」となっているなら、エンジニアリングにリポジトリへの書き込みアクセスを許可すれば、アプリケーションエンジニアとアイデンティティもそのアクセス権を得ることになります。 ID Team または Organization 階層の最下位にある任意の Team に @mention すると、通知を受け取るのはその人たちだけになります。
親チームの権限とメンションを誰が共有するのかを簡単に知るには、親チームのページの [Members] タブで親チームの子チームのすべてのメンバーを見ることができます。 子チームのメンバーは、親チームの直接のメンバーではない。
Team を作るときには親を選択できます。あるいは、作成済みの Team を Organization の階層の中で移動させることもできます。 詳しくは、「Organization 階層内で Team を移動する」をご覧ください。
LDAP 同期は、最適化構成の一部として、入れ子チームの構造を転送しません。 親子Teamの関係を作りたい場合は、入れ子チームの構造を手動で再作成し、対応するLDAPグループに同期させなければなりません。 詳細については、「Team の作成」を参照してください
Organization 内で Team を入れ子にする準備
Organization がすでに既存の Team を持っている場合、その Team の上あるいは下に Team を入れ子にする前に、各 Team のリポジトリのアクセス権限を監査しておくべきです。 また、Organization に実装したい新しい構造についても考慮しておくべきです。
Team 階層の最上位では、親チームとその子チームのすべてのメンバーにとって安全なアクセス権限を、親チームのリポジトリに与えるべきです。 階層を下っていくにつれて、より注意が必要なリポジトリへの、より細かいアクセスを、子チームに許可していくことができます。
- 既存の Team からすべてのメンバーを削除する
- 各 Team のリポジトリのアクセス権限を監査して調整し、各 Team に親を与える
- 必要な新しい Team を作成し、それぞれの新 Team の親を選択し、それらにリポジトリのアクセス権を与える
- Team に直接人を追加する