Skip to main content

Restringir el acceso a los tipos de máquina

Puedes configurar restricciones sobre los tipos de máquina que los usuarios pueden elegir cuando crean codespaces en la organización.

¿Quién puede utilizar esta característica?

To manage access to machine types for the repositories in an organization, you must be an owner of the organization.

Las organizaciones que tengan planes de GitHub Team y GitHub Enterprise pueden pagar por la utilizacion de miembros y colaboradores de GitHub Codespaces. Así, las organizaciones podrán acceder a configuraciones y directivas para administrar codespaces pagados por la organización. Para obtener más información, vea «Selección de quién posee y paga los codespaces de una organización» y «Planes de GitHub».

Información general

Habitualmente, cuando creas un codespace, se te ofrece una selección de especificaciones para la máquina que lo ejecutará. Puedes elegir el tipo de máquina que se acople mejor a tus necesidades. Para más información, consulta Creación de un codespace para un repositorio.

Si pagas por utilizar GitHub Codespaces, entonces tu elección de tipo de máquina afectará cuánto se te factura. El coste del proceso de un codespace es proporcional al número de núcleos de procesador del tipo de máquina que elijas. Por ejemplo, el coste del proceso de usar un codespace durante una hora en una máquina de 16 núcleos es ocho veces mayor que en una máquina de dos núcleos. Para más información sobre los precios, consulta Acerca de la facturación de GitHub Codespaces.

Como propietario de organización, podrías querer configurar restricciones en los tipos de máquina que están disponibles. Por ejemplo, si el trabajo en tu organización no requiere de una potencia de cómputo o espacio de almacenamiento significativos, puedes eliminar las máquinas con muchos recursos de la lista de opciones que las personas pueden elegir. Para ello, define una o más políticas en la configuración de GitHub Codespaces de la organización.

Comportamiento cuando configuras una restricción de tipo de máquina

Si hay espacios de codespaces que ya no se ajustan a una directiva definida, estos codespaces seguirán funcionando hasta que se detengan o agoten el tiempo de espera. Cuando el usuario intenta reanudar el codespace, se muestra un mensaje que le indica que el tipo de máquina seleccionado actualmente ya no está permitido para esta organización y le pide que elija un tipo de máquina alternativo.

Si eliminas tipos de máquina con especificaciones más altas que la configuración de GitHub Codespaces requiere para un repositorio individual de tu organización, no se podrá crear un codespace en dicho repositorio. Cuando alguien intente crear un codespace, verá un mensaje que indica que no hay tipos de máquina válidos disponibles que cumplan los requisitos de la configuración de GitHub Codespaces del repositorio.

Note

Cualquiera que pueda editar el archivo de configuración devcontainer.json en un repositorio puede establecer una especificación mínima para las máquinas que se pueden usar para los codespaces de ese repositorio. Para más información, consulta Configurar una especificación mínima para las máquinas de los codespaces.

Si el hecho de configurar una política para los tipos de máquina impide el uso de GitHub Codespaces para un repositorio en particular, hay dos opciones:

  • Puedes ajustar tus políticas para que eliminen específicamente las restricciones del repositorio afectado.
  • Cualquiera que tenga un codespace al cuál ya no puedan acceder debido a la política nueva puede exportar su codespace a una rama. Esta rama contendrá todos los cambios de su codespace. Pueden abrir un codespace nuevo en esta rama con un tipo de máquina compatible o trabajar en ella localmente. Para más información, consulta Exportar los cambios a una rama.

Configurar políticas específicas para los repositorios y a lo largo de la organización

Cuando creas una política, eliges si esta aplica a todos los repositorios de tu organización o solo a algunos específicos. Si configuras una política a lo largo de la organización, entonces cualquier política que configures para los repositorios individuales debe de caer dentro de las restricciones que se configuraron a nivel organizacional. El agregar políticas hace que la elección de máquinas sea más restrictiva, no menos.

Por ejemplo, podrías crear una política en toda la organización, la cual restrinja los tipos de máquina a aquellos de 2 o 4 núcleos. Entonces podrás configurar una política para el repositorio "A" que lo restrinja a máquinas de 2 núcleos. El configurar una política para un repositorio "A", la cual lo restrinja a máquinas de 2, 4 u 8 núcleos, daría como resultado una elección de solo máquinas de 2 y 4 núcleos, ya que la política organizacional previene el acceso a máquinas de 8 núcleos.

