新增和管理安全組

Azure DevOps Services

安全組是用來管理許可權和存取權,如開始使用許可權、存取權和安全組中所述。 例如,參與者群組或 Project 管理員 istrators 群組的成員會獲指派這些群組所允許的許可權。

Azure DevOps 已預先設定預設的安全性群組。 您可以使用 az devops 安全組命令,為組織或專案 新增和管理安全組 。 使用此命令來執行下列工作。

  • 建立新的安全性群組
  • 檢視安全組和安全組詳細數據
  • 更新或刪除安全組
  • 管理群組和使用者的安全組成員資格

注意

本文僅適用於 Azure DevOps Services。 針對 Azure DevOps Server,您可以使用 TFSSecurity 命令來管理安全組

必要條件

  • 若要新增和管理安全組,您必須是 Project Collection 管理員 istrators 安全組的成員。
  • 您必須已安裝 Azure DevOps CLI 擴充功能,如開始使用 Azure DevOps CLI 中所述
  • 使用 az login登入 Azure DevOps。
  • 如需本文中的範例,請設定默認組織,如下所示: az devops configure --defaults organization=YourOrganizationURL

安全組命令

Command 描述
az devops security group create 建立 Azure DevOps 安全組。
az devops security group delete 刪除 Azure DevOps 安全組。
az devops security group list 列出專案或組織中的所有群組。
az devops security group show 顯示群組詳細數據。
az devops security group update 更新安全組的名稱和描述。
az devops security group membership add 將成員新增至安全組。
az devops security group membership list 列出群組或用戶的成員資格。
az devops security group membership remove 從安全組移除成員。

下列參數是所有命令的選擇性參數,但未列於本文中提供的範例中。

  • detect:自動偵測組織。 接受的值:false、true。 預設為 true。
  • 組織:Azure DevOps 組織 URL。 您可以使用 az devops configure -d organization=ORG_URL 來設定預設組織。 如果未設定為預設,或透過 git 組態挑選,則為必要專案。範例: --org https://dev.azure.com/MyOrganizationName/

建立安全組

您可以使用 az devops 安全組 create 命令來建立安全組

az devops security group create [--description]
                                [--email-id]
                                [--groups]
                                [--name]
                                [--origin-id]
                                [--project]
                                [--scope {organization, project}]

選擇性參數

  • 描述:新安全組的描述。
  • email-id:使用電子郵件地址作為 Microsoft Entra 支援提供者現有群組的參考,建立新的群組。 如果 遺漏名稱origin-id ,則為必要專案。
  • groups:以逗號分隔的描述元清單,參考您希望新建立的群組加入群組。
  • name:新安全組的名稱。 如果 遺漏 origin-idemail-id ,則為必要專案。
  • origin-id:使用 OriginID 作為 Microsoft Entra 支援提供者現有群組的參考,建立新的群組。 如果 遺漏名稱電子郵件標識碼 ,則為必要專案。
  • 項目:應該在其中建立群組的專案名稱或標識碼。
  • 範圍:在專案或組織層級建立群組。 接受的值是組織和專案(預設值)。

範例

下列命令會在專案 MyFirstProject 中建立帳戶管理安全組,並以數據表格式顯示結果。

az devops security group create --name "Account Management" --project MyFirstProject --description "Management team focused on creating and maintaining customer services" --output table

Name                                 Description
-----------------------------------  ---------------------------------------------------------------------
[MyFirstProject]\Account Management  Management team focused on creating and maintaining customer services

刪除安全組

您可以使用 az devops 安全組 delete 命令來刪除安全組

az devops security group delete --id
                                [--yes]

參數

  • id:必要。 安全組描述元。 若要取得描述元,請使用 az devops 安全組 list 命令。
  • :選擇性。 請勿提示確認。

範例

下列命令會刪除具有指定描述元的安全組,而且不會提示確認。

az devops security group delete --id vssgp.Uy0xLTktMTU1MTM3NDI0NS0xODI5NDgwMzA1LTEzNjM2MTczNTEtMjI0NzE1OTUyMC03ODEzNDk2MjItMC0wLTAtMC0x --yes

列出安全組

您可以使用 az devops 安全組 list 命令,列出專案或組織中的所有安全組。

az devops security group list [--continuation-token]
                              [--project]
                              [--scope {organization, project}]
                              [--subject-types]

選擇性參數

  • continuation-token:如果單一頁面中無法傳回更多結果,結果集將會包含接續令牌,以便擷取下一組結果。
  • 專案:列出特定專案的群組。
  • 範圍:列出專案或組織層級的群組。 接受的值是組織和專案(預設值)。
  • subject-types:使用者主旨子類型的逗號分隔清單,以減少擷取的結果。 您可以提供描述元的初始部分(在點之前)做為篩選,例如 vssgp,aadgp。

範例

下列命令會列出 MyFirstProject所有安全組的名稱和描述項,並以表格格式顯示結果。

az devops security group list --project MyFirstProject --output table

