設定初始群組、成員和使用權限
使用群組和使用權限的外掛程式檔案,可以設定 Team 專案的初始安全性設定。 作法是定義工作以建立安全性群組、讓群組變成巢狀群組、將成員指派給群組,以及允許或拒絕每個群組的特定使用權限。 除了執行這些工作之外,您還可以指定集合層級、專案層級、專案類別和事件訂閱區域的初始安全性設定。
Microsoft Solutions Framework (MSF) 的流程範本會將數個使用權限指派給預設群組。 您可以自訂群組和使用權限的外掛程式檔案,以修改這些指派。 如需這個外掛程式的詳細資訊,請參閱群組和權限外掛程式。
本主題內容
使用群組、成員和群組使用權限項目,將使用權限定義和指派給群組
Team Foundation Server 中定義的群組巨集和預設群組
將群組設為巢狀以及將成員指派給群組的範例
指派集合層級使用權限
指派專案層級使用權限
指派控制區域路徑的使用權限
指派控制反覆項目路徑的使用權限
指派管理事件訂閱的使用權限
如需如何設定 Team 專案功能區域 (例如 Team Foundation Build、Team Foundation 版本控制和 Visual Studio Lab Management) 之初始安全性設定的詳細資訊,請參閱控制功能區域的存取權。
如需如何自訂工作項目類型以允許或拒絕存取群組或使用者的詳細資訊,請參閱管理用於建立或修改工作項目的使用權限。
如需如何管理 Visual Studio Application Lifecycle Management (ALM) 之使用者和群組以及控制存取權的詳細資訊,請參閱設定使用者、群組和使用權限。
使用群組、成員和群組使用權限項目,定義群組和保護群組安全
您可以使用 group 和 member 項目,在 Team Foundation Server 中指定新安全性群組,以及將成員加入至該群組。 您可以使用群組 permission 項目,將使用權限指派給群組及該群組的成員。 您必須在其對應容器項目內封裝上述所有項目:groups、members 和 permissions。 您可以使用上述所有項目的下列語法結構:
<group name="Group Name" description="Description of Group"></group>
<member name="MemberName"></member>
<permission name="PermissionName" class="ClassName " allow="True | False"/>
下表描述 group、member 和群組 permission 項目的屬性。 這些項目只能用於群組和使用權限外掛程式檔案。
項目 |
屬性 |
說明 |
---|---|---|
group |
name |
指定所建立的群組名稱。 |
description |
向其他使用者描述群組用途。 |
|
member |
name |
指定加入為另一個群組成員的群組名稱。 您可以建立群組,並將它們預先填入下列任何類型的成員:
如需在指定預設群組時所使用格式的詳細資訊,請參閱本主題後面的 Team Foundation Server 中定義的預設群組。 |
permission |
name |
識別所套用的權限。 如需所支援使用權限的清單,請參閱本主題後面的下列各節:
|
class |
識別授與群組使用權限的類別或區域。 下列是有效值:
|
|
allow |
使用 true 或 false 值,指出允許還是拒絕使用權限。 |
|
path |
識別套用使用權限的區域路徑或反覆項目路徑的節點。 只有當 class 設定為 CSS_NODE 或 ITERATION_NODE 時,這個屬性才適用。 |
Team Foundation Server 中定義的群組巨集和預設群組
下表列出的巨集,可用來指定 Team Foundation Server 中所定義的預設群組。
注意事項 |
---|
您只能在群組和使用權限的外掛程式中指定下表的巨集。 使用外掛程式進行組建、版本控制或 Lab Management 以指派使用權限時,無法指定這些巨集。 |
預設群組 |
巨集 |
---|---|
Project Collection Administrators |
[SERVER]\$$PROJECTCOLLECTIONADMINGROUP$$ [SERVER]\$$TEAMFOUNDATIONADMINGROUP$$ |
Project Collection Service Accounts |
[SERVER]\$$PROJECTCOLLECTIONSERVICESGROUP$$ |
Project Collection Build Service Accounts |
[SERVER]\$$PROJECTCOLLECTIONBUILDSERVICESGROUP$$ |
Project Collection Build Administrators |
[SERVER]\$$PROJECTCOLLECTIONBUILDADMINSGROUP$$ |
Project Administrators |
$$PROJECTADMINGROUP$$ [$$PROJECTNAME$$]\$$PROJECTADMINGROUP$$ |
將群組設為巢狀以及將成員指派給群組範例
下列範例顯示如何設定命名為 TestGroup1、TestGroup2 和 TestGroup3 的群組。 在此範例中,您會將 TestGroup1 加入為 TestGroup2 的成員。 若要讓此程式碼有效,您必須先定義 TestGroup1,再定義 TestGroup2。
<task id="GroupCreation1"
<taskXml>
<groups>
<group name="TestGroup1" description="Test group 1. Contains no members out of the box.">
<permissions>
<permission name="GENERIC_READ" class="PROJECT" allow="true" />
</permissions>
</group>
<group name="TestGroup2" description="Test group 2. Contains TestGroup1 and Project Administrators.">
<permissions>
<permission name="GENERIC_READ" class="PROJECT" allow="true" />
</permissions>
<members>
<member name="TestGroup1" />
<member name="$$PROJECTADMINGROUP$$" />
</members>
</group>
<group name="TestGroup3" description="Test group 3. Contains DOMAIN\USER, DOMAIN\GROUP, Project Administrators, and Project Collection Build Service Accounts.">
<permissions>
<permission name="GENERIC_READ" class="PROJECT" allow="true" />
</permissions>
<members>
<member name="DOMAIN\USER" />
<member name="DOMAIN\GROUP" />
<member name="[$$PROJECTNAME$$]\$$PROJECTADMINGROUP$$" />
<member name="[SERVER]\$$PROJECTCOLLECTIONBUILDSERVICESGROUP$$" />
</members>
</group>
</groups>
</taskXml>
</task>
指派集合層級使用權限
您可以使用群組 permission 項目和 NAMESPACE 類別,指派集合層級使用權限。 這些使用權限控制可在 Team 專案中使用之資源的存取權。 您只能針對下列類別的使用者,設定集合層級使用權限:
集合層級使用者和群組 (例如 Project Collection Administrators)
執行 Team Foundation 的伺服器上已加入至集合層級的專案層級群組
您所建立並加入至集合層級的自訂群組
如需在指定群組時所使用的格式,請參閱本主題前面的 Team Foundation Server 中定義的預設群組。
注意事項 |
---|
設定這些使用權限的方式如下:以滑鼠右鍵按一下 Team 總管中的伺服器,然後按一下 [安全性];開啟或使用 Team Foundation 的管理主控台;或是使用 TFSSecurity 和 tf 命令列工具。 如需詳細資訊,請參閱集合層級群組、使用 TFSSecurity 變更群組和權限和Permission 命令。 |
下列範例顯示如何將集合層級使用權限授與 Team 專案的專案管理員。
<group name="PROJECTADMINGROUP" description="Members of this group can add, modify, and delete items within the team project.">
<permissions>
<permission name="GENERIC_READ" class=" NAMESPACE " allow="true" />
<permission name="WORK_ITEM_WRITE" class=" NAMESPACE " allow="true" />
<permission name="MANAGE_LINK_TYPES" class=" NAMESPACE " allow="true" />
<permission name="MANAGE_TEMPLATE" class=" NAMESPACE " allow="true" />
<permission name="MANAGE_TEST_CONTROLLERS" class=" NAMESPACE " allow="true" />
</permissions>
</group>
下表描述您可以進行指派的集合層級使用權限。
注意事項 |
---|
在 MSF 流程範本中,預設不會指派任何集合層級使用權限。 |
使用權限 |
說明 |
---|---|
DIAGNOSTIC_TRACE |
修改追蹤設定。 可以變更追蹤設定,以收集更詳細的 Team Foundation Server Web 服務診斷資訊。 |
CREATE_PROJECTS |
建立新專案。 可以在 Team 專案集合中建立專案。 |
GENERIC_WRITE |
編輯集合層級資訊。 可以針對 Team 專案集合中的使用者和群組,編輯集合層級使用權限。 具有這個使用權限的使用者可以執行下列工作:
此外,除非其他使用權限明確拒絕具有這個使用權限的使用者存取權,否則這些使用者可以修改版本控制的使用權限,而且具有版本控制中所有檔案的寫入存取權。 |
MANAGE_TEMPLATE |
管理流程範本。 可以對 Team 專案集合下載、建立、編輯和上載流程範本。 |
MANAGE_TEST_CONTROLLERS |
管理測試控制器。 可以註冊和取消註冊 Team 專案集合的測試控制器。 |
MANAGE_LINK_TYPES |
管理工作項目連結類型。 可以加入、移除和變更工作項目的連結類型。 |
GENERIC_READ |
檢視集合層級資訊。 可以檢視集合層級群組的成員資格以及這些使用者的使用權限。 |
指派專案層級使用權限
您只能在群組和使用權限外掛程式檔案中指派專案層級使用權限。 您可以使用群組 permission 項目和 PROJECT 類別,指派這些使用權限。 這些使用權限控制單一專案資源的存取權。 您可以將存取權授與 Windows 中的使用者和群組、Team Foundation 中的群組,以及您先前在「群組和權限」外掛程式檔案中定義的群組。 如需在指定群組時所使用的格式,請參閱本主題前面的 Team Foundation Server 中定義的預設群組。
注意事項 |
---|
在建立 Team 專案之後,以滑鼠右鍵按一下專案,並依序按一下 [Team 專案設定] 和 [安全性],就可以在 Team 總管中設定這些使用權限。 您也可以使用 TFSSecurity 命令列工具來設定這些使用權限。 如需詳細資訊,請參閱管理使用權限。 |
下列範例會示範如何將許多使用權限授與 Team 專案的 [Contributors] 群組。
<group name="Contributors" description="Members of this group can add, modify, and delete items within the team project.">
<permissions>
<permission name="GENERIC_READ" class="PROJECT" allow="true" />
<permission name="DELETE_TEST_RESULTS" class="PROJECT" allow="true" />
<permission name="PUBLISH_TEST_RESULTS" class="PROJECT" allow="true" />
<permission name="VIEW_TEST_RESULTS" class="PROJECT" allow="true" />
<permission name="MANAGE_TEST_ENVIRONMENTS" class="PROJECT" allow="true" />
<permission name="MANAGE_TEST_CONFIGURATIONS" class="PROJECT" allow="true" />
</permissions>
</group>
下表描述您可以指派的專案層級使用權限,並指出在 MSF 流程範本中進行的預設指派。
使用權限 |
說明 |
Readers |
Contributors |
Builders |
---|---|---|---|---|
GENERIC_READ |
檢視專案層級資訊。 可以檢視專案層級群組的成員資格以及這些成員的使用權限。 |
|||
VIEW_TEST_RESULTS |
檢視測試回合。 可以檢視此節點中的測試計劃。 |
|||
MANAGE_TEST_CONFIGURATIONS |
管理測試組態。 可以建立和刪除 Team 專案的測試組態。 |
|||
MANAGE_TEST_ENVIRONMENTS |
管理測試環境。 可以建立和刪除 Team 專案的測試環境。 |
|||
PUBLISH_TEST_RESULTS |
建立測試回合。 可以加入和移除 Team 專案的測試結果,以及加入或修改 Team 專案的測試回合。 |
|||
DELETE_TEST_RESULTS |
刪除測試回合。 可以刪除 Team 專案的排程測試。 |
|||
DELETE |
刪除 Team 專案。 可以從 Team Foundation Server 中刪除使用者擁有此使用權限的專案。 |
|||
GENERIC_WRITE |
編輯專案層級資訊。 可以編輯 Team Foundation Server 中使用者和群組的專案層級使用權限。 |
指派控制區域路徑的使用權限
您可以使用群組 permission 項目和 CSS_NODE 類別,指派用以控制區域定義之存取權的使用權限。 這些使用權限控制單一專案之類別結構的存取權。 您可以將存取權授與 Windows 中的使用者和群組、Team Foundation 中的群組,以及您先前在「群組和權限」外掛程式檔案中定義的群組。 如需在指定群組時所使用格式的詳細資訊,請參閱本主題前面的 Team Foundation Server 中定義的預設群組。
注意事項 |
---|
在建立 Team 專案之後,以滑鼠右鍵按一下專案,並依序按一下 [區域和反覆項目]、[區域] 索引標籤和 [安全性],就可以在 Team 總管中設定這些權限。您可以將權限指派給階層內不同層級的節點。 您也可以使用 TFSSecurity 命令列工具來設定這些使用權限。 如需詳細資訊,請參閱管理使用權限。 |
下列範例會示範如何將許多使用權限授與 Team 專案的 [Contributors] 群組。
<group name="Contributors" description="Members of this group can add, modify, and delete items within the team project.">
<permissions>
<permission name="GENERIC_READ" class="CSS_NODE" allow="true" />
<permission name="WORK_ITEM_READ" class="CSS_NODE" allow="true" />
<permission name="WORK_ITEM_WRITE" class="CSS_NODE" allow="true" />
<permission name="MANAGE_TEST_PLANS" class="CSS_NODE" allow="true" />
</permissions>
</group>
下表描述您可以指派的使用權限,用以控制專案區域和反覆項目節點之階層結構的存取權。 此表格也會指出在 MSF 流程範本中進行的預設指派。
注意事項 |
---|
追蹤工作項目的部分作業需要多個使用權限。 例如,您需要有多項使用權限才能刪除節點。 |
使用權限 |
說明 |
Readers |
Contributors |
Builders |
---|---|---|---|---|
GENERIC_READ |
檢視此節點。 可以檢視區域節點的安全性設定。 |
|||
WORK_ITEM_READ |
檢視此節點中的工作項目。 可以檢視 (但不能變更) 指派給區域節點的工作項目。 |
|||
WORK_ITEM_WRITE |
編輯此節點中的工作項目。 可以編輯指派給區域節點的工作項目。 |
|||
MANAGE_TEST_PLANS |
管理測試計劃。 可以建立和編輯指派給區域節點的測試計劃。 如果測試計劃尚未執行,則也可以刪除它們。 |
|||
CREATE_CHILDREN |
建立並排列子節點的順序。 可以建立區域節點。 同時具有這個使用權限和 GENERIC_WRITE 使用權限的使用者,可以移動或重新排列任何子區域節點。 |
|||
DELETE |
刪除此節點。 可以刪除區域節點。 擁有這個使用權限,同時針對另一個節點具有 GENERIC_WRITE 使用權限的使用者可以刪除區域節點,並重新分類所刪除節點中的現有工作項目。 如果所刪除的節點具有子節點,則也會一併刪除那些節點。 |
|||
GENERIC_WRITE |
編輯此節點。 可以設定區域節點的使用權限,以及重新命名區域節點。 |
指派控制反覆項目路徑的使用權限
您可以使用群組 permission 項目和 ITERATION_NODE 類別,指派用以控制反覆項目路徑之存取權的使用權限。 這些使用權限控制單一專案之里程碑版本或反覆項目的存取權。 您可以將存取權授與 Windows 中的使用者和群組、Team Foundation 中的群組,以及您先前在「群組和權限」外掛程式檔案中定義的群組。 如需在指定群組時所使用格式的詳細資訊,請參閱本主題前面的 Team Foundation Server 中定義的預設群組。
注意事項 |
---|
在建立 Team 專案之後,以滑鼠右鍵按一下專案,並依序按一下 [區域和反覆項目]、[反覆項目] 索引標籤和 [安全性],就可以在 Team 總管中設定這些使用權限。 您可以將使用權限指派給階層內不同層級的節點。 您也可以使用 TFSSecurity 命令列工具來設定這些使用權限。 如需詳細資訊,請參閱管理使用權限。 |
下列範例顯示如何將數個使用權限授與 Team 專案的 Contributors 群組:
<group name="Contributors" description="Members of this group can add, modify, and delete items within the team project.">
<permissions>
<permission name="GENERIC_READ" class="ITERATION_NODE" allow="true" />
<permission name="GENERIC_WRITE" class=" ITERATION _NODE" allow="true" />
<permission name=" CREATE_CHILDREN " class=" ITERATION _NODE" allow="true" />
</group>
下表描述您可以指派的使用權限,用以控制專案反覆項目節點之階層結構的存取權。 因為 MSF 流程範本未指定任何 ITERATION_NODE 使用權限,所以所有小組成員都可以建立、檢視和刪除反覆項目節點。
注意事項 |
---|
追蹤工作項目的部分作業需要多個使用權限。 例如,您需要有多項使用權限才能刪除節點。 |
使用權限 |
說明 |
---|---|
GENERIC_READ |
檢視此節點。 可以檢視節點的安全性設定。 |
CREATE_CHILDREN |
建立並排列子節點的順序。 可以建立反覆項目節點。 同時具有這個使用權限和 GENERIC_WRITE 使用權限的使用者,可以移動或重新排列任何反覆項目節點。 |
DELETE |
刪除此節點。 可以刪除反覆項目節點。 擁有這個使用權限,同時針對另一個節點具有 GENERIC_WRITE 使用權限的使用者可以刪除反覆項目節點,並重新分類所刪除節點中的現有工作項目。 如果所刪除的節點具有子節點,則也會一併刪除那些節點。 |
GENERIC_WRITE |
編輯此節點。 可以設定反覆項目節點的使用權限,以及重新命名節點。 |
指派管理事件訂閱的使用權限
您可以使用群組 permission 項目和 EVENT_SUBSCRIPTION 類別,指派用以控制專案警示之存取權的使用權限。 這些使用權限控制單一 Team 專案之事件服務的存取權。 您可以將存取權授與 Windows 中的使用者和群組、Team Foundation 中的群組,以及您先前在「群組和權限」外掛程式檔案中定義的群組。 如需在指定群組時所使用格式的詳細資訊,請參閱本主題前面的 Team Foundation Server 中定義的預設群組。
下列範例會示範如何將許多使用權限授與 Team 專案的 [Contributors] 群組。
<group name="Contributors" description="Members of this group can add, modify, and delete items within the team project.">
<permissions>
<permission name="GENERIC_READ" class="EVENT_SUBSCRIPTION" allow="true" />
<permission name="GENERIC_WRITE" class=" EVENT_SUBSCRIPTION" allow="true" />
<permission name="UNSUBSCRIBE" class=" EVENT_SUBSCRIPTION" allow="true" />
</permissions>
</group>
下表描述您可以指派的使用權限,用以控制事件訂閱的存取權。
注意事項 |
---|
在 MSF 流程範本中,預設不會指派任何事件訂閱使用權限。 所有小組成員都可以檢視、訂閱和取消訂閱專案警示。 |
使用權限 |
說明 |
---|---|
GENERIC_READ |
可以檢視警示。 |
GENERIC_WRITE |
可以變更警示設定。 |
UNSUBSCRIBE |
可以取消訂閱警示。 |