Use o TFSSecurity para gerenciar grupos e permissões para Azure DevOps

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Você pode usar a ferramenta de linha de comando TFSSecurity para criar, modificar e excluir grupos e usuários em Azure DevOps Server, além de modificar permissões para grupos e usuários. Para obter informações sobre como executar essas tarefas na interface do usuário, consulte Adicionar usuários ou grupos a um projeto.

Importante

A ferramenta de linha de comando TFSSecurity foi preterida para uso com Azure DevOps Services. Embora o TFSSecurity possa funcionar para alguns cenários Azure DevOps Services, não há suporte. O método recomendado para fazer alterações em grupos de segurança e permissões para Azure DevOps Services está usando o portal da Web, a segurança az devops ou as ferramentas de linha de comando de permissão az devops ou a API REST de segurança.

Local da ferramenta de linha de comando

Azure DevOps ferramentas de linha de comando são instaladas no diretório /Tools de um servidor da camada de aplicativo Azure DevOps.

  • Azure DevOps Server 2020:%programfiles%\Azure DevOps Server 2020\Tools
  • Azure DevOps Server 2019:%programfiles%\Azure DevOps Server 2019\Tools
  • TFS 2018: %programfiles%\Microsoft Team Foundation Server 2018\Tools
  • TFS 2017: %programfiles%\Microsoft Team Foundation Server 15.0\Tools
  • TFS 2015: %programfiles%\Microsoft Team Foundation Server 14.0\Tools
  • TFS 2013: %programfiles%\Microsoft Team Foundation Server 12.0\Tools
  • TFS 2012: %programfiles%\Microsoft Team Foundation Server 11.0\Tools
  • TFS 2010: %programfiles%\Microsoft Team Foundation Server 2010\Tools

Observação

Mesmo que você esteja conectado com credenciais administrativas, você deve abrir um Prompt de Comando com privilégios elevados para executar essa função.

Permissões

/a+: Adicionar permissões

Use /a+ para adicionar permissões para um usuário ou um grupo em um grupo no nível do servidor, no nível da coleção ou no nível do projeto. Para adicionar usuários a grupos do portal da Web, consulte Definir permissões no nível do projeto ou da coleção.

tfssecurity /a+ Namespace Token Action Identity (ALLOW | DENY)[/collection:CollectionURL] [/server:ServerURL]

Pré-requisitos

Para usar o comando /a+ , você deve ter as informações de nível de coleção de exibição ou a permissão de informações no nível da instância definida como Permitir, dependendo se você estiver usando o parâmetro /collection ou /server , respectivamente. Se você estiver alterando as permissões de um projeto, também deverá ter a permissão editar informações no nível do projeto para o projeto definido como Permitir. Para obter mais informações, consulte Permissão e referência de grupos.

parâmetros

Argumento Descrição
Namespace O namespace que contém o grupo ao qual você deseja adicionar permissões para um usuário ou grupo. Você também pode usar o comando tfssecurity /a para exibir uma lista de namespaces no nível de servidor, coleção e projeto.
Identidade A identidade do usuário ou do grupo. Para obter mais informações sobre especificadores de identidade, consulte especificadores de identidade posteriormente neste artigo.
  • PERMITIR
    O grupo ou usuário pode executar a operação especificada pela Ação.
  • DENY
    O grupo ou usuário não pode executar a operação especificada pela Ação.
/collection :CollectionURL Obrigatório se /server não for usado. Especifica a URL de uma coleção de projetos no seguinte formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obrigatório se /collection não for usado. Especifica a URL de um servidor da camada de aplicativo no seguinte formato: http:// ServerName : Port / VirtualDirectoryName

Comentários

Execute este comando em um servidor da camada de aplicativo para Azure DevOps.

As entradas de controle de acesso são mecanismos de segurança que determinam quais operações um usuário, um grupo, um serviço ou um computador está autorizado a executar.

Exemplo: exibir namespaces disponíveis

O exemplo a seguir exibe quais namespaces estão disponíveis no nível do servidor para o servidor da camada de aplicativo chamado ADatumCorporation.

Observação

Os exemplos são fictícios e meramente ilustrativos. Nenhuma associação real é proposital ou inferida.

tfssecurity /a /server:ServerURL 

Saída de exemplo:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following security namespaces are available to have permissions set on them:

         Registry
         Identity
         Job
         Server
         CollectionManagement
         Warehouse
         Catalog
         EventSubscription
         Lab

    Done.

Exemplo: exibir ações disponíveis

O exemplo a seguir exibe quais ações estão disponíveis para o namespace no nível do servidor no nível da coleção.

tfssecurity /a Server /collection:CollectionURL 

Saída de exemplo:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following actions are available in the security namespace Server:
        GenericRead
        GenericWrite
        Impersonate
        TriggerEvent

    Done.

Exemplo: atribuir uma permissão no nível da instância

O exemplo a seguir concede a permissão de informações no nível da instância de exibição no nível do servidor para a implantação do ADatumCorporation para o usuário do domínio Datum1 John Peoples (Datum1\jpeoples).

tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /server:http://ADatumCorporation:8080 

Saída de exemplo:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "n:Datum1\jpeoples"...
      [U] Datum1\jpeoples (John Peoples)
    Adding the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [INSTANCE]\Team Foundation Valid Users
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [INSTANCE]\Team Foundation Service Accounts
      [+] GenericWrite                       [INSTANCE]\Team Foundation Service Accounts
      [+] Impersonate                        [INSTANCE]\Team Foundation Service Accounts
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Service Accounts
      [+] GenericRead                        [INSTANCE]\Team Foundation Administrators
      [+] GenericWrite                       [INSTANCE]\Team Foundation Administrators
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Administrators
      [+] GenericRead                        DATUM1\jpeoples

    Done.

Exemplo: atribuir uma permissão no nível da coleção

O exemplo a seguir concede a permissão de informações de nível de coleção view de nível de coleção para a coleção de projetos Collection0 para o usuário de domínio Datum1 John Peoples (Datum1\jpeoples).

tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /collection:http://ADatumCorporation:8080/Collection0

