極狐GitLab 是 GitLab 在中國的發行版,關于中文參考文檔和資料有:
- 極狐GitLab 中文文檔
- 極狐GitLab 中文論壇
- 極狐GitLab 官網
共享項目和群組 (BASIC ALL)
- 在極狐GitLab 16.10 中,更改為在成員頁面的成員選項卡上顯示被邀請群組成員,使用名為
webui_members_inherited_users
的功能標志。默認禁用。- 功能標志
webui_members_inherited_users
在極狐GitLab 17.0 中為 JihuLab.com 和私有化部署啟用。- 功能標志
webui_members_inherited_users
在極狐GitLab 17.4 中被移除。
您可以通過邀請來共享:
- 項目到群組。
- 群組到群組。
共享項目
當您想要某個群組能訪問您的項目時,您可以邀請群組到項目。群組的直接和繼承成員可以訪問此項目,項目會變為 共享項目。
在這種情況下,繼承成員是那些從父群組繼承到被邀請群組的成員。僅有被邀請群組的成員能夠訪問共享項目。如果你想讓你所邀請的群組中的某個子群組的成員獲得對該項目的訪問權限,那你就必須邀請這個子群組。
下面的表提供了一個共享項目的成員訪問情況概述。
群組成員來源 | 訪問共享項目 |
---|---|
共享群組的直接成員 | {check-circle} Yes |
共享群組的繼承成員 | {check-circle} Yes |
子群組的直接成員,但是不是共享群組的成員 | {dotted-circle} No |
子群組的繼承成員,但是不是共享群組的成員 | {dotted-circle} No |
您邀請的群組的可見性級別必須至少與項目具有相同嚴格程度。比如,您可以邀請:
- 一個 私有 群組到一個 私有 項目。
- 一個 私有 群組到一個 內部 項目。
- 一個 私有 群組到一個 公開 項目。
- 一個 內部 群組到一個 內部 項目。
- 一個 內部 群組到一個 公開 項目。
- 一個 公開 群組到一個 公開 項目。
如果項目的頂級群組不允許項目被共享到群組之外,受邀群組或子群組必須在項目的命名空間中。
成員訪問和角色
當您邀請群組到項目時,以下成員將獲得訪問權限:
- 直接群組成員。
- 繼承群組成員。
- 與受邀群組共享的其他群組的成員。
每個成員的訪問權限基于:
- 在群組中分配的角色。
- 您在邀請時選擇的最高項目角色。
如果群組成員在群組中的角色權限少于最高項目角色,則成員保持其群組角色的權限。例如,如果您將具有來賓角色的成員添加到具有最高角色為維護員的項目中,該成員在項目中的權限僅為來賓角色。
此外:
- 在群組的頁面上,項目會列在 共享項目 選項卡上。
- 在項目的 成員 頁面上,群組會列在 群組 選項卡上。此列表會包含公共和私有群組。
- 在項目的 成員 頁面上,受邀群組的成員會列在 成員 選項卡上。
- 在使用配額頁面,個人資料旁邊帶有 項目邀請 徽章的成員,會被計入共享項目頂級群組的計費成員數量中。
在極狐GitLab 16.1 及后續版本,受邀群組的名稱和成員關系源將在 成員 和 群組 選項卡上被遮擋,除非發生以下情況:
- 受邀群組是公開的。
- 當前用戶是受邀群組的成員。
- 當前用戶是當前群組的所有者或當前項目的維護者/所有者。
NOTE:受邀群組的名稱和成員關系來源會對沒有權限訪問受邀群組的成員所遮擋。然而,項目維護者和所有者即使無法訪問私有受邀群組,也可以看到私有受邀群組成員的來源。此行為是意在幫助項目維護者和所有者更好地管理他們擁有的項目的成員。
示例
命名空間 group/subgroup01/project
中的一個項目:
- 可以與
group/subgroup02
或group/subgroup01/subgroup03
分享。 - 不能與
group_abc
分享,除非項目頂級群組不允許項目被分享到群組之外。
對于由 Group 1
創建的項目:
-
Group 1
的成員可以訪問項目。 -
Group 1
的所有者可以邀請Group 2
到項目。這樣,Group 1
和Group 2
的成員都可以訪問共享項目。
邀請群組到項目
- 在極狐GitLab 16.10 中,更改為在成員頁面的成員選項卡上顯示受邀群組的成員,使用名為
webui_members_inherited_users
的功能標志。默認禁用。- 功能標志
webui_members_inherited_users
在極狐GitLab 17.0 中為 JihuLab.com 和私有化部署啟用。- 子群組和項目直接成員的訪問過期日期在極狐GitLab 17.4 中被移除。
FLAG:在私有化部署上,此功能默認可用。要為每個用戶隱藏此功能,管理員可以禁用功能標志 webui_members_inherited_users
。在 JihuLab.com 上,此功能可用。
先決條件:
- 您必須是維護者或所有者角色。
- 不能阻止項目被共享到其他群組。
- 您必須是受邀群組或子群組的成員。
要邀請群組到項目:
1.在左側導航欄,選擇 搜索或轉到,然后找到您的項目。
2.選擇 管理 > 成員。
3.選擇 邀請群組。
4.在 選擇要邀請的群組 列表中,選擇您想要邀請的群組。
5.選擇您想要為群組成員分配的最高 角色。
6.可選。選擇 訪問過期日期。從該日期開始,受邀群組將無法訪問項目。
7.選擇 邀請。
受邀群組會展示在 群組 選項卡中。您還可以使用 REST API 來 列出項目邀請的群組。
私有群組會:
- 對未獲授權的用戶進行隱藏。
- 在項目設置中顯示,用于受保護的分支、標簽和環境。
成員 選項卡顯示:
- 直接添加到項目的成員。
- 項目被添加到的群組命名空間中的繼承成員。
受邀群組的成員不會顯示在 成員 選項卡中,除非 webui_members_inherited_users
功能標志已啟用。
查看群組的共享項目
在群組中,共享項目是通過 邀請群組 操作獲取訪問權限的項目。
要查看群組的共享項目:
1.在左側導航欄,選擇 搜索或轉到,然后找到您的群組。
2.在群組頁面,選擇 共享項目 選項卡。
會展示共享項目的列表。您還可以使用 REST API 來 列出群組的共享項目。
阻止項目被共享給群組
將項目共享給群組會增加能夠邀請更多成員到項目的成員數。每個(子)群組都可以成為額外的訪問權限來源,這可能會使情況變得復雜和難以控制。
要阻止項目被共享給其他群組:
1.在左側導航欄,選擇 搜索或轉到,然后找到您的群組。
2.選擇 設置 > 通用。
3.展開 權限和群組功能 部分。
4.選擇 群組 <group_name>
中的項目不能被共享給其他群組。
5.選擇 保存更改。
當此設置啟用時:
- 它適用于所有子群組,除非被群組所有者覆蓋。
- 已添加到項目的群組將失去訪問權限。
NOTE:當您制定群組的用戶容量后,您將無法禁用此設置。
共享群組
當您想要某個群組能訪問您的群組時,您可以邀請群組到群組。受邀群組的直接成員將能訪問群組。
在您邀請群組到群組后:
-
成員 頁面的 群組選項卡 列出受邀群組。此列表包含公開和私有群組。
-
成員 頁面的 成員選項卡 列出受邀群組的成員。
-
所有受邀群組的直接成員將能訪問群組。受邀群組所獲得的權限是受邀群組原本的權限與邀請方群組所提供的權限兩者之中權限最小的那一個。
-
受邀群組的繼承成員將無法訪問邀請群組。
-
在受邀群組的使用配額頁面,受邀群組中個人資料旁邊帶有 群組邀請 徽章的直接成員,會被計入邀請方群組的計費成員數量中。
在極狐GitLab 16.1 及后續版本,受邀群組的名稱和成員關系源將在 成員 和 群組 選項卡上被遮擋,除非發生以下情況:
- 受邀群組是公開的。
- 當前用戶是受邀群組的成員。
- 當前用戶是當前群組的所有者或當前項目的維護者/所有者。
NOTE:對于沒有權限訪問受邀群組的成員,受邀群組的名稱和成員來源信息會被隱藏。然而,即使群組所有者無法訪問私有受邀群組,他們也可以看到私有受邀群組成員的來源。此行為是出于幫助群組所有者更好地管理他們擁有的群組成員。
示例
User A
是 Group 1
的直接成員,并且具有群組的維護者角色。
Group 2
邀請具有開發者角色的 Group 1
。
User A
在 Group 2
中具有開發者角色。
User B
是 Group 1
的繼承成員,當 Group 1
被邀請時,User B
將無法訪問 Group 2
。
邀請群組到群組
- 子群組和項目的直接成員訪問過期日期移除于極狐GitLab 17.4。
和邀請群組到項目類似,您可以邀請群組到其他群組。
先決條件:
- 您必須是受邀群組和邀請群組的成員。
要邀請群組到群組:
1.在左側導航欄,選擇 搜索或前往 并找到您的群組。
2.選擇 管理 > 成員。
3.選擇 邀請群組。
4.在 選擇要邀請的群組 下拉菜單中,選擇您想要邀請的群組。
5.選擇您想要邀請群組的最高 角色 或 自定義角色。
6.可選。選擇 訪問過期日期。從該日期起,受邀群組將無法訪問群組。
7.選擇 邀請。
移除被邀請的群組
要移除被邀請群組:
1.在左側導航欄,選擇 搜索或前往 并找到您的群組。
2.選擇 管理 > 成員。
3.選擇 群組 選項卡。
4.在您要移除群組的右側,選擇 移除群組({remove})。
當您從群組中移除被邀請群組時:
- 被邀請群組的直接成員將不再訪問您的群組。
- 被邀請群組的成員將不再計入您的群組的計費成員數。
阻止邀請群組層級之外的群組
您可以對一個頂級群組進行配置,使其下屬的子群組和項目無法邀請該頂級群組層級結構之外的其他群組。此選項僅適用于頂級群組。
比如,在如下的群組和項目結構中:
- Animals > Dogs > Dog Project
- Animals > Cats
- Plants > Trees
如果你阻止了 Animals 群組邀請其層級結構之外的群組:
-
Dogs 可以邀請群組 Cats.
-
Dogs 不能邀請群組 Trees.
-
Dog 項目 可以邀請群組 Cats.
-
Dog 項目 不能邀請群組 Trees.
為了防止邀請該群組層級結構之外的群組:
1.在左側導航欄,選擇 搜索或前往 并找到您的群組。
2.選擇 設置 > 通用。
3.展開 權限和群組功能 部分。
4.選擇 成員不能邀請群組 <group_name>
和其子群組之外的群組。
5.選擇 保存更改。
為群組設置協作
如果您想要和您群組中項目上的外部用戶協作,請考慮如下最佳實踐:
-
根據阻止需求來邏輯化創建您的群組和子群組結構。避免創建不需要的群組。
-
如果您有很多用戶需要管理,可以考慮將用戶分組,與組織項目分組分開。將用戶組分享給需要訪問的群組和項目。
-
謹慎考慮您邀請到項目中的群組。只邀請需要訪問的群組,以防止過度分享和維護安全。
-
當您邀請群組到項目時:
- 根據需要設置適當的最高角色。建議分配最小權限,而不是默認分配最高角色。
- 被邀請群組的子群組成員不會訪問項目。您可能更愿意單獨邀請子群組。
-
檢查具有多個群組訪問權限的用戶在項目中的最高角色。為了避免無意的高權限,您可能需要更改用戶的角色。
-
定期檢查群組對共享項目的訪問權限,并根據需要更新。如果群組不再需要訪問項目,請移除它。