共用方式為


將項目可見性變更為公用或私人

Azure DevOps 服務

瞭解如何在公用和私人之間變更 Azure DevOps 專案的可見度,並瞭解每個可見度設定的安全性和存取影響。

這很重要

只有已啟用 「允許公用專案」原則 的組織才能建立專案,或將專案的可見度變更為公用。 尚未使用該政策的組織不再可以使用該政策。 Microsoft 建議使用 GitHub 來滿足您所有的公用專案需求。

公開專案時的變更

將專案設為公開會影響權限、存取層級和可用功能。

這很重要

當您將專用專案變更為公開可見性時, 所有專案內容都會變成公開存取。 您無法選擇性地將某些儲存庫、區域路徑或建置構件保留為公用專案中的私有。

安全性和權限變更

當您將專案可見度從私人切換為公開時,會發生下列變更:

  • 忽略拒絕權限:任何明確設定為「拒絕」的權限都不會針對公用使用者強制執行
  • 授予的最低存取權限:非成員會自動獲得公共內容的基準讀取權限
  • 建置管線範圍:設定為 Project Collection 範圍的管線會自動與 Project 範圍一起執行,以增強安全性

存取層級差異

使用者類型 私人專案存取權 公共項目訪問
匿名用戶 沒有存取權 對大多數內容的唯讀存取
利害關係人 有限的 Boards 存取權,沒有 Repos 存取權 對 Repos 和 Boards 的完全訪問權限
基本使用者 測試計劃以外的完整存取權 測試計劃以外的完整存取權
基本 + 測試計劃 完整存取權,包括 Test Plans 完整存取權,包括 Test Plans

非會員的功能可用性

下表顯示非專案成員的使用者可以使用哪些功能:

服務區域 非會員訪問 註釋
儀表板 唯讀、有限的小工具 許多小部件不可用
Wiki 唯讀 完整內容可見
面板 僅讀取工作專案 隱藏的待辦專案、面板、短期衝刺
Repos 唯讀 Git 存放庫 隱藏的 TFVC 存放庫
管線 讀取建置/發行結果 編輯器和庫隱藏
測試計劃 沒有存取權 無法使用手動測試
Search 完整的搜尋功能 跨可存取內容
設定 沒有存取權 隱藏的管理功能

必要條件

變更專案可見度之前,請確定您符合下列需求:

Requirement 詳細資訊
許可 專案集合系統管理員 或組織擁有者
組織設定 必須啟用「允許公用專案」原則
安全性審查 完成 移轉檢查清單

移轉前安全性檢查清單

警告

公用專案會公開歷程記錄資料,包括舊認可、工作專案和建置記錄。 在公開專案之前,請仔細審查所有內容。

組織和身分曝光

  • [ ] 會員資訊:所有組織成員的姓名和電子郵件地址都會可見
  • [ ] 組織設定:公開所有組織和專案設定的唯讀檢視
  • [ ] 處理中繼資料:組織專案中的所有選項清單值都會顯示
  • [ ] 建置歷史記錄:來自建置觸發器和公開的 Git 提交的名稱和電子郵件地址

跨專案考量

  • [ ] 連結成品:檢查可能暴露敏感資訊的私人專案連結
  • [ ] 共用資源:檢閱專案所存取的組織層級資源

內容安全性審查

工作專案和敏捷式工具

  • [ ] 歷程記錄工作專案:檢閱所有工作專案,包括已關閉的工作專案,以取得敏感性資訊
  • [ ] 區域路徑安全性:確認沒有區域路徑具有特殊安全性限制(在公共專案中忽略拒絕的權限)
  • [ ] 討論和註解:檢查所有工作專案討論是否有敏感或不適當的內容

原始程式碼儲存庫

  • [ ] 提交歷史記錄:查看整個 Git 歷史記錄是否有憑證、安全漏洞或專有程式碼
  • [ ] 提交訊息:檢查所有提交訊息是否有敏感資訊或不當內容
  • [ ] 檔案內容:確保沒有檔案包含憑證、API 金鑰或機密資料

