CommunityProgramación y desarrollogithub.com

pkasarda/authorization

Diseñar, implementar o revisar políticas de acceso para recursos y operaciones protegidas. Útil para nuevos puntos de entrada protegidos, roles, alcance de propiedad o inquilino, visibilidad de campos, enlaces de uso compartido, trabajos delegados y cambios de permisos. La autenticación por sí sola no resuelve el acceso; las ediciones puramente visuales no necesitan revisión de autorización.

¿Qué es authorization?

Esta habilidad de agente de IA guía el diseño, implementación y verificación de políticas de control de acceso en aplicaciones de software. Es útil cada vez que se introducen nuevos puntos de entrada protegidos, roles, propiedad de datos (por inquilino o propietario), visibilidad de campos, enlaces de uso compartido, trabajos delegados o cambios de permisos. La habilidad aclara que la autenticación (identidad) es diferente de la autorización (permiso para actuar), y que los permisos no resueltos son preguntas de producto, no excusas para defaults permisivos. Funciona con cualquier plataforma (APIs web/móviles, cargadores del lado del servidor, acciones, trabajos por lotes, integraciones) y se basa en el análisis de la política existente, la identidad y los dueños del dominio sin introducir nuevos marcos de trabajo. El proceso consiste en: (1) definir una matriz de políticas explícita para el flujo modificado, (2) encontrar todos los puntos de acceso afectados, (3) aplicar la decisión de autorización en cada frontera de confianza (lecturas, mutaciones, hijos acoplados, efectos secundarios), y (4) probar el límite con un conjunto pequeño de pruebas discriminantes que usan registros reales y señuelos, sin asumir que un chequeo de middleware o una UUID son suficientes. La habilidad también cubre la evaluación de concesiones, revocaciones y trabajos diferidos, y entrega la política, fuentes autoritativas, rutas afectadas, pruebas ejecutadas y brechas de configuración identificadas.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/pkasarda/skills/tree/HEAD/skills/authorization

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Autorización

Haga explícita cada decisión de acceso afectada, aplíquela en el límite real y demuestre tanto el comportamiento permitido como el denegado. Trabaje dentro del flujo solicitado; cargar esta habilidad no inicia una auditoría de toda la aplicación. Utilice la identidad, política y propietarios de dominio existentes antes de introducir un nuevo marco de trabajo.

Definir la política

Lea las decisiones de producto aceptadas y los llamadores reales. Registre una pequeña matriz de políticas para el flujo modificado: principal, operación, recurso, relación/ámbito/estado aplicable, campos de entrada/salida permitidos y resultado. Utilice roles, atributos, propiedad o capacidades según la necesidad real; un rol por sí solo puede no establecer acceso a un registro particular. Conserve intencionalmente permisos diferentes de lectura, escritura, exportación, uso compartido y administrativos.

Separe la autenticación de identidad del permiso para actuar. Obtenga identidad y concesiones del contexto de sesión, token o servicio de confianza. Los IDs, selectores de inquilino, campos de rol y estado de la UI seleccionan o describen una solicitud; no confieren autoridad. El acceso anónimo/público puede estar explícitamente permitido o con alcance de capacidad. La identidad o ámbito faltante no debe convertirse silenciosamente en una concesión global/del sistema. Mantenga los operadores privilegiados y la suplantación explícitos y atribuibles.

Por defecto, el acceso no coincidente debe denegarse y utilice la menor autoridad que satisfaga la política aceptada. Un permiso de negocio no decidido es una pregunta de producto, no una invitación a inventar un valor predeterminado permisivo. Continúe el trabajo independiente mientras esa elección no esté resuelta. Mantenga una demostración deliberadamente local y no compartida, distinta de un servicio que expone datos protegidos reales.

Encontrar cada ruta de acceso afectada

Siga el recurso afectado a través de sus puntos de entrada y propietarios reales. Incluya las API web/móviles relevantes, los cargadores renderizados del lado del servidor, las acciones, las importaciones, las operaciones por lotes, los trabajos y las integraciones. Inspeccione búsqueda/conteo/exportación, archivos, cachés y suscripciones cuando expongan los mismos hechos protegidos. Lea Superficies de acceso para esas rutas o para capacidades, delegación y revocación; seleccione las secciones aplicables.

Nombre el propietario de la política y los puntos de aplicación. Centralice el significado de la regla mientras la aplica dondequiera que los datos o efectos crucen los límites de confianza. Un chequeo de inicio de sesión en middleware, un guardia de UI, un UUID o una lectura exitosa anterior no son suficientes por sí solos. Una política del marco, una política de base de datos o un propietario con ámbito pueden funcionar; verifique su configuración real y credenciales de tiempo de ejecución en lugar de asumir que cubre rutas de evasión.

Aplicar la decisión

Para lecturas, restrinja la población de recursos autorizados antes de que los resultados abandonen el límite de confianza y restrinja los campos devueltos. Aplique una política equivalente a objetos relacionados y representaciones alternativas. Utilice la política de divulgación del producto para recursos faltantes frente a prohibidos; los errores, los conteos y las propiedades serializadas también pueden revelar hechos protegidos.

Para mutaciones, valide la acción, el objetivo y las relaciones resultantes, incluidas las claves foráneas proporcionadas por el usuario y los campos protegidos. Utilice campos de entrada permitidos en lugar de vincular toda una solicitud a una entidad persistente. Donde una intercalación alcanzable pueda invalidar la autoridad, aplique el ámbito, la membresía o el estado en el efecto utilizando la protección atómica o serialización adecuada del almacén. Los hijos acoplados y los efectos secundarios siguen la misma admisión. Mantenga un propietario completo existente; no agregue otro escritor de negocios meramente para insertar comprobaciones de autorización.

Defina cuándo se evalúan las concesiones y cuándo un cambio entra en vigor. El acceso actual, la atribución histórica inmutable y una obligación duradera aceptada previamente son contratos diferentes. Las repeticiones, la entrega retrasada y los trabajos delegados necesitan una autoridad/duración explícita; ni las credenciales de usuario obsoletas ni una identidad de sistema genérica responden a esa pregunta. Aplique la revocación y la recuperación según ese contrato sin cancelar silenciosamente obligaciones válidas ni ampliar su audiencia.

Probar el límite

Derive un pequeño conjunto de pruebas discriminantes de la matriz de políticas. A través del propietario real y el límite montado relevante, muestre a un actor válido completando la operación y denegaciones significativas: otro propietario en el mismo inquilino, otro inquilino, un rol más débil, capacidad anónima/malformada o concesión modificada cuando corresponda. Utilice registros objetivo reales y señuelos explícitos; afirme los campos protegidos, los efectos duraderos sin cambios y los registros no relacionados. Seleccione casos relevantes en lugar de ensayar cada combinación teórica.

Una política simulada que devuelve verdadero o falso no prueba ni su decisión ni la restricción de consulta/escritura. Pruebe predicados reales o políticas de almacén con autoridad de tiempo de ejecución realista. Para afirmaciones de acceso de UI, verifique una solicitud directa independientemente de la visibilidad del botón. No sondee las identidades de otras personas ni los datos compartidos/ en vivo; utilice accesorios autorizados aislados. Separe los hallazgos estáticos, los chequeos propuestos, las pruebas ejecutadas y las brechas de política de implementación.

Entregue la política, las fuentes autoritativas, las rutas afectadas, la aplicación y la prueba, además de las elecciones de producto no resueltas o la configuración externa. Una verificación aprobada está limitada a esas rutas; el procedimiento no certifica la seguridad general de la aplicación.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills relacionados