添加和管理安全组

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

安全组命令

命令 说明
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。
  • org: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 支持的提供商对现有组的引用。 如果 缺少名称源 ID ,则为必需。
  • :引用希望新创建的组加入的组的描述符的逗号分隔列表。
  • 名称:新安全组的名称。 如果 缺少 origin-idemail-id ,则为必需。
  • origin-id:使用 OriginID 创建新组,作为对 Microsoft Entra 支持的提供程序的现有组的引用。 如果 缺少名称电子邮件 ID ,则为必需。
  • 项目:应在其中创建组的项目的名称或 ID。
  • 范围:在项目或组织级别创建组。 接受的值是组织和项目(默认值)。

示例

以下命令在项目 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 安全组列表 命令。
  • yes:可选。 不提示确认。

示例

以下命令将删除具有指定描述符的安全组,并且不会提示进行确认。

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

列出安全组

可以使用 az devops security group list 命令列出项目或组织中的所有安全组。

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

可选参数

  • continuation-token:如果单个页面中无法返回更多结果,则结果集将包含用于检索下一组结果的延续标记。
  • 项目:列出特定项目的组。
  • 范围:列出项目或组织级别的组。 接受的值是组织和项目(默认值)。
  • 主题类型:以逗号分隔的用户主题子类型列表,以减少检索到的结果。 可以将描述符的初始部分(在点前)作为筛选器,例如 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:必需。 安全组描述符。

示例

以下命令以表格式显示项目有效用户安全组的详细信息

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 security group update 命令更新安全组的名称和说明。

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

参数

  • id:必需。 安全组描述符。
  • description:可选。 安全组的新说明。 如果 缺少名称 ,则为必需。
  • 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 安全组成员成员身份添加命令将成员添加到安全组

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:必需。 需要其成员身份详细信息的安全组描述符或用户电子邮件地址。
  • 关系:可选。 获取组的成员或成员信息。 接受的值是 成员成员

示例

以下命令列出指定安全组的成员,并按表格式显示结果。

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 安全组成员身份删除命令从安全组中删除成员。

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

参数

  • group-id:必需。 需要从中删除成员的组的描述符。
  • member-id:必需。 要删除的用户的组或电子邮件地址的描述符。
  • yes:可选。 不提示确认。

示例

以下命令从指定的安全组中删除用户 contoso@contoso.com ,而不会提示确认。

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