Codex Seguridad y Gestión Empresarial
Codex ofrece mecanismos de seguridad de múltiples niveles y funciones de gestión empresarial, garantizando la seguridad de los datos y soportando la colaboración en equipo.
Descripción general del mecanismo de seguridad
El diseño de seguridad de Codex se divide en múltiples niveles:
| Nivel | Mecanismo | Función |
|---|---|---|
| Aislamiento de sandbox | Modo sandbox | Limita el alcance de acceso a archivos y comandos |
| Política de aprobación | Approval Policy | Controla la confirmación antes de ejecutar acciones |
| Motor de reglas | Rules | Define los permisos de ejecución de comandos |
| Control de red | Configuración de acceso a la red | Limita el acceso a redes externas |
| Protección de datos | Funciones empresariales | Registro de auditoría, residencia de datos |
Modo Sandbox
Sandbox es el mecanismo de seguridad central de Codex y limita el alcance de las operaciones del Agente.
Tres modos de sandbox
| Modo | Modificación de archivos | Ejecución de comandos | Acceso a la red | Escenarios de uso |
|---|---|---|---|---|
| read-only | Prohibido | Prohibido | Prohibido | Revisión de código, análisis |
| workspace-write | Solo espacio de trabajo | Permitido | Prohibido | Desarrollo diario (recomendado) |
| danger-full-access | Permitido | Permitido | Permitido | Escenarios especiales (usar con precaución) |
Configurar el modo sandbox
Configuración de sandbox
codex --sandbox read-only
codex --sandbox workspace-write
codex --sandbox danger-full-access
# Archivo de configuración
[mycode4 type="toml"]
# ~/.codex/config.toml
sandbox = "workspace-write"
[/mycode4]
Límites del sandbox
- Límite del espacio de trabajo: el modo workspace-write solo permite modificar archivos dentro del directorio del proyecto
- Límite de comandos: read-only prohíbe la ejecución de todos los comandos
- Límite de red: por defecto, se prohíbe el acceso a la red durante la fase del Agente
Se recomienda usar el modo workspace-write por defecto, y usar danger-full-access solo cuando sea necesario.
Política de aprobación (Approval)
La política de aprobación controla el comportamiento de confirmación de Codex antes de ejecutar operaciones.
Cuatro modos de aprobación
| Modo | Comportamiento | Nivel de riesgo |
|---|---|---|
| suggest | Solo proporciona sugerencias, no ejecuta ninguna acción | Mínimo |
| interactive | Solicita confirmación antes de operaciones sensibles | bajo |
| auto-edit | Edita archivos automáticamente, los comandos requieren confirmación | Medio |
| full-auto | Ejecuta todas las operaciones automáticamente | Alto |
Configurar la política de aprobación
Configuración de aprobación
codex --approval-mode interactive
# Cambiar durante la sesión
/approval suggest
/approval auto-edit
# Archivo de configuración
[mycode4 type="toml"]
approval_policy = "interactive"
[/mycode4]
Motor de reglas (Rules)
Rules utiliza el lenguaje Starlark para definir políticas de ejecución de comandos.
Tipos de reglas
| Regla | Descripción |
|---|---|
| prefix_rule | Coincide con el prefijo del comando |
| glob_rule | Coincide con patrones de ruta de archivo |
Tipos de decisión
| Decisión | Comportamiento |
|---|---|
allow | Aprobar ejecución automáticamente |
prompt | Solicitar confirmación al usuario |
forbidden | Prohibir la ejecución |
Ejemplo de reglas
Definición de reglas
# Permitir comandos de Git
prefix_rule(
pattern = ["git"],
decision = "allow",
justification = "Git commands are safe for version control"
)
# Permitir npm install
prefix_rule(
pattern = ["npm", "install"],
decision = "allow",
justification = "Package installation is expected"
)
# Prohibir eliminar el directorio raíz
prefix_rule(
pattern = ["rm", "-rf", "/"],
decision = "forbidden",
justification = "Prevent system damage"
)
# Preguntar por el comando sudo
prefix_rule(
pattern = ["sudo"],
decision = "prompt",
justification = "Elevated privileges need review"
)
Control de acceso a la red
Controla la capacidad de acceso a la red de Codex, evitando la fuga de datos.
Control de red en la nube
| Fase | Acceso predeterminado | Descripción |
|---|---|---|
| Script de configuración | Permitido | Requiere descargar dependencias |
| Ejecución del agente | Prohibido | Deshabilitado por defecto, se puede habilitar |
Lista blanca de dominios
Configuración de red
domain_allowlist = "common-dependencies"
# Incluye: github.com, npmjs.com, pypi.org
# Dominio personalizado
domain_allowlist = [
"github.com",
"api.mycompany.com"
]
# Limitar métodos HTTP
allowed_methods = ["GET", "HEAD", "OPTIONS"]
Riesgos de seguridad
Riesgos que puede conllevar habilitar el acceso a la red del Agente:
- Inyección de prompts: obtener instrucciones de páginas web maliciosas
- Fuga de datos: enviar código o claves al exterior
- Dependencias maliciosas: descargar paquetes que contienen código malicioso
Solo habilite el acceso a la red del Agente cuando sea necesario y use la lista blanca de dominios para restringirlo.
Funciones de gestión empresarial
El plan Enterprise ofrece funciones de seguridad y gestión a nivel empresarial.
Resumen de funciones empresariales
| Función | Descripción |
|---|---|
| SCIM | Aprovisionamiento automático de usuarios |
| SAML SSO | Integración de inicio de sesión único (SSO) |
| MFA | Autenticación multifactor |
| EKM | Gestión de claves empresariales |
| RBAC | Control de acceso basado en roles |
| Registro de auditoría | Registro completo de operaciones |
| Residencia de datos | Especificar la región de almacenamiento de datos |
Configuración administrada
Los administradores de la empresa pueden distribuir una configuración unificada.
Prioridad de la configuración administrada
Orden de combinación de configuraciones:
- Configuración administrada (distribuida por la empresa) — prioridad más alta
- Configuración del proyecto (.codex/config.toml)
- Configuración de usuario (~/.codex/config.toml) — prioridad más baja
Ejemplo de configuración administrada
Configuración administrada empresarial
# Forzar el modo sandbox
sandbox = "workspace-write"
# Forzar la política de aprobación
approval_policy = "interactive"
# Modelos deshabilitados
disabled_models = ["gpt-5.4-mini"]
# Lista blanca de red
domain_allowlist = ["github.com", "internal-api.company.com"]
# Configuración de auditoría
audit_logging = true
Registro de auditoría
El plan Enterprise ofrece una funcionalidad completa de registro de auditoría.
Contenido del registro
| Tipo de registro | Descripción |
|---|---|
| Registro de sesiones | Creación, modificación y eliminación de cada sesión |
| Llamadas a herramientas | Información detallada de lectura/escritura de archivos y ejecución de comandos |
| Llamadas al modelo | Llamadas a la API, uso de tokens |
| Operaciones de usuario | Autenticación de usuario, cambios de permisos |
Acceso a registros
Registro de auditoría
# Se puede exportar como:
- Formato JSON
Formato CSV
Formato de integración de sistema SIEM
Residencia de datos
Enterprise puede especificar la región de almacenamiento de datos.
Opciones de residencia
| Región | Descripción |
|---|---|
| Estados Unidos | Región predeterminada |
| Europa | Cumplimiento de GDPR |
| Otras regiones | Configurado según las necesidades de la empresa |
La configuración de residencia de datos requiere contactar al equipo de ventas.
Gestión de equipos
Aprovisionamiento de usuarios
Configuración SCIM
# Operaciones compatibles:
- Crear usuarios automáticamente
- Actualizar atributos de usuario automáticamente
- Deshabilitar automáticamente/Eliminar usuarios
Permisos de roles
| Rol | Permisos |
|---|---|
| Admin | Permisos de administración total |
| Member | Permisos de uso estándar |
| Viewer | Permisos de solo lectura |
Mejores prácticas de seguridad
Uso diario
- Usar el modo sandbox workspace-write por defecto
- Usar el modo de aprobación interactive para operaciones sensibles
- Revisar periódicamente la configuración de Rules
- Almacenar API Keys como Secrets
Implementación empresarial
- Habilitar SAML SSO y MFA
- Configurar políticas unificadas de configuración gestionada
- Habilitar el registro de auditoría
- Configurar la residencia de datos según los requisitos de cumplimiento
- Restringir el acceso de red mediante listas blancas de dominios
Preguntas frecuentes
Q: ¿Cómo evitar que Codex elimine archivos importantes?
Utilice el modo sandbox read-only o workspace-write, agregue Rules para prohibir comandos de eliminación.
Q: ¿Cómo pueden las empresas unificar la configuración?
Use la función de configuración gestionada; los administradores empresariales pueden distribuir configuraciones unificadas que sobrescriben la configuración del usuario.
Q: ¿Qué información incluye el registro de auditoría?
Incluyen un registro completo de todas las sesiones, llamadas a herramientas, llamadas a modelos y acciones de usuario.
Q: ¿Cómo manejar datos sensibles?
Almacene información sensible con Secrets; solo está disponible en el script de configuración y se elimina automáticamente en la fase Agent.
Otras extensiones