Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure DevOps Server |Azure DevOps Server |Azure DevOps Server 2022 | Azure DevOps Server 2020
Puede usar la herramienta de línea de comandos TFSSecurity para crear, modificar y eliminar grupos y usuarios en Azure DevOps Server y, además, modificar permisos para grupos y usuarios. Para obtener información sobre cómo realizar estas tareas en la interfaz de usuario, vea Agregar usuarios o grupos a un proyecto.
Importante
La herramienta de línea de comandos TFSSecurity está en desuso para su uso con Azure DevOps Services. Aunque TFSSecurity puede funcionar en algunos escenarios de Azure DevOps Services, este no cuenta con soporte. El método recomendado para realizar cambios en grupos de seguridad y permisos para Azure DevOps Services es usar el portal web, las herramientas de línea de comandos az devops security o az devops permission, o la API REST de Seguridad.
Ubicación de la herramienta de línea de comandos
Las herramientas de línea de comandos de Azure DevOps se instalan en el directorio /Tools de un servidor de nivel de aplicación de 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
Nota:
Incluso si ha iniciado sesión con credenciales administrativas, debe abrir un símbolo del sistema con privilegios elevados para realizar esta tarea.
Permisos
/a+: Agregar permisos
Use /a+ para agregar permisos para un usuario o un grupo en un grupo de nivel de servidor, de nivel de colección o de nivel de proyecto. Para agregar usuarios a grupos desde el portal web, consulte Establecimiento de permisos en el nivel de proyecto o colección.
tfssecurity /a+ Namespace Token Action Identity (ALLOW | DENY)[/collection:CollectionURL] [/server:ServerURL]
Prerrequisitos
Para usar el comando /a+, debe tener el permiso Ver información de nivel de colección o el permiso Ver información de nivel de instancia configurado para Permitir, en función de si usa el parámetro /collection o /server, respectivamente. Si va a cambiar los permisos de un proyecto, también debe tener el permiso Editar información a nivel de proyecto configurado para permitir. Para obtener más información, vea Referencia de permisos y grupos.
Parámetros
| Argumento | Descripción |
|---|---|
| Namespace | Espacio de nombres que contiene el grupo al que desea agregar permisos para un usuario o grupo. También puede usar el comando tfssecurity /a para ver una lista de espacios de nombres en el nivel de servidor, colección y proyecto. |
| identidad | Identidad del usuario o del grupo. Para obtener más información sobre los especificadores de identidad, consulte Especificadores de identidad más adelante en este artículo.
|
| /collection :CollectionURL | Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName / |
| /server :ServerURL | Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName |
Observaciones
Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.
Las entradas de control de acceso son mecanismos de seguridad que determinan las operaciones que un usuario, grupo, servicio o equipo está autorizado para realizar.
Ejemplo: Mostrar espacios de nombres disponibles
En el ejemplo siguiente se muestra qué espacios de nombres están disponibles en el nivel de servidor para el servidor de nivel de aplicación denominado ADatumCorporation.
Nota:
Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.
tfssecurity /a /server:ServerURL
Salida del ejemplo:
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.
Ejemplo: Mostrar acciones disponibles
En el siguiente ejemplo se muestran las acciones disponibles para el espacio de nombres a nivel de servidor en el nivel de la colección.
tfssecurity /a Server /collection:CollectionURL
Salida del ejemplo:
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.
Ejemplo: Asignación de un permiso de nivel de instancia
En el ejemplo siguiente se concede el permiso de ver información a nivel de instancia a nivel de servidor a la implementación de ADatumCorporation para el usuario del dominio Datum1 John Peoples (Datum1\jpeoples).
tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /server:http://ADatumCorporation:8080
Salida del ejemplo:
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.
Ejemplo: Asignar un permiso de nivel de colección
En el ejemplo siguiente, se concede el permiso de información de nivel de colección "View" a la colección de proyecto Collection0 para el usuario de dominio Datum1 John Peoples (Datum1\jpeoples).
tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /collection:http://ADatumCorporation:8080/Collection0
Salida del ejemplo:
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-: Quitar un usuario o un grupo de la membresía de un grupo
Use el comando /a- para quitar un usuario o un grupo de pertenencia a un grupo de nivel de servidor, de nivel de colección o de nivel de proyecto. Para quitar usuarios de grupos del portal web, consulte Eliminación de cuentas de usuario.
tfssecurity /a- Namespace Token Action Identity (ALLOW | DENY) [/collection:CollectionURL] [/server:ServerURI]
Prerrequisitos
Para usar el comando /a-, debe tener el permiso de Ver información a nivel de colección o el permiso de Ver información a nivel de instancia establecido en Permitir, dependiendo de si usa el parámetro /collection o /server, respectivamente. Si va a cambiar los permisos de un proyecto, también debe tener el permiso Editar información a nivel de proyecto configurado para permitir.
Parámetros
| Argumento | Descripción |
|---|---|
| Namespace | El espacio de nombres que contiene el grupo para el cual desea eliminar permisos de un usuario o grupo. También puede usar el comando tfssecurity /a para ver una lista de espacios de nombres en el nivel de servidor, colección y proyecto. |
| identidad | Identidad del usuario o del grupo. Para obtener más información sobre los especificadores de identidad, consulte Especificadores de identidad más adelante en este artículo.
|
| /collection :CollectionURL | Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName / |
| /server :ServerURL | Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName |
Observaciones
Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.
Las entradas de control de acceso son mecanismos de seguridad que determinan las operaciones que un usuario, grupo, servicio o equipo está autorizado para realizar en un equipo o servidor.
Ejemplo: Mostrar espacios de nombres de nivel de servidor
En el ejemplo siguiente se muestra qué espacios de nombres están disponibles en el nivel de servidor para el servidor de nivel de aplicación denominado ADatumCorporation.
Nota:
Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.
tfssecurity /a /server:ServerURL
Salida del ejemplo:
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.
Ejemplo: Mostrar acciones disponibles de nivel de colección
En el ejemplo siguiente se muestran las acciones disponibles para el espacio de nombres del servidor en el nivel de colección.
tfssecurity /a Server /collection:CollectionURL
Salida del ejemplo:
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.
Ejemplo: Quitar un permiso de nivel de instancia
En el ejemplo siguiente se quita el permiso Ver información de nivel de instancia a nivel de servidor para la implementación de ADatumCorporation para el usuario de dominio Datum1 John Peoples (Datum1\jpeoples).
tfssecurity /a- Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /server:http://ADatumCorporation:8080
Salida del ejemplo:
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.
Ejemplo: Quitar un permiso de nivel de colección
En el ejemplo siguiente se quita el permiso de información de nivel de colección View de nivel de colección a la colección de proyectos Collection0 para el usuario de dominio Datum1 John Peoples (Datum1\jpeoples).
tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /collection:http://ADatumCorporation:8080/Collection0
Salida del ejemplo:
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: Mostrar la lista de control de acceso
Use /acl para mostrar la lista de control de acceso que se aplica a un objeto determinado.
tfssecurity /acl Namespace Token [/collection:CollectionURL] [/server:ServerURL]
Prerrequisitos
Para usar el comando /acl , debe tener la información de nivel de colección Ver o el permiso Ver información de nivel de instancia establecido en Permitir, en función de si usa el parámetro /collection o /server , respectivamente. Para más información, consulte Referencia de permisos para Azure DevOps Server.
Parámetros
| Argumento | Descripción |
|---|---|
| Namespace | El espacio de nombres que contiene el grupo para el que desea ver los permisos de un usuario o grupo. |
| /collection :CollectionURL | Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName / |
| /server :ServerURL | Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName |
Observaciones
Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.
Las entradas de control de acceso son mecanismos de seguridad que determinan las operaciones que un usuario, grupo, servicio o equipo está autorizado para realizar en un equipo o servidor.
Ejemplo: Enumeración de asignaciones de ACL a un espacio de nombres de nivel de servidor
En el ejemplo siguiente se muestra qué usuarios y grupos tienen acceso al token FrameworkGlobalSecurity en el espacio de nombres del servidor dentro de la implementación de ADatumCorporation.
Nota:
Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.
tfssecurity /acl Server FrameworkGlobalSecurity /server:ServerURL
Salida del ejemplo:
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: Enumerar los grupos
Use /g para enumerar los grupos de un proyecto, en una colección de proyectos o en Azure DevOps Server.
tfssecurity /g [scope] [/collection:CollectionURL] [/server:ServerURL]
Prerrequisitos
Para usar el comando /g, debe tener el permiso para Ver información de nivel de colección o de nivel de instancia establecido en Permitir, dependiendo de si utiliza el parámetro /collection o /server, respectivamente. Para usar el comando /g dentro del ámbito de un solo proyecto, debe tener el permiso Ver información de nivel de proyecto establecido en Permitir. Para obtener más información, vea Referencia de permisos y grupos.
Parámetros
| Argumento | Descripción |
|---|---|
| alcance | Opcional. Especifica el URI del proyecto para el que desea mostrar grupos. Para obtener el URI de un proyecto, abra Team Explorer, haga clic con el botón derecho en el proyecto, haga clic en Propiedades y copie toda la entrada de la dirección URL. |
| /collection :CollectionURL | Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName / |
| /server :ServerURL | Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName |
Observaciones
Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.
El comando /g de la utilidad de línea de comandos TFSSecurity muestra información sobre cada grupo dentro del ámbito seleccionado. Este ámbito puede ser la colección de proyectos (/servidor) o el servidor de nivel de aplicación (/instancia). Si se usa con el ámbito de un proyecto, solo mostrará información sobre los grupos asociados a ese proyecto.
Ejemplo: Mostrar información de grupo de nivel de colección
En el ejemplo siguiente se muestra información de todos los grupos de una colección de proyectos.
tfssecurity /g /collection:CollectionURL
/g+: Agregar un usuario u otro grupo a un grupo existente
Use /g+ para agregar un usuario u otro grupo a un grupo existente.
tfssecurity /g+ groupIdentity memberIdentity [/collection:CollectionURL] [/server:ServerURL]
Prerrequisitos
Para usar el comando /g+, debe tener los permisos de ver y editar la información a nivel de colección establecidos en Permitir o los permisos de ver y editar la información a nivel de instancia establecidos en Permitir, dependiendo de si está usando el parámetro /collection o /server, respectivamente. Para más información, consulte Referencia de permisos y grupos de seguridad.
Parámetros
| Argumento | Descripción |
|---|---|
| identidad de grupo | Especifica la identidad del grupo. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo. |
| identidad del miembro | Especifica la identidad del miembro. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo. |
| /collection :CollectionURL | Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName / |
| /server :ServerURL | Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName |
Observaciones
Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.
También puede agregar usuarios y grupos a un grupo existente mediante Team Explorer. Para obtener más información, vea Establecer permisos en el nivel de proyecto o colección.
Ejemplo: Agregar un usuario a un grupo de nivel de servidor
En el ejemplo siguiente se agrega el usuario de dominio Datum1 John Peoples (Datum1\jpeoples) al grupo Administradores de Team Foundation.
Nota:
Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.
tfssecurity /g+ "Team Foundation Administrators" n:Datum1\jpeoples /server:http://ADatumCorporation:8080
Salida del ejemplo:
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-: Quitar un usuario o grupo
Use /g- para quitar un usuario o un grupo de usuarios de un grupo existente.
tfssecurity /g- groupIdentity memberIdentity [/collection:CollectionURL] [/server:ServerURL]
Prerrequisitos
Para usar el comando /g-, debe tener los permisos de Ver información al nivel de colección y Editar información al nivel de colección, o los permisos de Ver información al nivel de instancia y Editar información al nivel de instancia, establecidos en 'Permitir', dependiendo de si usa el parámetro /collection o /server, respectivamente. Para más información, consulte Referencia de permisos y grupos de seguridad.
Parámetros
| Argumento | Descripción |
|---|---|
| identidad de grupo | Especifica la identidad del grupo. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo. |
| identidad del miembro | Especifica la identidad del miembro. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo. |
| /collection :CollectionURL | Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName / |
| /server :ServerURL | Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName |
Observaciones
Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.
También puede agregar usuarios y grupos a un grupo existente mediante Team Explorer. Para obtener más información, vea Quitar usuarios de un grupo de proyectos o Establecer permisos en el nivel de proyecto o colección.
Ejemplo: Quitar un usuario de un grupo de nivel de servidor
En el ejemplo siguiente se quita el usuario de dominio Datum1 John Peoples (Datum1\jpeoples) del grupo Administradores de Team Foundation.
Nota:
Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.
tfssecurity /g- "Team Foundation Administrators" n:Datum1\jpeoples /server:http://ADatumCorporation:8080
Salida del ejemplo:
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: Crear un grupo de nivel de proyecto
Use /gc en un símbolo del sistema para crear un grupo de nivel de proyecto. Para crear un grupo de nivel de proyecto a partir de la interfaz de usuario, consulte Administrar usuarios o grupos.
tfssecurity /gc Scope GroupName [GroupDescription] [/collection:CollectionURL]
Prerrequisitos
Para usar el comando /gc , debe tener el permiso Editar Project-Level información para ese proyecto establecido en Permitir. Para obtener más información, vea Referencia de permisos.
Parámetros
| Argumento | Descripción |
|---|---|
| Ámbito | Identificador URI del proyecto al que desea agregar un grupo a nivel de proyecto. Para obtener el URI de un proyecto, conéctese a él y abra Team Explorer, mantenga el puntero sobre el nombre del proyecto en Inicio y lea la dirección. Como alternativa, conéctese al proyecto en Web Access y copie la dirección URL. |
| Nombre del Grupo | Nombre del nuevo grupo. |
| GroupDescription | Descripción del grupo de proyectos. Opcional. |
| /collection :CollectionURL | Dirección URL de la colección de proyectos. Obligatorio. El grupo se creará dentro de la colección de proyectos. El formato de la dirección URL es http:// ServerName: Port / VirtualDirectoryName CollectionName / |
Observaciones
Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.
Un grupo de nivel de proyecto es un grupo de seguridad para el proyecto. Puede usar grupos de proyectos para conceder permisos de lectura, escritura y administrativos que cumplan los requisitos de seguridad de su organización.
Ejemplo: Agregar un grupo de seguridad a un proyecto
En el ejemplo siguiente se crea un grupo específico del proyecto que especifica el URI "vstfs://Classification/TeamProject/00000000-0000-0000-0000-000000000000". El grupo se denomina "Grupo de pruebas" y tiene la descripción "Este grupo es para pruebas".
Nota:
Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.
Debe reemplazar el marcador GUID con el URI del proyecto para el que desea crear este grupo. Para obtener el URI de un proyecto, abra Team Explorer, haga clic con el botón derecho en el proyecto, haga clic en Propiedades y copie el valor completo de la propiedad URL.
Después de ejecutar el comando, puede comprobar el grupo en Team Explorer. Haga clic con el botón derecho en el proyecto que usó en el comando, haga clic en Configuración del proyecto y, a continuación, haga clic en Pertenencias a grupos. En el cuadro de diálogo Grupos de proyectos en TeamProjectName , la lista Grupos incluye Grupo de pruebas .
Nota:
Puede usar el comando /gc para crear grupos, pero no para agregar usuarios a los grupos o asignar permisos. Para cambiar la pertenencia del grupo, vea /g+: Agregar un usuario u otro grupo a un grupo existente y /g-: Quitar un usuario o grupo. Para cambiar los permisos del grupo, vea /a+: Agregar permisos y /a-: Quitar un usuario o un grupo de pertenencia a un 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: Crear un grupo a nivel de servidor o de colección
Use el comando /gcg para crear un grupo de nivel de servidor o de colección. Para crear un grupo de nivel de colección desde el portal web, consulte Establecimiento de permisos en el nivel de proyecto o colección.
tfssecurity /gcg GroupName [GroupDescription] [/collection:CollectionURL] [/server:ServerURL]`
Prerrequisitos
Para usar el comando /gcg , debe tener el permiso Editar información de nivel de proyecto para ese proyecto establecido en Permitir. Para más información, consulte Referencia de permisos y grupos de seguridad.
Parámetros
| Argumento | Descripción |
|---|---|
| Nombre del Grupo | Nombre del grupo. |
| GroupDescription | Descripción del grupo. Opcional. |
| /collection :CollectionURL | Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName / |
| /server :ServerURL | Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName |
Observaciones
Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.
Los grupos de nivel de servidor se crean directamente en el nivel de aplicación y se aplican a todas las colecciones de proyectos. El nivel de colección se crea en el nivel de colección del proyecto. Se aplican a esa colección y tienen implicaciones para todos los proyectos de la colección. En cambio, los grupos de proyectos se aplican a un proyecto específico dentro de una colección, pero no a ningún otro proyecto de esa colección. Puede asignar permisos a grupos de nivel de servidor para que los miembros de esos grupos puedan realizar tareas en Azure DevOps Server, como la creación de colecciones de proyectos. Puede asignar permisos a grupos de nivel de colección para que los miembros de esos grupos puedan realizar tareas en una colección de proyectos, como administrar usuarios.
Nota:
Puede usar el comando /gcg para crear grupos, pero no puede usarlo para agregar usuarios a los grupos ni asignar permisos. Para obtener información sobre cómo cambiar la pertenencia de un grupo, vea /g+: Agregar un usuario u otro grupo a un grupo existente y /g-: Quitar un usuario o grupo. Para obtener información sobre cómo cambiar los permisos del grupo, vea /a+: Agregar permisos y /a-: Quitar un usuario o un grupo de pertenencia a un grupo.
Ejemplo: Agregar un grupo de seguridad a nivel de colección
En el ejemplo siguiente se crea un grupo de nivel de colección denominado "Datum Testers" con la descripción "A. Datum Corporation Testers."
Nota:
Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.
tfssecurity /gcg "Datum Testers" "A. Datum Corporation Testers" /collection:CollectionURL
En el ejemplo siguiente se crea un grupo de nivel de servidor denominado "Datum Auditors" con la descripción "A. Auditores de Datum Corporation."
tfssecurity /gcg "Datum Auditors" "A. Datum Corporation Auditors" /server:ServerURL
/gd: Eliminar un servidor o un grupo de nivel de colección
Use /gd para eliminar un grupo de nivel de servidor o de colección.
tfssecurity /gd groupIdentity [/collection:CollectionURL] [/server:ServerURL]
Prerrequisitos
Para usar el comando /gd , debe tener la información de nivel de colección Ver y Editar información de nivel de colección o ver información de nivel de instancia y Editar información de nivel de instancia establecida en Permitir, dependiendo de si usa el parámetro /collection o /server , respectivamente. Para más información, consulte Referencia de permisos y grupos de seguridad.
Parámetros
| Argumento | Descripción |
|---|---|
| identidad de grupo | Especifica la identidad del grupo. |
| /collection :CollectionURL | Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName / |
| /server :ServerURL | Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName |
Observaciones
Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps. Para modificar los permisos a través del portal web, consulte Establecimiento de permisos en el nivel de proyecto o colección.
Ejemplo: Eliminación de un grupo de seguridad de nivel de colección
En el ejemplo siguiente se elimina un grupo de la colección de proyectos. El grupo se identifica mediante "S-1-5-21-2127521184-1604012920-1887927527-588340", el identificador de seguridad (SID). Para obtener más información sobre cómo buscar el SID de un grupo, vea /im: Mostrar información sobre las identidades que componen la pertenencia directa. También puede usar el nombre descriptivo para eliminar un grupo.
Nota:
Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.
tfssecurity /gd S-1-5-21-2127521184-1604012920-1887927527-588340 /collection:CollectionURL
/gud: Cambiar la descripción de un grupo a nivel de servidor o colección
Use /gud para cambiar la descripción de un grupo de nivel de servidor o de colección.
tfssecurity /gud GroupIdentity GroupDescription [/collection:CollectionURL] [/server:ServerURL]
Prerrequisitos
Para usar el comando /gud , debe tener el permiso Editar información de nivel de proyecto establecido en Permitir. Para más información, consulte Referencia de permisos y grupos de seguridad.
Parámetros
| Argumento | Descripción |
|---|---|
| Identidad del Grupo | Especifica la identidad del grupo. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo. |
| GroupDescription | Especifica la nueva descripción del grupo. |
| /collection :CollectionURL | Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName / |
| /server :ServerURL | Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName |
Observaciones
Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.
Ejemplo: Agregar una descripción a un grupo de seguridad
En el ejemplo siguiente se asocia la descripción "Los miembros de este grupo prueban el código de este proyecto" con el grupo "Datum Testers".
Nota:
Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.
tfssecurity /gud "Datum Testers" "The members of this group test the code for this project" /collection:CollectionURL
/gun: Cambiar el nombre de un grupo
Use /gun para cambiar el nombre de un grupo de nivel de servidor o de nivel de colección.
tfssecurity /gun GroupIdentity GroupName [/collection:CollectionURL] [/server:ServerURL]
Prerrequisitos
Para usar el comando /gun, debe tener los permisos de Ver información de nivel de colección y Editar información de nivel de colección, o Ver información de nivel de instancia y Editar información de nivel de instancia establecidos en Permitir, dependiendo de si está utilizando el parámetro /collection o /server, respectivamente. Para más información, consulte Referencia de permisos y grupos de seguridad.
Parámetros
| Argumento | Descripción |
|---|---|
| Identidad del Grupo | Especifica la identidad del grupo. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo. |
| Nombre del Grupo | Especifica el nuevo nombre del grupo. |
| /collection :CollectionURL | Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName / |
| /server :ServerURL | Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName |
Observaciones
Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.
Ejemplo: Cambiar el nombre de un grupo de seguridad
En el ejemplo siguiente se cambia el nombre del grupo de nivel de colección "A. De «Datum Corporation Testers» a «A». Ingenieros de pruebas de Datum Corporation".
Nota:
Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.
tfssecurity /gun "A. Datum Corporation Testers" "A. Datum Corporation Test Engineers" /collection:CollectionURL
Identidades y pertenencia
/i: Mostrar información de identidad para un grupo especificado
Use /i para mostrar la información de identidad de un grupo especificado en una implementación de Azure DevOps Server.
tfssecurity /i Identity [/collection:CollectionURL] [/server:ServerURL]
Prerrequisitos
Para usar el comando /i, debe tener el permiso para Ver información a nivel de colección o la información de la instancia -level configurado en Permitir, dependiendo de si utiliza el parámetro /collection o /server, respectivamente. Para más información, consulte Referencia de permisos y grupos de seguridad.
Parámetros
| Argumento | Descripción |
|---|---|
| identidad | Identidad del usuario o del grupo de aplicaciones. Para obtener más información sobre los especificadores de identidad, consulte Especificadores de identidad más adelante en este artículo. |
| /collection :CollectionURL | Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName / |
| /server :ServerURL | Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName |
Observaciones
Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.
El comando /i de la utilidad de línea de comandos TFSSecurity muestra información sobre cada grupo dentro de la colección de proyectos (/servidor) o el servidor de nivel de aplicación (/instancia). No muestra ninguna información de pertenencia.
Ejemplo: Enumerar la información de identidad de un grupo de seguridad
En el ejemplo siguiente se muestra información de identidad para el grupo "Administradores de Team Foundation".
Nota:
Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.
tfssecurity /i "Team Foundation Administrators" /server:ServerURL
Salida del ejemplo:
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.
Ejemplo: Mostrar información de identidad para un grupo de seguridad
En el ejemplo siguiente se muestra información de identidad para el grupo Administradores de la colección de proyectos mediante el especificador de identidad adm: .
tfssecurity /i adm: /collection:CollectionURL
Salida del ejemplo:
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.
En el ejemplo siguiente se muestra información de identidad para el grupo Administradores de proyectos para el proyecto "Datum" mediante el especificador de identidad adm: .
tfssecurity /i adm:vstfs:///Classification/TeamProject/ProjectGUID /collection:CollectionURL
Salida del ejemplo:
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: Mostrar información sobre las identidades que componen la afiliación directa
Use /im para mostrar información sobre las identidades que componen la pertenencia directa de un grupo que especifique.
tfssecurity /im Identity [/collection:CollectionURL] [/server:ServerURL]
Prerrequisitos
Para usar el comando /im, debe tener el permiso Ver información a nivel de colección o Ver información a nivel de instancia establecido en Permitir, dependiendo de si está utilizando el parámetro /collection o /server, respectivamente. Para más información, consulte Referencia de permisos y grupos de seguridad.
Parámetros
| Argumento | Descripción |
|---|---|
| identidad | Identidad del usuario o del grupo. Para obtener más información sobre los especificadores de identidad, consulte Especificadores de identidad más adelante en este artículo. |
| /collection :CollectionURL | Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName / |
| /server :ServerURL | Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName |
Observaciones
Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.
El comando /im de TFSSecurity muestra solo los miembros directos del grupo especificado. Esta lista incluye otros grupos que son miembros del grupo especificado. Sin embargo, los miembros reales de los grupos de miembros no aparecen en la lista.
Ejemplo: Mostrar identidades de pertenencia para un grupo de seguridad
En el ejemplo siguiente se muestra información de identidad de pertenencia directa para el grupo "Administradores de Team Foundation" del dominio "Datum1" en la empresa ficticia "A". Datum Corporation".
Nota:
Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.
tfssecurity /im "Team Foundation Administrators" /server:ServerURL
Salida del ejemplo:
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.
Ejemplo: Mostrar información de identidad para un grupo de seguridad
En el ejemplo siguiente se muestra información de identidad para el grupo Administradores de colecciones de proyectos en la colección de proyectos "DatumOne" del dominio "Datum1" en la empresa ficticia "A". Datum Corporation" mediante el especificador adm: identity.
tfssecurity /im adm: /collection:CollectionURL
Salida del ejemplo:
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.
Ejemplo: Mostrar información de identidad para un grupo de seguridad mediante un especificador de identidad
En el ejemplo siguiente se muestra información de identidad para el grupo Administradores del proyecto "Datum" en la colección de proyectos "DatumOne" del dominio "Datum1" en la empresa ficticia "A". "Datum Corporation" utilizando el especificador de identidad adm:.
tfssecurity /im adm:vstfs:///Classification/TeamProject/ProjectGUID /collection:CollectionURL
Salida del ejemplo:
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: mostrar información sobre las identidades que tiene la membresía expandida
Use /imx para mostrar información sobre las identidades que componen la pertenencia expandida de un grupo especificado.
tfssecurity /imx Identity [/collection:CollectionURL] [/server:ServerURL]
Prerrequisitos
Para usar el comando /imx, debe tener el permiso Ver información a nivel de colección o a nivel de instancia configurado en Permitir, dependiendo de si usa el parámetro /collection o /server, respectivamente. Para más información, consulte Referencia de permisos y grupos de seguridad.
Parámetros
| Argumento | Descripción |
|---|---|
| identidad | Identidad del usuario o del grupo. Para obtener más información sobre los especificadores de identidad, consulte Especificadores de identidad más adelante en este artículo. |
| /collection :CollectionURL | Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName / |
| /server :ServerURL | Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName |
Observaciones
Ejecute este comando en un servidor de nivel de aplicación para Azure DevOps.
El comando /imx de TFSSecurity muestra solo los miembros expandidos del grupo especificado. Esta lista incluye no solo otros grupos que son miembros del grupo especificado, sino también los miembros de los grupos de miembros.
Ejemplo: Mostrar información de pertenencia expandida para un grupo de seguridad
En el ejemplo siguiente se muestra información de identidad de pertenencia expandida para el grupo "Administradores de Team Foundation" del dominio "Datum1" en la empresa ficticia "A". Datum Corporation".
Nota:
Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.
tfssecurity /imx "Team Foundation Administrators" /server:ServerURL
Salida del ejemplo:
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.
En el ejemplo siguiente se muestra información de identidad para el grupo Administradores de colecciones de proyectos en la colección de proyectos "DatumOne" del dominio "Datum1" en la empresa ficticia "A". "Datum Corporation" utilizando el especificador de identidad adm:.
tfssecurity /imx adm: /collection:CollectionURL
Salida del ejemplo:
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.
Ejemplo: Mostrar información de identidad para un grupo de seguridad mediante un especificador de identidad
En el ejemplo siguiente se muestra información de identidad para el grupo Administradores del proyecto "Datum" en la colección de proyectos "DatumOne" del dominio "Datum1" en la empresa ficticia "A". "Datum Corporation" utilizando el especificador de identidad adm:.
tfssecurity /imx adm:vstfs:///Classification/TeamProject/ProjectGUID /collection:CollectionURL
Salida del ejemplo:
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 obtener más información sobre los especificadores de salida, como [G] y [U], vea Especificadores de identidad más adelante en este artículo.
/m: Comprobación de la pertenencia explícita e implícita a grupos
Use /m para comprobar la información de pertenencia a grupos explícita e implícita de un grupo o usuario especificado.
tfssecurity /m GroupIdentity [MemberIdentity] [/collection:CollectionURL] [/server:ServerURL]
Prerrequisitos
Para usar el comando /m , debe ser miembro del grupo de seguridad Administradores de Team Foundation. Para más información, consulte Referencia de permisos y grupos de seguridad.
Nota:
Incluso si ha iniciado sesión con credenciales administrativas, debe abrir un símbolo del sistema con privilegios elevados para realizar esta tarea.
Parámetros
| Argumento | Descripción |
|---|---|
| Identidad del Grupo | Especifica la identidad del grupo. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo. |
| Identidad de Miembro | Especifica la identidad del miembro. De forma predeterminada, el valor de este argumento es la identidad del usuario que ejecuta el comando. Para obtener más información sobre los especificadores de identidad válidos, consulte Especificadores de identidad más adelante en este artículo. |
| /collection :CollectionURL | Obligatorio si no se usa /server . Especifica la dirección URL de una colección de proyectos con el siguiente formato: http:// NombreDeServidor: Puerto / VirtualDirectoryName CollectionName / |
| /server :ServerURL | Obligatorio si no se usa /collection . Especifica la dirección URL de un servidor de nivel de aplicación en el formato siguiente: http:// NombreServidor : Puerto / VirtualDirectoryName |
Observaciones
Ejecute este comando en el equipo local de nivel de aplicación.
El comando /m de la utilidad de línea de comandos TFSSecurity comprueba las pertenencias directas y extendidas.
Ejemplo: Comprobación de la pertenencia de un usuario en un grupo de seguridad
En el ejemplo siguiente se comprueba si el usuario "Datum1\jpeoples" pertenece al grupo de nivel de servidor Administradores de Team Foundation.
Nota:
Los ejemplos son solo para la ilustración y son ficticios. No se pretende establecer ni inferir ninguna asociación real.
tfssecurity /m "Team Foundation Administrators" n:Datum1\jpeoples /server:http://ADatumCorporation:8080
Salida del ejemplo:
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.
Espacios de nombres de seguridad
Nota:
Los espacios de nombres y los tokens son válidos para todas las versiones de Azure DevOps. Los espacios de nombres están sujetos a cambios a lo largo del tiempo. Para obtener la lista más reciente de espacios de nombres, utilice alguna de las herramientas de línea de comandos o la API REST. Algunos espacios de nombres se han quedado en desuso. Para obtener más información, consulte Referencia de permisos y espacio de nombres de seguridad.
Especificadores de identidad
Puede hacer referencia a una identidad mediante una de las notaciones de la tabla siguiente.
| Especificador de identidad | Descripción | Ejemplo |
|---|---|---|
| Sid: Sid. | Hace referencia a la identidad que tiene el identificador de seguridad (SID) especificado. | sid:S-1-5-21-2127521184-1604012920-1887927527-588340 |
| n:[Dominio]Nombre | Hace referencia a la identidad que tiene el nombre especificado. Para Windows, Name es el nombre de la cuenta. Si la identidad a la que se hace referencia está en un dominio, se requiere el nombre de dominio. En el caso de los grupos de aplicaciones, Name es el nombre para mostrar del grupo y Domain es el URI o GUID del proyecto contenedor. En este contexto, si se omite Domain, se supone que el ámbito está en el nivel de colección. | Para hacer referencia a la identidad del usuario "John Peoples" en el dominio "Datum1" en la empresa ficticia "A". Datum Corporation:" n:DATUM1\jpeoples Para hacer referencia a grupos de aplicaciones: n:"Empleados a tiempo completo" n:00a10d23-7d45-4439-981b-d3b3e0b0b1ee\Vendors |
| adm:[Scope] | Hace referencia al grupo de aplicaciones administrativas para el ámbito, como "Administradores de Team Foundation" para el nivel de servidor o "Administradores de colecciones de proyectos" en el nivel de colección. El parámetro opcional Scope es un URI o dirección URL del proyecto, incluido su GUID y la cadena de conexión. Si se omite el ámbito, se supone que el ámbito de servidor o colección se basa en si se usa el parámetro /instance o /server. En cualquier caso, los dos puntos siguen siendo necesarios. | adm:vstfs:///Classification/TeamProject/ GUID |
| srv: | Hace referencia al grupo de aplicaciones para cuentas de servicio. | No aplicable |
| todo: | Hace referencia a todos los grupos e identidades. | No aplicable |
| Cuerda | Hace referencia a una cadena no calificada. Si String comienza con S-1-, se identifica como un SID. Si String comienza con CN= o LDAP:// se identifica como un nombre distintivo. De lo contrario, String se identifica como un nombre. | "Evaluadores de equipo" |
Marcadores de tipo
Los siguientes marcadores se usan para identificar tipos de identidades y ACE en los mensajes de salida.
Marcadores de tipo de identidad
| Marcador de tipo de identidad | Descripción |
|---|---|
| U | Usuario de Windows. |
| G | Grupo de Windows. |
| A | Grupo de aplicaciones de Azure DevOps Server. |
| a [ A ] | Grupo de aplicaciones administrativas. |
| s [ A ] | Grupo de aplicaciones de cuenta de servicio. |
| X | La identidad no es válida. |
| ? | La identidad es desconocida. |
Mecanismos de registro de control de acceso
| Marcador de entrada de control de acceso | Descripción |
|---|---|
| + | PERMITIR la entrada del control de acceso. |
| - | Denegar entrada de control de acceso. |
| * [] | Entrada de control de acceso heredada. |