Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Disabled orgs are still granted permissions through the Check API

Abierto
#1,863 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
38/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
go, postgres

Línea de trabajo

Empieza rastreando CheckResourcePermission, BatchCheckPermission y CheckFederatedResourcePermission; después, sigue los flujos existentes de deshabilitación y habilitación, así como el esquema de autorización. Implementa la relación suspended recomendada de SpiceDB, incluida la migración del esquema, las actualizaciones de tuplas y un backfill para las organizaciones actualmente deshabilitadas. Se considera terminado cuando las tres comprobaciones deniegan el acceso a los recursos de organizaciones deshabilitadas, mientras los permisos de plataforma y superusuario siguen funcionando.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

The disabled-org gate added in #1860 covers the management and resource RPCs (the authorization map), but the SpiceDB Check API is deliberately out of its scope:

  • CheckResourcePermission
  • BatchCheckPermission
  • CheckFederatedResourcePermission

These are on the authorization skip list and answer purely from SpiceDB tuples. Because disabling an org leaves its tuples in place (by design, so re-enable restores access), these endpoints keep returning allowed = true for resources of a disabled org. External services that gate their own access on these checks will keep serving a disabled org's resources.

Two ways to close it

  1. Handler/service guard (Postgres read): resolve each checked resource to its org and return false when the org is disabled. Simple, no migration, but adds 1–3 point reads per check on a hot path, and overloads "denied" to also mean "suspended".
  2. SpiceDB marker relation (preferred): add a suspended relation on the org that every permission subtracts (- org->suspended); write the tuple on disable, remove it on enable. Reflects org state in every check — single, batch, and federated — with no extra Postgres reads, since it rides the existing permission traversal. Requires a schema migration, disable/enable flow changes, and a backfill for currently-disabled orgs. Care needed so platform/superuser permissions are not subtracted (admins must still manage and re-enable).

Recommendation: option 2.

Relates to #1585.

Lenguaje dominante
Go
Estrellas
344
Forks
48
Merge medio
1 d 22 h
PR fusionados (30 d)
38

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de raystack/frontier

Todos los issues de raystack/frontier

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.