Si agregas una política a nivel organizacional, deberías configurarla en la elección de tipos de máquina más grande que deberá estar disponible para cualquier repositorio de tu organización. Entonces podrás agregar las políticas específicas para los repositorios y así restringir aún más la elección.

Note

Las directivas de Codespaces solo se aplican a los codespaces que paga tu organización. Si alguien crea un codespace para un repositorio de tu organización por su cuenta, dicho codespace no estará sujeto a estas políticas. Para obtener más información, vea «Selección de quién posee y paga los codespaces de una organización».

Agregar una política para limitar los tipos de máquina disponibles

  1. En la esquina superior derecha de GitHub, seleccione la foto del perfil y haga clic en Sus organizaciones.

  2. Junto a la organización, haga clic en Settings.

  3. En la sección "Código, planificación y automatización" de la barra lateral, selecciona Codespaces y, después, haz clic en Directivas.

  4. En la página "Directivas de codespaces", haga clic en Crear directiva.

  5. Ingresa un nombre para tu política nueva.

  6. Haga clic en Add constraint y elija Machine types.

  7. Haz clic en para editar la restricción y luego borra la selección de cualquier tipo de máquina que no quieras que estén disponibles.

    Captura de pantalla de la lista desplegable "Valores permitidos" con opciones para cuatro tipos de máquina. Se seleccionan las opciones de las máquinas de 2 núcleos y 4 núcleos.

  8. Haz clic fuera del cuadro de diálogo para cerrarlo.

  9. De forma predeterminada, la directiva se establece para aplicarse a todos los repositorios; si deseas que se aplique solo a algunos de los repositorios de la organización, haz clic en Todos los repositorios y, a continuación, haz clic en Repositorios seleccionados en el menú desplegable.

    Captura de pantalla de la lista desplegable de selección del repositorio, en la que se muestran las opciones "Todos los repositorios" y "Repositorios seleccionados".

    Note

    Si vas a agregar una restricción a una directiva existente que ya contiene la restricción "Maximum codespaces per user", no podrás aplicar la directiva a los repositorios seleccionados. Esto se debe a que la restricción "Máximo de codespaces por usuario" siempre se aplica a todos los repositorios de la organización.

    Con la opción Repositorios seleccionados seleccionada:

    1. Haga clic en .

      Captura de pantalla del icono de configuración (un símbolo de engranaje) a la izquierda de un botón con la etiqueta "Repositorios seleccionados".

    2. Selecciona los repositorios a los cuales quieres que aplique esta política.

    3. En la parte inferior de la lista de repositorios, haga clic en Select repositories.

      Captura de pantalla de una lista de repositorios, cada uno con una casilla. Hay tres repositorios seleccionados.

  10. Si quieres agregar otra restricción a la directiva, haz clic en Agregar restricción y elige otra restricción. Para obtener información sobre otras restricciones, consulta:

  11. Cuando hayas terminado de agregar restricciones a la directiva, haz clic en Guardar.

La directiva se aplicará a todos los codespaces nuevos que se facturen a tu organización. La restricción de tipo de máquina también se aplica a los codespaces existentes cuando alguien intenta reiniciar un codespace detenido o volver a conectarse a un codespace activo.

Editar una política

Puedes editar una directiva existente. Por ejemplo, puede que te interese agregar restricciones a una directiva o quitarlas.

  1. Mostrar la página de "Políticas del Codespaces". Para obtener más información, consulta Agregar una política para limitar los tipos de máquina disponibles.
  2. Haz clic en el nombre de la política que quieres editar.
  3. Junto a la restricción "Tipos de máquina", haz clic en .
  4. Realice los cambios necesarios y haga clic en Save.

Borrar una política

  1. Mostrar la página de "Políticas del Codespaces". Para obtener más información, consulta Agregar una política para limitar los tipos de máquina disponibles.

  2. Haz clic en a la derecha de la directiva que quieres eliminar.

    Captura de pantalla de una directiva con el botón Eliminar (icono de papelera) resaltado con un contorno naranja oscuro.

Información adicional