Visual Studio Team Services

Estableciendo seguridad de control de código fuente en Visual Studio Team Services

El control de código fuente nos brinda una gran ayuda para administrar nuestros proyectos sin embargo en algunas ocasiones puede que por una acción que realicemos no funcione tan bien como esperábamos, por ejemplo:

Se está desarrollando un software y se tienen dos repositorios (producción y pruebas) , los cambios que realizamos primero deben de pasar a «pruebas» y si son aceptados entonces se envían a producción pero que sucede si se nos olvida este detalle y enviamos los cambios a «producción» ; bueno existe la posibilidad que no afecten pero si afectan pueden  echar a perder el trabajo.

Visual Studio Team Services (VSTS) nos brinda la posibilidad de tener un manejo de los cambios que se van a realizar en los repositorios, es decir se puede configurar si un usuario tiene acceso a cierta área del proyecto para contribuir, solo para lectura o bien que pueda contribuir sin embargo cuando envíe los cambios para que surtan efecto deben ser aprobados por una persona o equipo determinado. Hoy vamos aprender a establecer los permisos de un usuario o equipo en un repositorio.

Vamos a ingresar en el panel de nuestro repositorio de VSTS , agregamos un usuario (en este artículo explico al respecto) y damos click en el icono del engrane que se encuentra en el menú superior.

00

Aparece una nueva ventana en la que podemos administrar todo nuestro espacio de trabajo, de momento vamos a trabajar en la sección de «Control de código fuente».

Cuando se abre la sección vamos a observar tres secciones:

  1. Repositorios: en la sección izquierda podemos seleccionar si se va establecer permisos para todos los repositorios, un repositorio o una rama del proyecto.
  2. Grupos y usuarios: en la sección del centro podemos seleccionar el grupo o el usuario al que estamos estableciendo los permisos.
  3. Permisos: en la sección derecha aparecen los permisos y el estado de cada uno de ellos.

00

Cuando nosotros agregamos un usuario en el panel por defecto se agrega en el grupo de «Contribuidores» lo que nos brinda la posibilidad de realizar cambios y enviarlos pero vamos a cambiar un poco este comportamiento, para ello vamos a iniciar agregando un usuario y después un grupo.

Usuario

para ello damos click en  «Agregar» seguido de «Agregar Usuario»

01

Nos va solicitar el nombre de usuario o la cuenta Microsoft del usuario, vamos a ingresar estos datos y lo seleccionamos

02

02a

Una vez agregado vamos a seleccionar el usuario y nos van a aparecer los permisos de éste,  para cada permiso hay tres estados:

  1. Permitir: Permite el acceso a la acción
  2. Denegar:  Impide el acceso a la acción
  3. Sin establecer: Hereda el estado del padre, es decir si está en un grupo toma el permiso de éste.

Como había mencionado este usuario está en el grupo de «Contribuidores» por lo que va heredar los permisos de éste, pero vamos a indicar que no tiene permiso para hacer un push y leer por lo que establecemos estos estados en «Denegado»

03

Ahora si intentamos leer los datos del repositorio o hacer un push nos va aparecer un mensaje que indica que no se logró encontrar el repositorio (en este caso voy a trabajar con la línea de comandos pero ustedes pueden realizarlo desde una interfaz)

Fetch


git fetch
fatal: repository 'https://nuestraurl/' not found

Push


git push
fatal: repository 'https://nuestraurl/' not found

Ahora si cambiamos los permisos

04

 

Fetch


git fetch

nuestropath [master]>;

Push


git push
Counting objects: XX, done.
Delta compression using up to X threads.
Compressing objects: 100% (X/X), done.
Writing objects: 100% (X/X), X bytes | X bytes/s, done.
Total X (delta X), reused 0 (delta 0)
remote: Analyzing objects... (X/X) (Xms)
remote: Storing packfile... done (X ms)
remote: Storing index... done (X ms)
To https://nuestraurl  master -> master

Grupo

Acá les recomiendo que primero eliminen las configuraciones por defecto que se tiene en el equipo de trabajo ya que él los agrega a contribuidores y si ustedes establecen un nuevo permiso puede que no lo sobre escriba y tengan que realizar otros cambios.

Primero vamos a eliminar la acción por defecto de que cuando se añada un usuario se agregue al grupo de contribuidores

00

Una vez eliminadas las configuraciones vamos a agregar un grupo existente (acá pueden encontrar más información respecto a crear grupos)

06.png

07.PNG

Cuando se agrega vamos a establecer los permisos para que no tenga acceso al repositorio

08.PNG

Si se intenta obtener los últimos cambios

Fetch


git fetch
fatal: repository 'https://nuestraurl/' not found

Push


git push
fatal: repository 'https://nuestraurl/' not found

Ahora si cambiamos los permisos

10.png

Fetch


git fetch

nuestropath [master]>

Push


git push
Counting objects: XX, done.
Delta compression using up to X threads.
Compressing objects: 100% (X/X), done.
Writing objects: 100% (X/X), X bytes | X bytes/s, done.
Total X (delta X), reused 0 (delta 0)
remote: Analyzing objects... (X/X) (Xms)
remote: Storing packfile... done (X ms)
remote: Storing index... done (X ms)
To https://nuestraurl  master -> master

Bueno hemos aprendido a definir los permisos para un repositorio ya sea que se le apliquen a un usuario en específico o grupo, espero que les sea de ayuda 🙂

2 comentarios en “Estableciendo seguridad de control de código fuente en Visual Studio Team Services”

Deja un comentario