プロジェクトのメンバー

メンバーとは、プロジェクトにアクセスできるユーザーやグループのことです。

各メンバーにはロールが与えられ、プロジェクトで何ができるかが決まります。

メンバーシップの種類

ユーザーはさまざまな方法でグループやプロジェクトのメンバーになることができます。

メンバーシップタイプ入会プロセス
直接ユーザーは現在のグループまたはプロジェクトに直接追加されます。
継承ユーザーは、現在のグループまたはプロジェクトに追加された先祖グループまたはプロジェクトのメンバーです。
直接共有ユーザーは、現在のグループまたはプロジェクトに共有されているグループまたはプロジェクトのメンバーです。
継承共有ユーザーは、現在のグループまたはプロジェクトに共有されているグループまたはプロジェクトの祖先のメンバーです。
flowchart RL subgraph Group A A(Direct member) B{{Shared member}} subgraph Project A H(1. Direct member) C{{2. Inherited member}} D{{4. Inherited member}} E{{3. Shared member}} end A-->|Direct membership of Group A\nInherited membership of Project A|C end subgraph Group C G(Direct member) end subgraph Group B F(Direct member) end F-->|Group B\nshared with\nGroup A|B B-->|Inherited membership of Project A|D G-->|Group C shared with Project A|E

継承されたメンバーシップ

プロジェクトがグループに属している場合、プロジェクトのメンバーはグループからロールを継承します。

Project members page

この例では:

  • 3人のメンバーがプロジェクトにアクセスできます。
  • ユーザー0はレポーターで、プロジェクトを含むdemoグループからプロジェクトのロールを継承しています。
  • ユーザー1はプロジェクトに直接所属しています。ソース]列では、[直接]メンバーとしてリストされています。
  • Administratorは、オーナーであり、すべてのグループのメンバーです。彼らは、demoグループからプロジェクトでのロールを継承しています。

ユーザーが

  • プロジェクトの直接メンバーである場合、[有効期限]フィールドと[最大ロール]フィールドはプロジェクト上で直接更新できます。
  • 親グループから継承されたメンバーの場合、有効期限と最大ロールのフィールドは親グループで更新する必要があります。

メンバシップと可視性の権利

メンバーシップの種類によって、グループやプロジェクトのメンバーには、グループやプロジェクトに対するさまざまな可視レベルや権利が与えられます。

アクショングループメンバー継承グループメンバー直接共有グループメンバー継承共有グループメンバー
ボードの生成
上位グループのイシューを見る
上位グループのラベルを表示
上位グループのマイルストーンの表示
他のグループへの共有   
他のプロジェクトと共有可能
グループを他のメンバーと共有

以下の例では、User

  • subgroup の直接メンバー。
  • subsubgroup の継承メンバ。
  • subgroup-2 およびsubgroup-3の間接メンバ。
  • subsubgroup-2 およびsubsubgroup-3の間接継承メンバー。
graph TD classDef user stroke:green,color:green; root --> subgroup --> subsubgroup root-2 --> subgroup-2 --> subsubgroup-2 root-3 --> subgroup-3 --> subsubgroup-3 subgroup -. shared .-> subgroup-2 -. shared .-> subgroup-3 User-. member .- subgroup class User user

プロジェクトへのユーザーの追加

ユーザーをプロジェクトに追加することで、直接メンバーとなり、アクションを実行する権限が与えられます。

前提条件

  • オーナーまたはメンテナーのロールを持っている必要があります。

