共用方式為


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

Azure DevOps Services

在本文中,瞭解如何將專案的可見性變更為公用或私人。

當您將私人專案切換至公開可見度時,其所有內容都會變成公用。 您無法選擇性地保留特定存放庫、區域路徑或建置資料夾私用。

安全性

當您將私人專案切換至公用專案時,專案成員會經歷下列變更:

  • 許可權:無法辨識標示 為拒絕 的許可權。 非成員會自動獲得可指派給任何項目成員的最低層級功能。
  • 建置管線:如果組建管線設定為 Project 集合 範圍,則會改為使用 Project 範圍執行,降低惡意使用者取得建置服務驗證令牌存取的風險。
  • 項目關係人
    • 存放庫:項目關係人具有公用專案中這些功能的完整存取權,但在私人專案中沒有存取權。
    • 面板:項目關係人具有公用專案中的完整存取權,但只有私人專案中的部分存取權。 如需詳細資訊,請參閱專案關係人存取快速參考
  • 基本 + 測試計劃使用者:基本 + 測試計劃使用者可以從 Test Plans 檢視及執行測試。 基本使用者可以將其存取層級升級至基本 + 測試計劃以取得完整存取權,包括建立測試計劃並新增測試案例的功能。

存取

未登入的使用者(匿名/公用使用者)和已登入的使用者,但不是項目的成員(非項目成員),則存取會受到限制。 下表概述這兩種用戶類別,稱為「非成員」,會提供有限的唯讀存取權。

中樞/ 設定 非member 存取 項目關係人存取 基本存取 讀取者存取權 參與者存取權 專案管理員存取權
儀表板 讀取、+ 許多小工具無法使用 partial 完整 已讀 可擦寫的 read-write-administer
Wiki 已讀 完整 完整 已讀 可擦寫的 read-write-administer
面板 已讀 partial 完整 已讀 可擦寫的 read-write-administer
Repos 已讀 完整 完整 已讀 可擦寫的 read-write-administer
管線 已讀 完整 完整 已讀 可擦寫的 read-write-administer
測試計劃 沒有存取權 沒有存取權 部分存取 已讀 可擦寫的 read-write-administer
通知 沒有存取權 完整 完整 已讀 可擦寫的 read-write-administer
Search 完整 完整 完整 完整 完整 完整
設定 沒有存取權 完整 完整 已讀 已讀 read-write-administer

必要條件

移轉檢查清單

大部分的私人專案都包含大量的歷程記錄數據。 舊的工作專案、早期認可和先前的組建管線可能包含您不想公開共享的資訊。

下列檢查清單指出您可能想要檢閱的專案,再將項目公開。 它也提供將工作專案或檔案移轉至新專案的秘訣,讓您只能公開目前和未來的內容。

類別

指引

組織身分識別和設定

了解使用者可取得下列資源的存取權,以及組織的詳細數據:

  • 身分識別:每個成員新增至組織和電子郵件位址的所有成員清單。
  • 設定:所有組織和項目設定的唯讀檢視。
  • 處理元數據:組織中所有專案中的所有選擇清單值。
  • 建置和發行:觸發他們的人員名稱,加上身分識別,包括內嵌在 Git 認可中的電子郵件位址。
  • 認可和工作專案:內嵌資訊,例如名字、姓氏和電子郵件位址。

跨項目物件連結

檢查項目之間是否有鏈接,因為私人項目中連結成品的詳細數據會顯示在公用專案中。 您可以使用下列連結類型:分支、組建、變更集、認可、在組建中找到、整合於組建、提取要求和已建立版本的專案。 標題和名稱會在下列連結類型中公開:版本化專案、分支、Wiki 頁面、提取要求和工作專案。

敏捷工具和工作專案

確認您的工作專案,甚至關閉的專案不包含機密詳細數據:未公開的安全性缺陷、認證和客戶數據。 工作專案會在從私人專案移轉至公用專案時維護其歷程記錄。 所有討論和描述皆可供使用。 檢查沒有任何包含有問題的語音。

確認您的區域路徑都沒有特殊的鎖定安全性設定。 公用專案中不會強制執行拒絕的許可權,因此受限制的區域路徑會變成公用。

代碼

確認您的存放庫歷程記錄中沒有敏感性詳細數據:未修補的安全性錯誤、認證和程序代碼,您無權散發。

所有檔案內容和認可訊息都可以使用。 檢查沒有任何包含有問題的語音。 如果您不習慣公開整個存放庫,您可以將提示移轉至另一個專案。 如需詳細資訊,請參閱 小費移轉的指示。

建置及發行

確認您的管線不會公開敏感數據:認證/秘密、模糊 URL 和私人環境名稱。

確認非成員不需要存取您的私人摘要。 組建仍然可以存取摘要,但非成員無法存取。 如果您需要將組建管線移轉至新專案,您可以使用 YAML 匯入和匯出它們

Test