建置和發行管線

  • [ ] 管線定義:檢閱公開的認證、內部 URL 或環境詳細資料
  • [ ] 組建記錄:檢查歷程組建記錄中是否有敏感資訊
  • [ ] 服務連線:確認沒有非成員無法存取的私人摘要相依性

構件和套件

  • [ ] 套件內容:檢閱專案範圍摘要中的所有套件,以瞭解隱私權問題
  • [ ] 摘要設定:瞭解公用專案摘要的上游設定已停用

擴充功能和自訂

  • [ ] 自訂擴充功能:驗證擴充功能是否適用於非成員
  • [ ] 工作專案表單自定義:測試具有非成員存取權的自訂控制項和欄位

步驟 1:為您的組織啟用公用專案

  1. 登入您的組織 (https://dev.azure.com/{yourorganization})。

  2. 選取組織設定

    顯示 [組織設定] 按鈕的螢幕擷取畫面

  3. 選取原則。

  4. 安全性原則下,開啟允許公用專案。

    顯示組織設定、原則頁面、安全性原則的螢幕擷取畫面

步驟 2:變更專案可見度

  1. 導覽至您的專案 (https://dev.azure.com/{yourorganization}/{yourproject})。

  2. 選取 [專案設定]

  3. 選取 [概觀]。

  4. Visibility 下拉式功能表中,選擇 PublicPrivate (公開)。

  5. 選取 [儲存]。

    顯示專案設定、概觀、可見性選項的螢幕擷取畫面。

管理公用專案中的參與者

新增專案成員

將參與者新增至公用專案的方式與私人專案相同:

  1. 移至 專案設定>[許可權]。
  2. 選取 [ 新增 ] 以邀請使用者。
  3. 指派適當的存取層級 (專案關係人、基本或基本 + 測試計劃) 。

如需詳細資訊,請參閱 將使用者新增至您的組織

外部使用者考量

當您 邀請外部使用者 加入公用專案時:

  • 他們可以存取您組織中的所有公開內容
  • 如果您在其他地方有敏感性內容,請考慮為公用專案建立個別組織

敏感內容的替代方法

選項 1:公開專案的個別組織

如果您目前的組織包含敏感資料:

  1. 建立專門用於公共專案的新組織
  2. 僅將非敏感性內容移轉至新組織
  3. 將敏感專案保留在原始私人組織中

選項 2:選擇性內容遷移

移動敏感性工作專案

  • 使用 移動工作專案功能 將敏感性專案傳輸至私人專案
  • 跨專案連結會繼續適用於成員,但對非成員保持隱藏狀態

Git 存放庫提示移轉

對於有問題歷程記錄的儲存庫,請僅移轉目前狀態:

警告

此動作會建立一個與原始儲存庫沒有連線的新儲存庫。 提取要求歷程記錄和變更追蹤會遺失。

# Clone the existing repository
git clone <original_clone_URL>
cd <repository_name>

# Ensure you're on the desired branch
git checkout main

# Remove Git history
rm -rf .git  # On Windows: rmdir /s .git

# Initialize new repository
git init

# Connect to new repository in public project
git remote add origin <new_public_repo_URL>

# Push current state as initial commit
git add .
git commit -m "Initial public release"
git push --set-upstream origin main

非會員的限制

公用專案的非成員無法執行下列動作:

  • 編輯或建立任何內容 (檔案、工作專案、管線)
  • 查看項目成員的電子郵件地址或聯繫信息
  • 存取管理設定或組態頁面
  • 在整個組織中使用進階搜尋功能
  • 在相同組織中的多個公用專案之間瀏覽
  • 收藏或關注構件

疑難排解公用專案存取權

常見問題

問題:非成員在公開專案後無法存取專案

  • 解決方案:確認組織的「允許公用專案」原則已啟用

問題:某些內容仍然受到限制

  • 解決方案:檢查可能影響特定區域的拒絕權限

問題:外部使用者無法貢獻

  • 解決方案:確保他們被新增為具有適當存取層級的專案成員

後續步驟