Si creas un codespace para un repositorio al que solo tienes acceso de lectura, realiza una confirmación en el codespace. GitHub Codespaces vincula automáticamente el codespace a una bifurcación nueva o existente del repositorio y actualiza el token para que tenga el permiso read
y write
para la bifurcación.
Para obtener más información, vea «Utilizar el control de código fuente en tu codespace». Si creas un codespace a partir de una plantilla, publica el codespace en un repositorio nuevo. GitHub Codespaces actualiza el token para que tenga el permiso read
y write
en el repositorio nuevo.
- Para obtener más información, vea «Creación de un codespace a partir de una plantilla». Si el proyecto necesita permisos adicionales para otros repositorios, puedes configurarlo en el archivo
devcontainer.json
y asegurarte de que otros colaboradores tengan el conjunto adecuado de permisos. - Cuando se muestren permisos en el archivo
devcontainer.json
, se te pedirá que revises y autorices los permisos adicionales como parte de la creación del codespace para ese repositorio. Cuando hayas autorizado los permisos enumerados, GitHub Codespaces recordará tu elección y no te pedirá autorización a menos que cambien los permisos del archivodevcontainer.json
.
Para obtener más información, vea «Seguridad en GitHub Codespaces». Prerrequisitos Para crear codespaces con permisos personalizados definidos, debes usar uno de los siguientes:
La interfaz de usuario web de GitHub
La CLI de GitHub 2.5.2 o posterior
La extensión de GitHub CodespacesVisual Studio Code 1.5.3 o superior.
- Establecimiento de permisos de repositorio adicionales
- Los permisos del repositorio se configuran para GitHub Codespaces en el archivo
devcontainer.json
. - Si el repositorio aún no contiene un archivo
devcontainer.json
, agregue uno ahora.
Para obtener más información, "Incorporación de una configuración de contenedor de desarrollo al repositorio".
-
Edita el archivo
devcontainer.json
y agrega el nombre del repositorio y los permisos necesarios para el objetorepositories
:Nota: Solo puedes hacer referencia a repositorios que pertenezcan a la misma cuenta personal u organización que el repositorio en el que estés trabajando actualmente. -
JSON { "customizations": { "codespaces": { "repositories": { "my_org/my_repo": { "permissions": { "issues": "write" } } } } } }
Puedes conceder los permisos que quieras, ya sean muchos o pocos, para cada repositorio que se muestra:
actions
: lectura/escriturachecks
: lectura/escrituracontents
: lectura/escrituradeployments
: lectura/escrituradiscussions
: lectura/escrituraissues
: lectura/escriturapackages
: lecturapages
: lectura/escriturapull_requests
: lectura/escriturarepository_projects
: lectura/escriturastatuses
: lectura/escrituraworkflows
: escritura- Para establecer un permiso para un repositorio en una organización, debes agregar explícitamente el nombre de ese repositorio en el objeto
repositories
. - Para establecer todos los permisos de un repositorio determinado, usa
"permissions": "read-all"
o"permissions": "write-all"
en el objeto de repositorio. - Autorización de permisos solicitados
Si se definen permisos de repositorio adicionales en el archivo
devcontainer.json
, se te pedirá que revises y, opcionalmente, autorices los permisos al crear un codespace o una configuración de precompilación para este repositorio.{ "customizations": { "codespaces": { "repositories": { "my_org/my_repo": { "permissions": { "issues": "write" } } } } } }
Al autorizar permisos para un repositorio, GitHub Codespaces no se te volverá a pedir a menos que el conjunto de permisos solicitados haya cambiado para el repositorio.
{ "customizations": { "codespaces": { "repositories": { "my_org/my_repo": { "permissions": "write-all" } } } } }
Captura de pantalla de la página de permisos solicitados.
Se muestran dos permisos como solicitados: permiso de lectura para metadatos y permiso de escritura para problemas. Solo debes autorizar los permisos para los repositorios que conoces y en los que confías.
Solo puedes autorizar los permisos que tu cuenta personal ya posee. Si un codespace solicita permisos para repositorios a los que no tienes acceso actualmente, ponte en contacto con un propietario o administrador del repositorio para obtener acceso suficiente e intenta crear de nuevo un codespace. Acceso y seguridad
Para habilitar el acceso expandido a otros repositorios, agrega los permisos solicitados a la definición del contenedor de desarrollo del codespace, tal como se ha descrito anteriormente.
Cuando habilitas el acceso y la seguridad de un repositorio que pertenezca a tu cuenta personal, cualquier codespace que se cree para este tendrá permisos de lectura en el resto de los repositorios de tu propiedad. Si quieres restringir los repositorios a los que puede acceder un codespace, puedes limitarlos a ya sea el repositorio para el cual se abrió el codespace o a repositorios específicos.
Solo debes habilitar el acceso y la seguridad para los repositorios en los cuales confíes.
-
En la esquina superior derecha de cualquier página, haga clic en la foto del perfil y, luego, en Settings (Configuración).
1. En la sección "Código, planificación y automatización" de la barra lateral, haz clic en Codespaces. En "Access and security" (Acceso y seguridad); selecciona la configuración que quieras para tu cuenta personal. Captura de pantalla de las opciones "Acceso y seguridad": "Deshabilitado", "Todos los repositorios" (actualmente seleccionados) y "Repositorios seleccionados".
Si eliges "Repositorios seleccionados", selecciona el menú desplegable y luego haz clic en un repositorio para permitir que los codespaces de este accedan al resto de los repositorios que te pertenecen.
-
Repite esto para todos los repositorios cuyos codespaces quieras que accedan al resto de tus repositorios.
-
En el menú desplegable se muestran dos repositorios. Repeat for all repositories whose codespaces you want to access other repositories you own.