添加和管理安全组
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