Saída de exemplo:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.
    The target Team Foundation Server is http://ADatumCorporation:8080/COLLECTION0.
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Adding the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [Collection0]\Project Collection ValidUsers
      [+] GenericRead                        [Collection0]\Project Collection Service Accounts
      [+] GenericWrite                       [Collection0]\Project Collection Service Accounts
      [+] Impersonate                        [Collection0]\Project Collection Service Accounts
      [+] TriggerEvent                       [Collection0]\Project Collection Service Accounts
      [+] GenericRead                        [Collection0]\Project Collection Administrators
      [+] GenericWrite                       [Collection0]\Project Collection Administrators
      [+] TriggerEvent                       [Collection0]\Project Collection Administrators
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [Collection0]\Project Collection Build Service Accounts
      [+] GenericRead                        DATUM1\jpeoples

    Done.

/a-: Remover um usuário ou um grupo da associação em um grupo

Use o comando /a- para remover um usuário ou um grupo da associação em um grupo no nível do servidor, no nível da coleção ou no nível do projeto. Para remover usuários de grupos do portal da Web, consulte Remover contas de usuário.

tfssecurity /a- Namespace Token Action Identity (ALLOW | DENY) [/collection:CollectionURL] [/server:ServerURI]

Pré-requisitos

Para usar o comando /a- , você deve ter as informações de nível de coleção exibir ou a permissão de informações no nível da instância definida como Permitir, dependendo se você estiver usando o parâmetro /collection ou /server , respectivamente. Se você estiver alterando as permissões de um projeto, também deverá ter a permissão editar informações no nível do projeto para o projeto definido como Permitir.

parâmetros

Argumento Descrição
Namespace O namespace que contém o grupo ao qual você deseja remover permissões para um usuário ou grupo. Você também pode usar o comando tfssecurity /a para exibir uma lista de namespaces no nível de servidor, coleção e projeto.
Identidade A identidade do usuário ou do grupo. Para obter mais informações sobre especificadores de identidade, consulte especificadores de identidade posteriormente neste artigo.
  • PERMITIR
    O grupo ou usuário pode executar a operação especificada pela Ação.
  • DENY
    O grupo ou usuário não pode executar a operação especificada pela Ação.
/collection :CollectionURL Obrigatório se /server não for usado. Especifica a URL de uma coleção de projetos no seguinte formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obrigatório se /collection não for usado. Especifica a URL de um servidor da camada de aplicativo no seguinte formato: http:// ServerName : Port / VirtualDirectoryName

Comentários

Execute este comando em um servidor da camada de aplicativo para Azure DevOps.

As entradas de controle de acesso são mecanismos de segurança que determinam quais operações um usuário, grupo, serviço ou computador está autorizado a executar em um computador ou servidor.

Exemplo: exibir namespaces no nível do servidor

O exemplo a seguir exibe quais namespaces estão disponíveis no nível do servidor para o servidor da camada de aplicativo chamado ADatumCorporation.

Observação

Os exemplos são fictícios e meramente ilustrativos. Nenhuma associação real é proposital ou inferida.

tfssecurity /a /server:ServerURL 

Saída de exemplo:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following security namespaces are available to have permissions set on them:

         Registry
         Identity
         Job
         Server
         CollectionManagement
         Warehouse
         Catalog
         EventSubscription
         Lab

    Done.

Exemplo: exibir ações disponíveis no nível da coleção

O exemplo a seguir exibe quais ações estão disponíveis para o namespace do servidor no nível da coleção.

tfssecurity /a Server /collection:CollectionURL 

Saída de exemplo:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following actions are available in the security namespace Server:
        GenericRead
        GenericWrite
        Impersonate
        TriggerEvent

    Done.

Exemplo: remover uma permissão no nível da instância

O exemplo a seguir remove a permissão de informações de nível de instância de Exibição no nível do servidor para a implantação de ADatumCorporation para o usuário de domínio Datum1 John Peoples (Datum1\jpeoples).

tfssecurity /a- Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /server:http://ADatumCorporation:8080 

Saída de exemplo:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "n:Datum1\jpeoples"...
      [U] Datum1\jpeoples (John Peoples)
    Removing the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [INSTANCE]\Team Foundation Valid Users
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [INSTANCE]\Team Foundation Service Accounts
      [+] GenericWrite                       [INSTANCE]\Team Foundation Service Accounts
      [+] Impersonate                        [INSTANCE]\Team Foundation Service Accounts
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Service Accounts
      [+] GenericRead                        [INSTANCE]\Team Foundation Administrators
      [+] GenericWrite                       [INSTANCE]\Team Foundation Administrators
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Administrators

    Done.

Exemplo: remover uma permissão no nível da coleção

O exemplo a seguir remove a permissão de informações no nível da coleção View no nível da coleção para a coleção de projetos Collection0 para o usuário de domínio Datum1 John Peoples (Datum1\jpeoples).

tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /collection:http://ADatumCorporation:8080/Collection0

Saída de exemplo:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.
    The target Team Foundation Server is http://ADatumCorporation:8080/COLLECTION0.
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Removing the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [Collection0]\Project Collection ValidUsers
      [+] GenericRead                        [Collection0]\Project Collection Service Accounts
      [+] GenericWrite                       [Collection0]\Project Collection Service Accounts
      [+] Impersonate                        [Collection0]\Project Collection Service Accounts
      [+] TriggerEvent                       [Collection0]\Project Collection Service Accounts
      [+] GenericRead                        [Collection0]\Project Collection Administrators
      [+] GenericWrite                       [Collection0]\Project Collection Administrators
      [+] TriggerEvent                       [Collection0]\Project Collection Administrators
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [Collection0]\Project Collection Build Service Accounts

    Done.

/acl: exibir a lista de controle de acesso

Use /acl para exibir a lista de controle de acesso que se aplica a um objeto específico.

tfssecurity /acl Namespace Token [/collection:CollectionURL] [/server:ServerURL]

Pré-requisitos

Para usar o comando /acl , você deve ter as informações de nível de coleção de exibição ou a permissão de informações de nível de instância de exibição definida como Permitir, dependendo se você estiver usando o parâmetro /collection ou /server , respectivamente. Para obter mais informações, consulte a referência de permissão para Azure DevOps Server.