Name                                     Descriptor
---------------------------------------  --------------------------------------------------------------------------------------------------------------------------------------------------
[MyFirstProject]\Contributors            vssgp.Uy0xLTktMTU1MTM3NDI0NS0zMjgyMTE0Mzg4LTcyMDc3NjM2LTI5MzA1OTM5MTEtMTI2ODYyOTM0My0xLTE0MzUxMDc1MzctMzkwMDAzNTkwNS0zMTk5MDU1NDY1LTM4MDE2ODQ3MzM
[MyFirstProject]\Project Valid Users     vssgp.Uy0xLTktMTU1MTM3NDI0NS0xODI5NDgwMzA1LTEzNjM2MTczNTEtMjI0NzE1OTUyMC03ODEzNDk2MjItMC0wLTAtMC0z
[MyFirstProject]\Account Management      vssgp.Uy0xLTktMTU1MTM3NDI0NS0xODI5NDgwMzA1LTEzNjM2MTczNTEtMjI0NzE1OTUyMC03ODEzNDk2MjItMS0zNDU1MDI4NTE4LTI5Nzg5OTAxNTYtMjI4OTU2NzYyOS0xOTM2NDU3NTYw
[MyFirstProject]\Project Team            vssgp.Uy0xLTktMTU1MTM3NDI0NS0zMjgyMTE0Mzg4LTcyMDc3NjM2LTI5MzA1OTM5MTEtMTI2ODYyOTM0My0xLTM0OTQwNjM0ODktMjg4NDE3MTA4Mi0yMjkxMTIwNTYwLTM3NDc2NDkyNA
[MyFirstProject]\Readers                 vssgp.Uy0xLTktMTU1MTM3NDI0NS0zMjgyMTE0Mzg4LTcyMDc3NjM2LTI5MzA1OTM5MTEtMTI2ODYyOTM0My0xLTQ0MzQzMTA1My0yMTcyODUzNTc2LTI1MjY0NzgwNjMtMzY1NjU0NjczNQ
[MyFirstProject]\Account Administrators  vssgp.Uy0xLTktMTU1MTM3NDI0NS0xODI5NDgwMzA1LTEzNjM2MTczNTEtMjI0NzE1OTUyMC03ODEzNDk2MjItMS02NTAxNzIxNjctMzk4MTU5MTEwNC0zMjE1MTIzNjI0LTEyMTMyOTQwNQ
[MyFirstProject]\Project Administrators  vssgp.Uy0xLTktMTU1MTM3NDI0NS0xODI5NDgwMzA1LTEzNjM2MTczNTEtMjI0NzE1OTUyMC03ODEzNDk2MjItMC0wLTAtMC0x
[MyFirstProject]\Build Administrators    vssgp.Uy0xLTktMTU1MTM3NDI0NS0zMjgyMTE0Mzg4LTcyMDc3NjM2LTI5MzA1OTM5MTEtMTI2ODYyOTM0My0xLTI0MDEzNTE5NjItMzM2NTg2MzA5LTI2Mzg2ODkzMDktMzk5NTQ3OTU3MQ

顯示安全組詳細數據

您可以使用 az devops 安全組 show 命令來顯示安全組的詳細數據。

az devops security group show --id

參數

  • id:必要。 安全組描述元。

範例

下列命令會以表格格式顯示 Project Valid Users 安全組的詳細數據。

az devops security group show --id vssgp.Uy0xLTktMTU1MTM3NDI0NS0xODI5NDgwMzA1LTEzNjM2MTczNTEtMjI0NzE1OTUyMC03ODEzNDk2MjItMC0wLTAtMC0z --output table

Name                                  Description
------------------------------------  ------------------------------------------------------
[MyFirstProject]\Project Valid Users  Members of this group have access to the team project.

更新安全組

您可以使用 az devops 安全組 update 命令來更新安全組的名稱和描述。

az devops security group update --id
                                [--description]
                                [--name]

參數

  • id:必要。 安全組描述元。
  • 描述:選擇性。 安全組的新描述。 如果 遺漏名稱 ,則為必要專案。
  • name:選擇性。 安全組的新名稱。 如果 遺漏描述 ,則為必要。

範例

下列命令會使用指定的描述元變更安全組的名稱,並以 YAML 格式顯示結果。

az devops security group update --id vssgp.Uy0xLTktMTU1MTM3NDI0NS0xODI5NDgwMzA1LTEzNjM2MTczNTEtMjI0NzE1OTUyMC03ODEzNDk2MjItMS0zNDU1MDI4NTE4LTI5Nzg5OTAxNTYtMjI4OTU2NzYyOS0xOTM2NDU3NTYw --name "Management Team" --output yaml