プロジェクトにユーザーを追加するには

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 管理 > メンバーを選択します。
  3. メンバーを招待] を選択します。
  4. ユーザーが

    • GitLabアカウントを持っている場合、ユーザー名を入力してください。
    • GitLabアカウントをお持ちでない方は、メールアドレスを入力してください。
  5. ロールを選択してください。
  6. オプションです。アクセスの有効期限を選択します。その日付以降、ユーザーはプロジェクトにアクセスできなくなります。

    アクセス期限を選択した場合、プロジェクトメンバーはアクセス期限が切れる7日前にメールで通知を受け取ります。

    caution
    メンバーにメンテナーのロールを与え、有効期限を選択した場合、そのメンバーはそのロールにいる間、すべての権限を持ちます。これには、メンテナー ロールでの期間を延長する機能も含まれます。
  7. 招待を選択します。ユーザーを招待した場合は、ユーザーを招待します:

    • GitLab ユーザー名を使って招待した場合、そのユーザーがメンバーリストに追加されます。
    • メールアドレス、招待状がメールアドレスに送られ、アカウントを作成するよう促されます。招待が受け入れられなかった場合、GitLabは2日後、5日後、10日後にリマインダーメールを送信します。承認されなかった招待は90日後に自動的に削除されます。

割り当てられるロール

割り当て可能なロールの上限は、グループのオーナーロールかメンテナーロールかによって異なります。例えば、設定できる最大ロールは以下の通りです:

  • Owner (50)です。プロジェクトのオーナーロールを持っている場合。
  • Maintainer (40), プロジェクトでメンテナーのロールを持っている場合。

GitLab 14.8以前では、プロジェクトの直接メンバーは最大でメンテナーのロールを持ちます。オーナーロールはグループに対してのみ追加することができます。

プロジェクトへのグループの追加

プロジェクトにグループを追加すると、すべてのグループメンバー(直接または継承)がプロジェクトにアクセスできるようになります。各メンバーのアクセス権は

  • グループ内で割り当てられたロール。
  • グループを招待する際に選択する最大ロール。

グループメンバがプロジェクトロールの最大値よりも少ない権限を持つグループロールを持つ場合、メンバはそのグループロールの権限を保持します。例えば、最大ロールがメンテナーのプロジェクトにゲスト・ロールのメンバーを追加した場合、そのメンバーはプロジェクトでゲスト・ロールの権限しか持ちません。

前提条件:

  • メンテナーまたはオーナーのロールを持っている必要があります。
  • プロジェクトを他のグループと共有することを妨げてはいけません。

プロジェクトにグループを追加するには:

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 管理 > メンバーを選択します。
  3. グループを招待] を選択します。
  4. グループを選択します。
  5. グループ内のユーザーの最高ロールを選択します。
  6. オプション。アクセスの有効期限を選択します。この日付以降、グループはプロジェクトにアクセスできなくなります。
  7. 招待]を選択します。

グループのメンバーは [メンバー] タブには表示されません。メンバー]タブに表示されます:

  • プロジェクトに直接割り当てられているメンバー。
  • プロジェクトがグループ・ネームスペースで作成された場合は、そのグループのメンバー。

別のプロジェクトからのメンバーのインポート

別のプロジェクトのメンバーを自分のプロジェクトにインポートできます。インポートされたプロジェクトメンバーは、インポート元のプロジェクトと同じ権限を保持します。

前提条件

  • メンテナーまたはオーナーのロールを持っている必要があります。

インポートするメンバーのプロジェクトでのロールが以下の場合:

  • ターゲット・プロジェクトのインポート先のメンバのロールが「メンテナー」である場合、ソース・ プロジェクトでオーナー・ロールを持つメンバは、メンテナー・ロールでインポートされます。
  • Owner の場合、ソース・プロジェクトで Owner ロールを持つメンバは Owner ロールでインポートされます。

ユーザーをインポートするには

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 管理 > メンバーを選択します。
  3. プロジェクトからのインポートを選択します。
  4. プロジェクトを選択します。あなたがメンテナーであるプロジェクトだけを表示できます。
  5. プロジェクトメンバーのインポートを選択します。

成功メッセージが表示されたら、ページを更新して新しいメンバーを表示します。

プロジェクトからのメンバーの削除

ユーザーが

  • プロジェクトの直接メンバーである場合、プロジェクトから直接削除できます。
  • 親グループから継承されたメンバーは、親グループ自体からのみ削除できます。

