添加和管理安全组

Azure DevOps Services

安全组用于管理权限和访问权限,如 权限、访问权限和安全组入门。 例如,为参与者组或项目管理员组的成员分配了这些组允许的权限。

Azure DevOps 预配置了默认安全组。 可以使用 az devops 安全组 命令为组织或项目添加和管理安全组。 使用此命令执行以下任务。

  • 创建新的安全组
  • 查看安全组和安全组详细信息
  • 更新或删除安全组
  • 管理组和用户的安全组成员身份

注意

本文仅适用于 Azure DevOps Services。 对于 Azure DevOps Server,可以使用 TFSSecurity 命令管理安全组。

先决条件

  • 权限:是 项目集合管理员 安全组的成员。 有关令牌的详细信息,请参阅 安全命名空间和权限参考
  • 工具:按照 azure DevOps CLI入门 中所述安装 Azure DevOps CLI 扩展。 使用 az login登录到 Azure DevOps。

安全组命令

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

对于所有命令,以下参数是可选的,本文中提供的示例中未列出。

  • 检测:自动检测组织。 接受的值: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}]

可选参数

  • 说明:新安全组的说明。
  • 电子邮件 ID:使用电子邮件地址创建新组,作为从 Microsoft Entra 支持的提供程序对现有组的引用。 如果缺少 名称origin-id,则是必需的。
  • :引用希望新创建的组加入的组的描述符的逗号分隔列表。
  • 名称:新安全组的名称。 如果缺少 源 ID电子邮件 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 安全组列表 命令。
  • :可选。 不要提示确认。

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

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]

可选参数

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

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

参数

  • ID:必需。 安全组描述符。
  • 说明:可选。 安全组的新说明。 如果缺少 名称,则是必需的。
  • 名称:可选。 安全组的新名称。 如果缺少 说明,则为必需。

以下命令使用指定的描述符更改安全组的名称,并使用 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

参数

  • 组 ID:必需。 要向其添加成员的组的描述符。
  • 成员 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]

参数

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

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

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