將專案可見度變更為公用或私人

Azure DevOps Services

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

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

存取限制為未登入的使用者,通常稱為匿名或公用使用者。 也有使用者已登入 Azure DevOps,但不屬於專案的一部分。 這兩種使用者類別都受到限制的唯讀存取權,如下表所述。

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

  • 無法辨識標示 為 [拒絕 ] 的許可權。 自動授與給非成員的許可權會設定可指派給任何專案成員的最低功能層級。
  • 如果組建管線設定為 Project 集合 範圍,它會改為使用 Project 範圍執行,這樣可降低惡意使用者取得建置服務驗證權杖存取權的風險。
  • 專案關係人可以完整存取公用專案中的 Repos Code 功能,但在私人專案中沒有存取權。
  • 專案關係人可以完整存取公用專案中的 Boards Work ,但只有私人專案中的部分存取權。 如需詳細資訊,請參閱專案關係人存取快速參考
  • 基本 + 測試計劃使用者可以檢 視和執行測試計劃 測試的測試 。 基本使用者必須將其存取層級升級至基本 + 測試計劃以取得完整存取權,其中包括建立測試計劃並新增測試案例的功能。
中樞/ 設定 非member 存取 專案關係人存取 基本存取 讀取者存取權 參與者存取權 專案管理員存取
儀表板 read (許多小工具無法使用) partial 完整 讀取 可讀寫的 read-write-administer
Wiki 讀取 完整 完整 讀取 可讀寫的 read-write-administer
董事會(工作) 讀取 partial 完整 讀取 可讀寫的 read-write-administer
Repos (程式碼) 讀取 完整 完整 讀取 可讀寫的 read-write-administer
管線 (組建和發行) 讀取 完整 完整 讀取 可讀寫的 Read-Write-管理員ister
測試計劃 沒有存取權 沒有存取權 部分存取 (請參閱資料表前的最後一個專案符號) 讀取 可讀寫的 Read-Write-管理員ister
通知 沒有存取權 完整 完整 參閱 可讀寫的 read-write-administer
搜尋​​ 完整 完整 完整 完整 完整 完整
設定 不允許存取 完整 完整 讀取 讀取 Read-Write-管理員ister

必要條件

移轉檢查清單

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

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

類別

指引

組織身分識別和設定

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

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

跨專案物件連結

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

敏捷工具和工作專案

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

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

程式碼

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

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

建置及發行

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

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

Test

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

分析和儀表板

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

工件

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

擴充

確認您的專案體驗是否有任何重要的延伸模組。 例如,您有工作專案表單上的控制項,以特定方式轉譯資料嗎? 是否有自訂延伸模組會公開重要詳細資料?

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

1.啟用專案的匿名存取

您必須先為組織啟用匿名存取,才能將私人專案變更為公用專案。

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

  2. 選取組織設定

    Screenshot showing highlighted Organization settings button.

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

    Screenshot showing Organization settings, Policy page, Security policies flow.

2.設定專案可見度

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

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

    Screenshot showing Project Settings, Overview, Visibility flow.

公用專案的存取層級和無法使用的功能

專案成員可以根據指派的存取層級存取功能。 非成員/公用使用者會自動獲得有限的存取權。 若要參與公用專案,您必須新增為該專案的成員,並獲指派專案關係人、基本或基本 + 測試計劃存取權。 存取層級會決定您可以存取的使用者介面。 您指派的安全性群組會決定您可以練習的功能。 如需詳細資訊,請參閱 關於存取層級

您可以使用 與私人專案相同的方式新增專案成員 。 請務必瞭解邀請外部使用者 存取專案的意義 。 如果您建立專案,系統會自動指派給 Project 管理員istrators 群組。

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

服務

隱藏的 UI 元素

面板

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

Repos

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

管線

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

Test Plans

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

分析

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

設定

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

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

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

部分移轉

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

將工作專案移至私人專案

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

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

僅移轉 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

下一步