description: Management team focused on creating and maintaining customer services
descriptor: vssgp.Uy0xLTktMTU1MTM3NDI0NS0xODI5NDgwMzA1LTEzNjM2MTczNTEtMjI0NzE1OTUyMC03ODEzNDk2MjItMS0zNDU1MDI4NTE4LTI5Nzg5OTAxNTYtMjI4OTU2NzYyOS0xOTM2NDU3NTYw
displayName: Management Team
domain: vstfs:///Classification/TeamProject/5417a1c3-4b04-44d1-aead-50774b9dbf5f
isCrossProject: null
isDeleted: null
isGlobalScope: null
isRestrictedVisible: null
legacyDescriptor: null
localScopeId: null
mailAddress: null
origin: vsts
originId: 8fe47a49-bfab-4356-9a85-90c5e62110be
principalName: '[MyFirstProject]\Management Team'
scopeId: null
scopeName: null
scopeType: null
securingHostId: null
specialType: null
subjectKind: group
url: https://vssps.dev.azure.com/fabrikam/_apis/Graph/Groups/vssgp.Uy0xLTktMTU1MTM3NDI0NS0xODI5NDgwMzA1LTEzNjM2MTczNTEtMjI0NzE1OTUyMC03ODEzNDk2MjItMS0zNDU1MDI4NTE4LTI5Nzg5OTAxNTYtMjI4OTU2NzYyOS0xOTM2NDU3NTYw

將成員新增至群組

您可以使用 az devops 安全組成員資格 add 命令,將成員新增至安全組

az devops security group membership add --group-id
                                        --member-id

參數

  • group-id:必要。 要加入成員之群組的描述元。
  • member-id:必要。 要新增之使用者群組或電子郵件位址的描述項。

範例

下列命令會將使用者 contoso@contoso.com 新增至指定的安全組,並以數據表格式顯示結果。

az devops security group membership add --group-id vssgp.Uy0xLTktMTU1MTM3NDI0NS0yMjc3MTY5NTAtOTkzNjA1MTg2LTI1ODQxNTkyOTktMjYzMDUyNzA2OC0xLTQxNDY0Mzc4MzktMzgxMDM2MDM5MS0yNjE0MjU5MzI3LTI5MjI2MTc3OTA --member-id contoso@contoso.com --output table

Name                                 Type    Email
-----------------------------------  ------  -------------------
[MyFirstProject]\Account Management  group
contoso@contoso.com                  user    contoso@contoso.com

列出群組或用戶的成員資格

您可以使用 az devops 安全組成員資格清單命令來列出群組或使用者的成員資格。

az devops security group membership list --id
                                         [--relationship {memberof, members}]

參數

  • id:必要。 需要其成員資格詳細數據的安全組描述元或用戶電子郵件位址。
  • 關聯性:選擇性。 取得 群組的成員成員 資訊。 接受的值是 memberofmembers

範例

下列命令會列出指定安全組的成員,並以數據表格式顯示結果。

az devops security group membership list --id vssgp.Uy0xLTktMTU1MTM3NDI0NS0yMjc3MTY5NTAtOTkzNjA1MTg2LTI1ODQxNTkyOTktMjYzMDUyNzA2OC0xLTQxNDY0Mzc4MzktMzgxMDM2MDM5MS0yNjE0MjU5MzI3LTI5MjI2MTc3OTA --output table

Name                 Type    Email                Descriptor
-------------------  ------  -------------------  ----------------------------------------------------
contoso@contoso.com  user    contoso@contoso.com  msa.NDMzMmNjOWYtYzY4Zi03YTNlLTk2ZTktYmYwM2U4NjgxOTRh

以下是另一個範例,其中列出 Fabrikam Fiber 專案的 EMail 小組成員。

az devops security group membership list --id "[Fabrikam Fiber]\Email" --output table
Name               Type    Email                       Descriptor
-----------------  ------  --------------------------  ----------------------------------------------------
Christie Church    user    fabrikamfiber1@hotmail.com  msa.OThjODMzM2ItMmI4Ny03YTkwLThmZGItYWQwYmQ1YWE4MzJk
Raisa Pokrovskaya  user    fabrikamfiber5@hotmail.com  msa.ZmUwYjk5NmYtZTAyNS03NzBkLTgxNmYtMzk1NDQwYzViMzgw

從群組中移除成員

您可以使用 az devops 安全組成員資格 remove 命令,從安全組 中移除 成員。

az devops security group membership remove --group-id
                                           --member-id
                                           [--yes]

參數

  • group-id:必要。 需要從中移除成員之群組的描述元。
  • member-id:必要。 要移除之使用者群組或電子郵件位址的描述項。
  • :選擇性。 請勿提示確認。

範例

下列命令會從指定的安全組中移除使用者 contoso@contoso.com ,而不提示進行確認。

az devops security group membership remove --group-id vssgp.Uy0xLTktMTU1MTM3NDI0NS0yMjc3MTY5NTAtOTkzNjA1MTg2LTI1ODQxNTkyOTktMjYzMDUyNzA2OC0xLTQxNDY0Mzc4MzktMzgxMDM2MDM5MS0yNjE0MjU5MzI3LTI5MjI2MTc3OTA --member-id contoso@contoso.com --yes