前提条件:

  • を持つダイレクト・メンバーを削除するには:
    • メンテナー、開発者、レポーター、ゲストのロールを持つ直接メンバーを削除するには、メンテナーのロールが必要です。
    • オーナーロール、あなたはオーナーロールを持っている必要があります。
  • オプションです。そのメンバーに割り当てられているすべてのイシューおよびマージリクエストから、そのメンバーの割り当てを解除します。

プロジェクトからメンバーを削除するには

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 管理 > メンバーを選択します。
  3. 削除したいプロジェクトメンバーの横で、メンバーを削除を選択します。
  4. オプション。確認ダイアログで、関連するイシューやマージリクエストからもこのユーザーの割り当てを解除する チェックボックスを選択します。
  5. 非公開プロジェクトからの機密情報の漏えいを防ぐために、メンバーが非公開リポジトリをフォークしていないか、Webhook を作成していないかを確認します。既存のフォークはアップストリームプロジェクトからの変更を受け取り続け、Webhook は更新を受け取り続けます。グループ内のプロジェクトがグループ外にフォークされないようにプロジェクトを設定することもできます。
  6. メンバの削除] を選択します。

削除されたユーザーが再度招待できないようにします。

メンテナーやオーナーのロールを持つ悪意のあるユーザーは、GitLab管理者が削除したグループやプロジェクトに再び招待できるというレースコンディションを悪用することができます。

この問題を避けるために、GitLab管理者は次のことができます:

  • GitLab Railsコンソールから悪意のあるユーザーセッションを削除します。
  • 悪意のあるユーザーになりすまします:
    • ユーザーをプロジェクトから削除します。
    • GitLab からユーザーをログアウトします。
  • 悪意のあるユーザーアカウントをブロックします。
  • 悪意のあるユーザーアカウントを削除します。
  • 悪意のあるユーザーアカウントのパスワードを変更します。

メンバーのフィルタリングとソート

プロジェクト内のメンバーをフィルタリング、ソートすることができます。

継承メンバの表示

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 管理 > メンバーを選択します。
  3. メンバーのフィルタ] ボックスで、Membership = Inheritedを選択します。
  4. Enterを押します。

Project members filter inherited

ダイレクトメンバーの表示

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 管理 > メンバーを選択します。
  3. メンバーのフィルタ] ボックスで、Membership = Directを選択します。
  4. Enterを押します。

Project members filter direct

名前、ユーザー名、Eメールでメンバーを検索できます。

Project members search

並び替え

アカウント付与されたアクセス最大ロール最終サインインの昇順または降順でメンバーを並べ替えることができます。

Project members sort

プロジェクトへのアクセス要求

GitLabユーザーはプロジェクトのメンバーになることを申請することができます。

  1. 左のサイドバーで、Search を選択するか、または go to を選択して、メンバーになりたいプロジェクトを探します。
  2. プロジェクト名で「アクセスをリクエスト」を選択します。

Request access button

最近アクティブになったプロジェクトのメンテナーまたはオーナーにメールが送信されます。最大10人のプロジェクトメンテナーまたはオーナーに通知されます。どのプロジェクトオーナーやメンテナーも、リクエストを承認したり、拒否したりできます。プロジェクトメンテナーはオーナーロールアクセス要求を承認することはできません。

プロジェクトに直接のオーナーやメンテナーがいない場合、通知はプロジェクトグループの最も最近アクティブになったオーナーに送られます。

リクエストが承認される前に気が変わった場合は、「アクセスリクエストの撤回」を選択してください。

ユーザーがプロジェクトにアクセス要求できないようにします。

ユーザーがプロジェクトにアクセスできないようにすることができます。

前提条件

  • プロジェクトオーナーであること。
  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 設定] > [全般]を選択します。
  3. 可視性]、[プロジェクト機能]、[権限]を展開します。
  4. プロジェクトの可視性]で、[ユーザーがアクセスを要求できる]を選択します。
  5. 変更を保存を選択します。

グループでのプロジェクト共有

ユーザーを一人ずつ追加する代わりに、グループ全体でプロジェクトを共有できます。