將項目可見性變更為公用或私人
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.啟用專案的匿名存取
將私人專案變更為公用專案之前,請執行下列步驟,為您的組織啟用匿名存取:
登入您的組織 (
https://dev.azure.com/{yourorganization}
)。選取組織設定。
選取 [ 原則],然後開啟 [ 允許公用專案 安全策略]。
2.設定項目可見性
登入您的專案 (
https://dev.azure.com/{Your_Oganization}{Your_Project}
)。選取 [項目設定>概>觀可見性] 下拉功能表,選擇 [公用] 或 [私人],然後選取 [儲存]。
公用專案的有限UI元素
非成員會隱藏下列使用者介面元素。
服務
隱藏的UI元素
Boards
工作專案可供使用,但待辦專案、面板、短期衝刺、查詢和方案會隱藏。
Repos
隱藏 Team Foundation 版本控制 (TFVC) 存放庫。
管線
組建和版本可供使用,但連結庫、工作組、部署群組、套件和 XAML 建置系統會隱藏。 建置和發行管線的管線和工作編輯器無法使用。 只有處於公開預覽狀態的新版本頁面可供使用。
測試計劃
測試計劃和相關聯的手動和雲端負載測試功能會隱藏。
分析
分析檢視會隱藏,且非成員不支援 Analytics OData 摘要。 一般不支援Power BI整合。
設定
[設定] 和 [系統管理] 頁面會隱藏。
非成員無法執行下列工作:
- 編輯或建立成品,例如檔案、工作專案和管線。
- 我的最愛並遵循現有的成品。
- 檢視專案成員的電子郵件位址和其他聯繫人資訊;非成員只能看到名稱和圖片。 此外,依身分識別篩選成品清單。
- 在相同組織中兩個公用項目之間切換;非成員只能使用 URL 直接移至公用專案。
- 跨組織執行程式代碼或工作專案搜尋。
將參與者新增至公用專案
若要參與公用專案,請新增為成員,並獲指派項目關係人、基本或基本 + 測試計劃存取權。 如需詳細資訊,請參閱 關於存取層級。
您可以 用與私人專案相同的方式新增項目成員 。 請確定您瞭解邀請外部用戶的影響。 如果您已建立專案,系統會自動指派給 Project Administrators 群組。
部分移轉
如果您的組織包含敏感性數據,則不應該開啟公用項目原則。 建議您建立完全獨立的組織來裝載您的公用專案。
將工作專案移至私人專案
如果有任何工作專案很敏感,您可以將 這些專案 移至個別的私人專案。 跨專案鏈接會繼續為成員工作,但非成員無法存取內容,因為它位於私人專案中。
如果您有大量敏感性工作專案,請考慮將目前的專案保留為私人專案。 相反地,在另一個組織中建立新的公用專案。 您可以使用Microsoft所維護的 開放原始碼WiMigrator來完成移轉工作專案。
僅移轉 Git 秘訣
如果因為有問題的歷程記錄而無法共用存放庫,請考慮在不同的專案中對新存放庫執行僅限提示的移轉。 將包含有問題的存放庫的專案保留為私用。 在您不介意公開的專案中建立新的存放庫。
警告
- 新的存放庫不會連線到舊的存放庫。
- 您未來無法輕易地移轉它們之間的變更。
- 您的提取要求歷程記錄不會移轉。
請執行下列步驟,只移轉 Git 提示:
- 複製現有的存放庫:
git clone <clone_URL>
。 - 請確定您位於存放庫的根目錄中:
cd <reponame>
。 - 請確定您位於您想要從中開始的分支提示:
git checkout main
。 - 刪除 Git 數據:
rmdir /s .git
在 Windows、rm -rf .git
macOS 或 Linux 上。 - 初始化新的 Git 存放庫:
git init
。 - 在您的公用專案中建立新的空白存放庫。
- 將新的存放庫新增為來源遠端:
git remote add origin <new_clone_URL>
。 - 推送新的存放庫:
git push --set-upstream origin main
。