parâmetros

Argumento Descrição
Namespace O namespace que contém o grupo ao qual você deseja exibir permissões para um usuário ou grupo.
/collection :CollectionURL Obrigatório se /server não for usado. Especifica a URL de uma coleção de projetos no seguinte formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obrigatório se /collection não for usado. Especifica a URL de um servidor da camada de aplicativo no seguinte formato: http:// ServerName : Port / VirtualDirectoryName

Comentários

Execute este comando em um servidor da camada de aplicativo para Azure DevOps.

As entradas de controle de acesso são mecanismos de segurança que determinam quais operações um usuário, um grupo, um serviço ou um computador está autorizado a executar em um computador ou servidor.

Exemplo: listar atribuições de ACL para um namespace de nível sever

O exemplo a seguir exibe quais usuários e grupos têm acesso ao token FrameworkGlobalSecurity no namespace do servidor na implantação do ADatumCorporation.

Observação

Os exemplos são fictícios e meramente ilustrativos. Nenhuma associação real é proposital ou inferida.

tfssecurity /acl Server FrameworkGlobalSecurity /server:ServerURL 

Saída de exemplo:

	TFSSecurity - Team Foundation Server Security Tool
	Copyright (c) Microsoft Corporation.  All rights reserved.
	The target Team Foundation Server is http://ADatumCorporation:8080/.
	Retrieving the access control list for object "Server"...

	Effective ACL on object "FrameworkGlobalSecurity":
	  [+] GenericRead                        [INSTANCE]\Team Foundation Valid Users
	  [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
	  [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
	  [+] GenericRead                        [INSTANCE]\Team Foundation Service Accounts
	  [+] GenericWrite                       [INSTANCE]\Team Foundation Service Accounts
	  [+] Impersonate                        [INSTANCE]\Team Foundation Service Accounts
	  [+] TriggerEvent                       [INSTANCE]\Team Foundation Service Accounts
	  [+] GenericRead                        [INSTANCE]\Team Foundation Administrators
	  [+] GenericWrite                       [INSTANCE]\Team Foundation Administrators
	  [+] TriggerEvent                       [INSTANCE]\Team Foundation Administrators
	  [+] GenericRead                        DATUM1\jpeoples

	Done.

Grupos

/g: Listar os grupos

Use /g para listar os grupos em um projeto, em uma coleção de projetos ou entre Azure DevOps Server.

tfssecurity /g [scope] [/collection:CollectionURL] [/server:ServerURL]

Pré-requisitos

Para usar o comando /g , você deve ter as informações de nível de coleção view ou a permissão de informações de nível de instância de exibição definida como Permitir, dependendo se você estiver usando o parâmetro /collection ou /server , respectivamente. Para usar o comando /g dentro do escopo de um único projeto, você deve ter a permissão exibir informações no nível do projeto definida como Permitir. Para obter mais informações, consulte Permissão e referência de grupos.

parâmetros

Argumento Descrição
scope Opcional. Especifica o URI do projeto para o qual você deseja exibir grupos. Para obter o URI de um projeto, abra o Team Explorer, clique com o botão direito do mouse no projeto, clique em Propriedades e copie toda a entrada para URL.
/collection :CollectionURL Obrigatório se /server não for usado. Especifica a URL de uma coleção de projetos no seguinte formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obrigatório se /collection não for usado. Especifica a URL de um servidor da camada de aplicativo no seguinte formato: http:// ServerName : Port / VirtualDirectoryName

Comentários

Execute este comando em um servidor da camada de aplicativo para Azure DevOps.

O comando /g do utilitário de linha de comando TFSSecurity exibe informações sobre cada grupo dentro do escopo selecionado. Esse escopo pode ser a coleção de projetos (/servidor) ou o servidor da camada de aplicativo (/instância). Se usado com o escopo de um projeto, ele exibirá informações apenas sobre os grupos associados a esse projeto.

Exemplo: exibir informações de grupo no nível da coleção

O exemplo a seguir exibe informações para todos os grupos em uma coleção de projetos.

tfssecurity /g /collection:CollectionURL

/g+: Adicionar um usuário ou outro grupo a um grupo existente

Use /g+ para adicionar um usuário ou outro grupo a um grupo existente.

tfssecurity /g+ groupIdentity memberIdentity [/collection:CollectionURL] [/server:ServerURL]

Pré-requisitos

Para usar o comando /g+ , você deve ter as informações no nível da coleção view e editar informações no nível da coleção ou exibir informações no nível da instância e editar permissões de informações no nível da instância definidas como Permitir, dependendo se você estiver usando o parâmetro /collection ou /server, respectivamente. Para obter mais informações, consulte Grupos de segurança e referência de permissão.

parâmetros

Argumento Descrição
groupIdentity Especifica a identidade do grupo. Para obter mais informações sobre especificadores de identidade válidos, consulte especificadores de identidade mais adiante neste artigo.
memberIdentity Especifica a identidade do membro. Para obter mais informações sobre especificadores de identidade válidos, consulte especificadores de identidade mais adiante neste artigo.
/collection :CollectionURL Obrigatório se /server não for usado. Especifica a URL de uma coleção de projetos no seguinte formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obrigatório se /collection não for usado. Especifica a URL de um servidor da camada de aplicativo no seguinte formato: http:// ServerName : Port / VirtualDirectoryName

Comentários

Execute este comando em um servidor da camada de aplicativo para Azure DevOps.

Você também pode adicionar usuários e grupos a um grupo existente usando o Team Explorer. Para obter mais informações, consulte Definir permissões no nível do projeto ou da coleção.

Exemplo: adicionar um usuário a um grupo no nível do servidor

O exemplo a seguir adiciona o usuário de domínio Datum1 John Peoples (Datum1\jpeoples) ao grupo Administradores do Team Foundation.

Observação

Os exemplos são fictícios e meramente ilustrativos. Nenhuma associação real é proposital ou inferida.

tfssecurity /g+ "Team Foundation Administrators" n:Datum1\jpeoples /server:http://ADatumCorporation:8080

Saída de exemplo:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "Team Foundation Administrators"...
    a [A] [INSTANCE]\Team Foundation Administrators
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Adding John Peoples to [INSTANCE]\Team Foundation Administrators...
    Verifying...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: [INSTANCE]\Team Foundation Administrators
      Description: Members of this group can perform all operations on the Team Foundation Application Instance.

    4 member(s):
      [U] Datum1\hholt (Holly Holt)
      [U] Datum1\jpeoples (John Peoples)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [INSTANCE]\Team Foundation Service Accounts

    Member of 2 group(s):
    a [A] [Collection0]\Project Collection Administrators
    e [A] [INSTANCE]\Team Foundation Valid Users

    Done.

/g-: Remover um usuário ou grupo

Use /g- para remover um usuário ou um grupo de usuários de um grupo existente.

tfssecurity /g- groupIdentity memberIdentity [/collection:CollectionURL] [/server:ServerURL]

Pré-requisitos

Para usar o comando /g- , você deve ter as informações no nível da coleção View e editar informações no nível da coleção ou exibir informações no nível da instância e editar permissões de informações no nível da instância definidas como Permitir, dependendo se você estiver usando o parâmetro /collection ou /server , respectivamente. Para obter mais informações, consulte Grupos de segurança e referência de permissão.

parâmetros

Argumento Descrição
groupIdentity Especifica a identidade do grupo. Para obter mais informações sobre especificadores de identidade válidos, consulte especificadores de identidade posteriormente neste artigo.
memberIdentity Especifica a identidade do membro. Para obter mais informações sobre especificadores de identidade válidos, consulte especificadores de identidade posteriormente neste artigo.
/collection :CollectionURL Obrigatório se /server não for usado. Especifica a URL de uma coleção de projetos no seguinte formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obrigatório se /collection não for usado. Especifica a URL de um servidor da camada de aplicativo no seguinte formato: http:// ServerName : Port / VirtualDirectoryName

Comentários

Execute este comando em um servidor da camada de aplicativo para Azure DevOps.

Você também pode adicionar usuários e grupos a um grupo existente usando o Team Explorer. Para obter mais informações, consulte Remover usuários de um grupo de projetos ou definir permissões no nível do projeto ou da coleção.

Exemplo: remover um usuário de um grupo no nível do servidor

O exemplo a seguir remove o usuário de domínio do Datum1 John Peoples (Datum1\jpeoples) do grupo de Administradores do Team Foundation.

Observação

Os exemplos são fictícios e meramente ilustrativos. Nenhuma associação real é proposital ou inferida.

tfssecurity /g- "Team Foundation Administrators" n:Datum1\jpeoples /server:http://ADatumCorporation:8080

Saída de exemplo:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "Team Foundation Administrators"...
    a [A] [INSTANCE]\Team Foundation Administrators
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Removing John Peoples from [INSTANCE]\Team Foundation Administrators...
    Verifying...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: [INSTANCE]\Team Foundation Administrators
      Description: Members of this group can perform all operations on the Team Foundation Application Instance.

    3 member(s):
      [U] Datum1\hholt (Holly Holt)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [INSTANCE]\Team Foundation Service Accounts

    Member of 2 group(s):
    a [A] [Collection0]\Project Collection Administrators
    e [A] [INSTANCE]\Team Foundation Valid Users

    Done.

/gc: Criar um grupo no nível do projeto

Use /gc em um prompt de comando para criar um grupo no nível do projeto. Para criar um grupo no nível do projeto a partir da interface do usuário, consulte Gerenciar usuários ou grupos.

tfssecurity /gc Scope GroupName [GroupDescription] [/collection:CollectionURL]

Pré-requisitos

Para usar o comando /gc , você deve ter a permissão Editar informações Project-Level para esse projeto definida como Permitir. Para obter mais informações, consulte a referência de permissão.

parâmetros

Argumento Descrição
Escopo O URI do projeto ao qual você deseja adicionar um grupo no nível do projeto. Para obter o URI de um projeto, conecte-se a ele e abra o Team Explorer, passe o mouse sobre o nome do projeto em Página Inicial e leia o endereço. Como alternativa, conecte-se ao projeto no Acesso da Web e copie o URL.
GroupName O nome do grupo novo.
Groupdescription Uma descrição do grupo do projeto. Opcional.
/collection :CollectionURL A URL da coleção de projetos. Obrigatórios. O grupo será criado dentro da coleção de projetos. O formato da URL é http:// ServerName : Port / VirtualDirectoryName / CollectionName

Comentários

Execute este comando em um servidor da camada de aplicativo para Azure DevOps.

Um grupo no nível do projeto é um grupo de segurança para seu projeto. Você pode usar grupos de projetos para conceder permissões administrativas e de leitura ou gravação que atendam aos requisitos de segurança de sua organização.

Exemplo: adicionar um grupo de segurança a um projeto

O exemplo a seguir cria um grupo, especialmente especificado pelo URI "vstfs://Classification/TeamProject/00000000-0000-0000-0000-000000000000" para o projeto. O grupo se chama "Grupo de Testes" e sua descrição é "Este grupo é para teste".

Observação

Os exemplos são fictícios e meramente ilustrativos. Nenhuma associação real é proposital ou inferida.

Você deve substituir o GUID do espaço reservado pelo URI do projeto para o qual deseja criar esse grupo. Para obter o URI de um projeto, abra o Team Explorer, clique com o botão direito do mouse no projeto, clique em Propriedades e copie todo o valor da propriedade URL.

Depois de executar o comando, você pode verificar o grupo no Team Explorer. Clique com o botão direito do mouse no projeto usado no comando, clique em Project Configurações e clique em Associações de Grupo. Na caixa de diálogo Grupos do Projeto em TeamProjectName, a lista Grupos inclui o Grupo de Teste.

Observação

Você pode usar o comando /gc para criar grupos, mas não para adicionar nenhum usuário aos grupos ou atribuir permissões. Para alterar a associação do grupo, consulte /g+: Adicionar um usuário ou outro grupo a um grupo existente e /g-: remover um usuário ou grupo. Para alterar as permissões para o grupo, consulte /a+: Adicionar permissões e /a-: Remover um usuário ou um grupo da associação em um grupo.

tfssecurity /gc "vstfs:///Classification/TeamProject/00000000-0000-0000-0000-000000000000" "Test Group" "This group is for team members who test our code" /collection:CollectionURL

/gcg: Criar um grupo no nível do servidor ou da coleção

Use o comando /gcg para criar um grupo no nível do servidor ou de coleção. Para criar um grupo no nível da coleção no portal da Web, consulte Definir permissões no nível do projeto ou da coleção.

tfssecurity /gcg GroupName [GroupDescription] [/collection:CollectionURL] [/server:ServerURL]`

Pré-requisitos

Para usar o comando /gcg , você deve ter a permissão editar informações no nível do projeto para esse projeto definida como Permitir. Para obter mais informações, consulte grupos de segurança e referência de permissão.

parâmetros

Argumento Descrição
GroupName O nome do grupo.
Groupdescription Uma descrição do grupo. Opcional.
/collection :CollectionURL Obrigatório se /server não for usado. Especifica a URL de uma coleção de projetos no seguinte formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obrigatório se /collection não for usado. Especifica a URL de um servidor da camada de aplicativo no seguinte formato: http:// ServerName : Port / VirtualDirectoryName

Comentários

Execute este comando em um servidor da camada de aplicativo para Azure DevOps.

Os grupos no nível do servidor são criados diretamente na camada de aplicativo e se aplicam a todas as coleções de projetos. O nível da coleção é criado no nível da coleção do projeto. Eles se aplicam a essa coleção e têm implicações para todos os projetos dentro da coleção. Por outro lado, os grupos de projetos se aplicam a um projeto específico dentro de uma coleção, mas não a nenhum outro projeto nessa coleção. Você pode atribuir permissões a grupos no nível do servidor para que os membros desses grupos possam executar tarefas no próprio Azure DevOps Server, como a criação de coleções de projetos. Você pode atribuir permissões a grupos de nível de coleção para que os membros desses grupos possam executar tarefas em uma coleção de projetos, como administrar usuários.

Observação

Você pode usar o comando /gcg para criar grupos, mas não pode usá-lo para adicionar usuários aos grupos ou atribuir permissões. Para obter informações sobre como alterar a associação de um grupo, consulte /g+: Adicionar um usuário ou outro grupo a um grupo existente e /g-: remover um usuário ou grupo. Para obter informações sobre como alterar as permissões para o grupo, consulte /a+: Adicionar permissões e /a-: Remover um usuário ou um grupo da associação em um grupo.

Exemplo: adicionar um grupo de segurança no nível da coleção

O exemplo a seguir cria um grupo no nível da coleção chamado "Testadores de Datum" com a descrição "A. Testadores da Datum Corporation."

Observação

Os exemplos são fictícios e meramente ilustrativos. Nenhuma associação real é proposital ou inferida.

tfssecurity /gcg "Datum Testers" "A. Datum Corporation Testers" /collection:CollectionURL

O exemplo a seguir cria um grupo no nível do servidor chamado "Auditores do Datum" com a descrição "A. Auditores da Datum Corporation."

tfssecurity /gcg "Datum Auditors" "A. Datum Corporation Auditors" /server:ServerURL

/gd: excluir um grupo no nível do servidor ou da coleção

Use /gd para excluir um grupo de nível de servidor ou coleção.

tfssecurity /gd groupIdentity [/collection:CollectionURL] [/server:ServerURL]

Pré-requisitos

Para usar o comando /gd , você deve ter as informações de nível de coleção de exibição e editar informações no nível da coleção ou as informações no nível da instância de exibição e editar permissões de informações no nível da instância definidas como Permitir, dependendo se você estiver usando o parâmetro /collection ou /server , respectivamente. Para obter mais informações, consulte grupos de segurança e referência de permissão.

parâmetros

Argumento Descrição
groupIdentity Especifica a identidade do grupo.
/collection :CollectionURL Obrigatório se /server não for usado. Especifica a URL de uma coleção de projetos no seguinte formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obrigatório se /collection não for usado. Especifica a URL de um servidor da camada de aplicativo no seguinte formato: http:// ServerName : Port / VirtualDirectoryName

Comentários

Execute este comando em um servidor da camada de aplicativo para Azure DevOps. Para modificar permissões por meio do portal da Web, consulte Definir permissões no nível do projeto ou da coleção.

Exemplo: excluir um grupo de segurança no nível da coleção

O exemplo a seguir exclui um grupo da coleção de projetos. O grupo é identificado por "S-1-5-21-2127521184-1604012920-1887927527-588340", o SID (identificador de segurança). Para obter mais informações sobre como encontrar o SID de um grupo, consulte /im: exibir informações sobre identidades que compõem a associação direta. Você também pode usar o nome amigável para excluir um grupo.

Observação

Os exemplos são fictícios e meramente ilustrativos. Nenhuma associação real é proposital ou inferida.

tfssecurity /gd S-1-5-21-2127521184-1604012920-1887927527-588340 /collection:CollectionURL

/gud: alterar a descrição de um servidor ou grupo no nível da coleção

Use /gud para alterar a descrição de um grupo de nível de servidor ou coleção.

tfssecurity /gud GroupIdentity GroupDescription [/collection:CollectionURL] [/server:ServerURL]

Pré-requisitos

Para usar o comando /gud , você deve ter a permissão editar informações no nível do projeto definida como Permitir. Para obter mais informações, consulte grupos de segurança e referência de permissão.

parâmetros

Argumento Descrição
GroupIdentity Especifica a identidade do grupo. Para obter mais informações sobre especificadores de identidade válidos, consulte especificadores de identidade posteriormente neste artigo.
Groupdescription Especifica a nova descrição do grupo.
/collection :CollectionURL Obrigatório se /server não for usado. Especifica a URL de uma coleção de projetos no seguinte formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obrigatório se /collection não for usado. Especifica a URL de um servidor da camada de aplicativo no seguinte formato: http:// ServerName : Port / VirtualDirectoryName

Comentários

Execute este comando em um servidor da camada de aplicativo para Azure DevOps.

Exemplo: adicionar uma descrição a um grupo de segurança

O exemplo a seguir associa a descrição "Os membros desse grupo testam o código deste projeto" ao grupo "Testadores de Datum".

Observação

Os exemplos são fictícios e meramente ilustrativos. Nenhuma associação real é proposital ou inferida.

tfssecurity /gud "Datum Testers" "The members of this group test the code for this project" /collection:CollectionURL

/gun: renomear um grupo

Use /gun para renomear um grupo de nível de servidor ou coleção.

tfssecurity /gun GroupIdentity GroupName [/collection:CollectionURL] [/server:ServerURL]

Pré-requisitos

Para usar o comando /gun , você deve ter as informações de nível de coleção de exibição e editar informações no nível da coleção ou as informações no nível da instância de exibição e editar permissões de informações no nível da instância definidas como Permitir, dependendo se você estiver usando o parâmetro /collection ou /server , respectivamente. Para obter mais informações, consulte grupos de segurança e referência de permissão.

parâmetros

Argumento Descrição
GroupIdentity Especifica a identidade do grupo. Para obter mais informações sobre especificadores de identidade válidos, consulte especificadores de identidade posteriormente neste artigo.
GroupName Especifica o novo nome do grupo.
/collection :CollectionURL Obrigatório se /server não for usado. Especifica a URL de uma coleção de projetos no seguinte formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obrigatório se /collection não for usado. Especifica a URL de um servidor da camada de aplicativo no seguinte formato: http:// ServerName : Port / VirtualDirectoryName

Comentários

Execute este comando em um servidor da camada de aplicativo para Azure DevOps.

Exemplo: renomear um grupo de segurança

O exemplo a seguir renomeia o grupo de nível de coleção "A. Testadores da Datum Corporation" para "A. Engenheiros de teste da Datum Corporation."

Observação

Os exemplos são fictícios e meramente ilustrativos. Nenhuma associação real é proposital ou inferida.

tfssecurity /gun "A. Datum Corporation Testers" "A. Datum Corporation Test Engineers" /collection:CollectionURL

Identidades e associação

/i: Exibir informações de identidade para um grupo especificado

Use /i para exibir informações de identidade para um grupo especificado em uma implantação de Azure DevOps Server.

tfssecurity /i Identity [/collection:CollectionURL] [/server:ServerURL]

Pré-requisitos

Para usar o comando /i , você deve ter as informações de nível de coleção de exibição ou a permissão de informações de nível de instância de exibição definida como Permitir, dependendo se você estiver usando o parâmetro /collection ou /server, respectivamente. Para obter mais informações, consulte grupos de segurança e referência de permissão.

parâmetros

Argumento Descrição
Identidade A identidade do usuário ou do grupo de aplicativos. Para obter mais informações sobre especificadores de identidade, consulte especificadores de identidade posteriormente neste artigo.
/collection :CollectionURL Obrigatório se /server não for usado. Especifica a URL de uma coleção de projetos no seguinte formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obrigatório se /collection não for usado. Especifica a URL de um servidor da camada de aplicativo no seguinte formato: http:// ServerName : Port / VirtualDirectoryName

Comentários

Execute este comando em um servidor da camada de aplicativo para Azure DevOps.

O comando /i do utilitário de linha de comando TFSSecurity exibe informações sobre cada grupo dentro da coleção de projetos (/servidor) ou do servidor da camada de aplicativo (/instância). Ele não exibe nenhuma informação de associação.

Exemplo: listar informações de identidade para um grupo de segurança

O exemplo a seguir exibe informações de identidade para o grupo "Administradores do Team Foundation".

Observação

Os exemplos são fictícios e meramente ilustrativos. Nenhuma associação real é proposital ou inferida.

tfssecurity /i "Team Foundation Administrators" /server:ServerURL 

Saída de exemplo:

    Resolving identity "Team Foundation Administrators"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: Team Foundation Administrators
      Description: Members of this application group can perform all privileged operations on the server.

Exemplo: exibir informações de identidade para um grupo de segurança

O exemplo a seguir exibe informações de identidade para o grupo administradores de coleção Project usando o adm: especificador de identidade.

tfssecurity /i adm: /collection:CollectionURL 

Saída de exemplo:

    Resolving identity "adm:"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: [DatumOne]\Project Collection Administrators
      Description: Members of this application group can perform all privileged operations on the project collection.

O exemplo a seguir exibe informações de identidade para o grupo administradores de Project para o projeto "Datum" usando o adm: especificador de identidade.

tfssecurity /i adm:vstfs:///Classification/TeamProject/ProjectGUID /collection:CollectionURL 

Saída de exemplo:

    Resolving identity "adm:vstfs:///Classification/TeamProject/ProjectGUID"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Datum
     Display name: [Datum]\Project Administrators
      Description: Members of this application group can perform all operations in the project.

/im: exibir informações sobre identidades que compõem a associação direta

Use /im para exibir informações sobre as identidades que compõem a associação direta de um grupo que você especificar.

tfssecurity /im Identity [/collection:CollectionURL] [/server:ServerURL]

Pré-requisitos

Para usar o comando /im , você deve ter as informações de nível de coleção de exibição ou a permissão exibir informações no nível da instância definida como Permitir, dependendo se você estiver usando o parâmetro /collection ou /server, respectivamente. Para obter mais informações, consulte Grupos de segurança e referência de permissão.

parâmetros

Argumento Descrição
Identidade A identidade do usuário ou do grupo. Para obter mais informações sobre especificadores de identidade, consulte os especificadores de identidade mais adiante neste artigo.
/collection :CollectionURL Obrigatório se /server não for usado. Especifica a URL de uma coleção de projetos no seguinte formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obrigatório se /collection não for usado. Especifica a URL de um servidor da camada de aplicativo no seguinte formato: http:// ServerName : Port / VirtualDirectoryName

Comentários

Execute este comando em um servidor da camada de aplicativo para Azure DevOps.

O comando /im do TFSSecurity exibe apenas os membros diretos do grupo especificado. Essa lista inclui outros grupos que são membros do grupo especificado. No entanto, os membros reais dos grupos de membros não estão listados.

Exemplo: exibir identidades de associação para um grupo de segurança

O exemplo a seguir exibe informações de identidade de associação direta para o grupo "Administradores da Team Foundation" no domínio "Datum1" na empresa fictícia "A. Datum Corporation".

Observação

Os exemplos são fictícios e meramente ilustrativos. Nenhuma associação real é proposital ou inferida.

tfssecurity /im "Team Foundation Administrators" /server:ServerURL

Saída de exemplo:

    Resolving identity "Team Foundation Administrators"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: Team Foundation Administrators
    Description: Members of this application group can perform all privileged operations on the server.

    3 member(s):
      [U] Datum1\hholt (Holt, Holly)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [InstanceName]\Team Foundation Service Accounts

    Member of 2 group(s):
    a [A] [DatumOne]\Project Collection Administrators ([DatumOne]\Project Collection Administrators)
    e [A] [InstanceName]\Team Foundation Valid Users

    Done.

Exemplo: exibir informações de identidade para um grupo de segurança

O exemplo a seguir exibe informações de identidade para o grupo administradores de coleção Project na coleção de projetos "DatumOne" no domínio "Datum1" na empresa fictícia "A. Datum Corporation" usando o adm: especificador de identidade.

tfssecurity /im adm: /collection:CollectionURL 

Saída de exemplo:

    Resolving identity "adm: "...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: [DatumOne]\Project Collection Administrators
    Description: Members of this application group can perform all privileged operations on the project collection.

    5 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    a [A] [InstanceName]\Team Foundation Administrators
    s [A] [DatumOne]\Project Collection Service Accounts ([DatumOne]\Project Collection Service Accounts)

    Member of 1 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Colleciton Valid Users)

    Done.

Exemplo: exibir informações de identidade para um grupo de segurança usando um especificador de identidade

O exemplo a seguir exibe informações de identidade para o grupo administradores de Project para o projeto "Datum" na coleção de projetos "DatumOne" no domínio "Datum1" na empresa fictícia "A. Datum Corporation" usando o adm: especificador de identidade.

tfssecurity /im adm:vstfs:///Classification/TeamProject/ProjectGUID /collection:CollectionURL 

Saída de exemplo:

    Resolving identity "adm:vstfs:///Classification/TeamProject/ProjectGUID"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXX

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Datum
    Display name: [Datum]\Project Administrators
    Description: Members of this application group can perform all operations in the project.

    2 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)

    Member of 1 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)

    Done.

/imx: exibir informações sobre as identidades que a associação expandida

Use /imx para exibir informações sobre as identidades que compõem a associação expandida de um grupo especificado.

tfssecurity /imx Identity [/collection:CollectionURL] [/server:ServerURL]

Pré-requisitos

Para usar o comando /imx , você deve ter as informações no nível da coleção view ou a permissão de informações de nível de instância de exibição definida como Permitir, dependendo se você estiver usando o parâmetro /collection ou /server , respectivamente. Para obter mais informações, consulte Grupos de segurança e referência de permissão.

parâmetros

Argumento Descrição
Identidade A identidade do usuário ou do grupo. Para obter mais informações sobre especificadores de identidade, consulte os especificadores de identidade mais adiante neste artigo.
/collection :CollectionURL Obrigatório se /server não for usado. Especifica a URL de uma coleção de projetos no seguinte formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obrigatório se /collection não for usado. Especifica a URL de um servidor da camada de aplicativo no seguinte formato: http:// ServerName : Port / VirtualDirectoryName

Comentários

Execute este comando em um servidor da camada de aplicativo para Azure DevOps.

O comando /imx do TFSSecurity exibe apenas os membros expandidos do grupo especificado. Essa lista inclui não apenas outros grupos que são membros do grupo especificado, mas também os membros dos grupos de membros.

Exemplo: exibir informações de associação expandidas para um grupo de segurança

O exemplo a seguir exibe informações de identidade de associação expandidas para o grupo "Administradores da Team Foundation" no domínio "Datum1" na empresa fictícia "A. Datum Corporation".

Observação

Os exemplos são fictícios e meramente ilustrativos. Nenhuma associação real é proposital ou inferida.

tfssecurity /imx "Team Foundation Administrators" /server:ServerURL

Saída de exemplo:

    Resolving identity "Team Foundation Administrators"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: Team Foundation Administrators
    Description: Members of this application group can perform all privileged operations on the server.

    10 member(s):
      [U] Datum1\hholt (Holly Holt)
      [U] Datum1\jpeoples (John Peoples)
      [U] Datum1\tommyh (Tommy Hartono)
      [U] Datum1\henriea (Henriette Andersen)
      [U] Datum1\djayne (Darcy Jayne)
      [U] Datum1\aprilr (April Reagan)
      [G] Datum1\InfoSec Secure Environment
      [U] Datum1\nbento (Nuno Bento)
      [U] Datum1\cristp (Cristian Petculescu)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [InstanceName]\Team Foundation Service Accounts

    Member of 3 group(s):
    a [A] [DatumOne]\Project Collection Administrators ([DatumOne]\Project Collection Administrators)
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)
    e [A] [InstanceName]\Team Foundation Valid Users

    Done.

O exemplo a seguir exibe informações de identidade para o grupo administradores de coleção Project na coleção de projetos "DatumOne" no domínio "Datum1" na empresa fictícia "A. Datum Corporation" usando o adm: especificador de identidade.

tfssecurity /imx adm: /collection:CollectionURL 

Saída de exemplo:

    Resolving identity "adm: "...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: [DatumOne]\Project Collection Administrators
    Description: Members of this application group can perform all privileged operations on the project collection.

    6 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    a [A] [InstanceName]\Team Foundation Administrators
    s [A] [InstanceName]\Team Foundation Service Accounts
    s [A] [DatumOne]\Project Collection Service Accounts ([DatumOne]\Project Collection Service Accounts)

    Member of 1 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)

    Done.

Exemplo: exibir informações de identidade para um grupo de segurança usando um especificador de identidade

O exemplo a seguir exibe informações de identidade para o grupo administradores de Project para o projeto "Datum" na coleção de projetos "DatumOne" no domínio "Datum1" na empresa fictícia "A. Datum Corporation" usando o adm: especificador de identidade.

tfssecurity /imx adm:vstfs:///Classification/TeamProject/ProjectGUID /collection:CollectionURL 

Saída de exemplo:

    Resolving identity "adm:vstfs:///Classification/TeamProject/ProjectGUID"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXX

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Datum
    Display name: [Datum]\Project Administrators
    Description: Members of this application group can perform all operations in the project.

    2 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)

    Member of 2 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)
    e [A] [InstanceName]\Team Foundation Valid Users

    Done.

Para obter mais informações sobre os especificadores de saída, como [G] e [U], consulte os especificadores de identidade mais adiante neste artigo.

/m: verificar a associação explícita e implícita ao grupo

Use /m para verificar informações explícitas e implícitas de associação de grupo para um grupo ou usuário especificado.

tfssecurity /m GroupIdentity [MemberIdentity] [/collection:CollectionURL] [/server:ServerURL]

Pré-requisitos

Para usar o comando /m , você deve ser membro do grupo de segurança Administradores do Team Foundation. Para obter mais informações, consulte Grupos de segurança e referência de permissão.

Observação

Mesmo que você esteja conectado com credenciais administrativas, você deve abrir um Prompt de Comando com privilégios elevados para executar essa função.

parâmetros

Argumento Descrição
GroupIdentity Especifica a identidade do grupo. Para obter mais informações sobre especificadores de identidade válidos, consulte especificadores de identidade mais adiante neste artigo.
MemberIdentity Especifica a identidade do membro. Por padrão, o valor desse argumento é a identidade do usuário que está executando o comando. Para obter mais informações sobre especificadores de identidade válidos, consulte especificadores de identidade mais adiante neste artigo.
/collection :CollectionURL Obrigatório se /server não for usado. Especifica a URL de uma coleção de projetos no seguinte formato: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL Obrigatório se /collection não for usado. Especifica a URL de um servidor da camada de aplicativo no seguinte formato: http:// ServerName : Port / VirtualDirectoryName

Comentários

Execute este comando no computador local da camada de aplicativo.

O comando /m do utilitário de linha de comando TFSSecurity verifica associações diretas e estendidas.

Exemplo: verificar a associação de um usuário em um grupo de segurança

O exemplo a seguir verifica se o usuário "Datum1\jpeoples" pertence ao grupo de nível de servidor administradores do Team Foundation.

Observação

Os exemplos são fictícios e meramente ilustrativos. Nenhuma associação real é proposital ou inferida.

tfssecurity /m "Team Foundation Administrators" n:Datum1\jpeoples /server:http://ADatumCorporation:8080

Saída de exemplo:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "Team Foundation Administrators"...
    a [A] [INSTANCE]\Team Foundation Administrators
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Checking group membership...

    John Peoples IS a member of [INSTANCE]\Team Foundation Administrators.

    Done.

Namespaces de segurança

Observação

Namespaces e tokens são válidos para todas as versões do Azure DevOps. Namespaces estão sujeitos a alterações ao longo do tempo. Para obter a lista mais recente de namespaces, exerça uma das ferramentas de linha de comando ou a API REST. Alguns namespaces foram preteridos. Para obter mais informações, consulte o namespace de segurança e a referência de permissão.

Especificadores de identidade

Você pode referenciar uma identidade usando uma das notações na tabela a seguir.

Especificador de identidade Descrição Exemplo
Sid: Sid. Faz referência à identidade que tem o SID (identificador de segurança) especificado. sid:S-1-5-21-2127521184-1604012920-1887927527-588340
n:[D omain]Name Faz referência à identidade que tem o nome especificado. Para Windows, Nome é o nome da conta. Se a identidade referenciada estiver em um domínio, o nome de domínio será necessário. Para grupos de aplicativos, Nome é o nome de exibição do grupo e Domínio é o URI ou GUID do projeto que contém. Nesse contexto, se o domínio for omitido, o escopo será considerado no nível da coleção. Para fazer referência à identidade do usuário "John Peoples" no domínio "Datum1" na empresa fictícia "A. Datum Corporation:"

n:DATUM1\jpeoples

Para fazer referência a grupos de aplicativos:

n:"Funcionários em tempo integral"

n:00a10d23-7d45-4439-981b-d3b3e0b0b1ee\Vendors
adm:[Escopo] Faz referência ao grupo de aplicativos administrativos para o escopo, como "Administradores do Team Foundation" para o nível do servidor ou "administradores de coleção Project" no nível da coleção. O parâmetro opcional Scope é um URI ou URL do projeto, incluindo o GUID e a cadeia de conexão. Se o escopo for omitido, o escopo do servidor ou da coleção será assumido com base em se o parâmetro /instance ou /server é usado. Em ambos os casos, os dois-pontos ainda são necessários. adm:vstfs:///Classification/TeamProject/ GUID
Srv: Faz referência ao grupo de aplicativos para contas de serviço. Não aplicável
Todos: Faz referência a todos os grupos e identidades. Não aplicável
String Faz referência a uma cadeia de caracteres não qualificada. Se a cadeia de caracteres começar com S-1-, ela será identificada como um SID. Se a cadeia de caracteres começar com CN= ou LDAP:// ela será identificada como um nome diferenciado. Caso contrário, String será identificado como um nome. "Testadores de equipe"

Marcadores de tipo

Os marcadores a seguir são usados para identificar tipos de identidades e ACEs em mensagens de saída.

Marcadores de tipo de identidade

Marcador de tipo de identidade Descrição
U Windows usuário.
G Grupo do Windows.
A Azure DevOps Server grupo de aplicativos.
a [ A ] Grupo de aplicativos administrativos.
s [ A ] Grupo de aplicativos da conta de serviço.
X A identidade não é válida.
? A identidade é desconhecida.

Marcadores de entrada de controle de acesso

Marcador de entrada de controle de acesso Descrição
+ PERMITIR entrada de controle de acesso.
- Entrada de controle de acesso DENY.
* [] Entrada de controle de acesso herdada.