瞭解公用專案中的非成員無法使用手動和雲端負載測試功能。

分析和儀錶板

請考慮建置適用於公眾的儀錶板。 某些 小工具無法 供非成員使用。

成品

確認任何限定於專案的摘要中,沒有任何套件具有隱私權考慮。 限定於專案之摘要中的所有套件都會變成公用。 項目公開后,所有限定於專案的摘要現有上游設定都會停用。

擴充

確認您的項目體驗是否有任何重要的延伸模組。 例如,您有工作項目窗體上的控件,以特定方式轉譯數據嗎? 是否有自定義延伸模組會公開重要詳細數據?

藉由測試,確認每個延伸模組的作者都將其提供給非成員使用。 如果沒有,請要求擴充功能作者新增對非成員的支援。

1.啟用專案的匿名存取

將私人專案變更為公用專案之前,請執行下列步驟,為您的組織啟用匿名存取:

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

  2. 選取組織設定

    顯示醒目提示 [組織設定] 按鈕的螢幕快照。

  3. 選取 [ 原則],然後開啟 [ 允許公用專案 安全策略]。

    顯示組織設定、原則頁面、安全策略流程的螢幕快照。

2.設定項目可見性

  1. 登入您的專案 (https://dev.azure.com/{Your_Oganization}{Your_Project})。

  2. 選取 [項目設定>>觀可見性] 下拉功能表,選擇 [公用] 或 [私人],然後選取 [儲存]。

    顯示項目設定、概觀、可見度流程的螢幕快照。

公用專案的有限UI元素

非成員會隱藏下列使用者介面元素。

服務

隱藏的UI元素

Boards

工作專案可供使用,但待辦專案、面板、短期衝刺、查詢和方案會隱藏。

Repos

隱藏 Team Foundation 版本控制 (TFVC) 存放庫。

管線

組建和版本可供使用,但連結庫、工作組、部署群組、套件和 XAML 建置系統會隱藏。 建置和發行管線的管線和工作編輯器無法使用。 只有處於公開預覽狀態的新版本頁面可供使用。

測試計劃

測試計劃和相關聯的手動和雲端負載測試功能會隱藏。

分析

分析檢視會隱藏,且非成員不支援 Analytics OData 摘要。 一般不支援Power BI整合。

設定

[設定] 和 [系統管理] 頁面會隱藏。

非成員無法執行下列工作:

  • 編輯或建立成品,例如檔案、工作專案和管線。
  • 我的最愛並遵循現有的成品。
  • 檢視專案成員的電子郵件位址和其他聯繫人資訊;非成員只能看到名稱和圖片。 此外,依身分識別篩選成品清單。
  • 在相同組織中兩個公用項目之間切換;非成員只能使用 URL 直接移至公用專案。
  • 跨組織執行程式代碼或工作專案搜尋。

將參與者新增至公用專案

若要參與公用專案,請新增為成員,並獲指派項目關係人、基本或基本 + 測試計劃存取權。 如需詳細資訊,請參閱 關於存取層級

您可以 用與私人專案相同的方式新增項目成員 。 請確定您瞭解邀請外部用戶的影響。 如果您已建立專案,系統會自動指派給 Project Administrators 群組。

部分移轉

如果您的組織包含敏感性數據,則不應該開啟公用項目原則。 建議您建立完全獨立的組織來裝載您的公用專案。

將工作專案移至私人專案

如果有任何工作專案很敏感,您可以將 這些專案 移至個別的私人專案。 跨專案鏈接會繼續為成員工作,但非成員無法存取內容,因為它位於私人專案中。

如果您有大量敏感性工作專案,請考慮將目前的專案保留為私人專案。 相反地,在另一個組織中建立新的公用專案。 您可以使用Microsoft所維護的 開放原始碼WiMigrator來完成移轉工作專案。

僅移轉 Git 秘訣

如果因為有問題的歷程記錄而無法共用存放庫,請考慮在不同的專案中對新存放庫執行僅限提示的移轉。 將包含有問題的存放庫的專案保留為私用。 在您不介意公開的專案中建立新的存放庫。

警告

  • 新的存放庫不會連線到舊的存放庫。
  • 您未來無法輕易地移轉它們之間的變更。
  • 您的提取要求歷程記錄不會移轉。

請執行下列步驟,只移轉 Git 提示:

  1. 複製現有的存放庫: git clone <clone_URL>
  2. 請確定您位於存放庫的根目錄中: cd <reponame>
  3. 請確定您位於您想要從中開始的分支提示: git checkout main
  4. 刪除 Git 數據: rmdir /s .git 在 Windows、 rm -rf .git macOS 或 Linux 上。
  5. 初始化新的 Git 存放庫: git init
  6. 在您的公用專案中建立新的空白存放庫。
  7. 將新的存放庫新增為來源遠端: git remote add origin <new_clone_URL>
  8. 推送新的存放庫: git push --set-upstream origin main

下一步