GrantForge gestiona el acceso a 17 sistemas. Para cada uno, un plugin de servicio en el servidor de GrantForge describe los recursos y tipos de acceso del sistema, busca recursos para el editor de políticas y prueba la conexión; un agente aplica las políticas en el sistema e informa de cada acceso a la auditoría de accesos. Los plugins siguientes están ordenados por tipo de sistema, como en el menú.
Cómo aplican los agentes
Un agente aplica las políticas de una de tres maneras:
En el sistema
El sistema pregunta al agente en cada solicitud: un autorizador, coprocesador, control de acceso o plugin cargado en los procesos del propio sistema. Cada solicitud se decide al instante con la instantánea en memoria, hasta lo que hay por debajo de un recurso. El agente se instala en el sistema y se carga al reiniciarlo.
Sistemas: Apache Hadoop HDFS, Apache Hadoop YARN, Apache ZooKeeper, Apache Hive, Apache HBase, Trino, Apache Kafka, Apache Pulsar, Apache Solr
Junto al sistema
Un servicio junto al sistema mantiene el control de acceso propio del sistema, sus roles, permisos y políticas de filas, de acuerdo con las políticas. No se instala nada en el sistema, y el sistema verifica cada solicitud por sí mismo, por cualquier protocolo. Un cambio se aplica en la siguiente sincronización, diez segundos después por defecto; los permisos concedidos fuera de GrantForge se mantienen, y el agente avisa de los que una política deniega.
Sistemas: ClickHouse, Apache Doris, PostgreSQL, Elasticsearch, OpenSearch, MongoDB, Redis
Delante del sistema
Un proxy de red al que los clientes se conectan en lugar del servidor. Las sentencias se verifican, filtran y enmascaran antes de llegar al servidor; los clientes se conectan a través del proxy.
Sistemas: MySQL
Sistemas
| Tipo | Sistema | Aplicación | Filtros de filas | Enmascaramiento | Versiones verificadas |
|---|---|---|---|---|---|
| Base de datos relacional | MySQL · agente | Delante del sistema | Sí | Sí | 8.0, 8.4 |
| Base de datos relacional | PostgreSQL · agente | Junto al sistema | Sí | No (PostgreSQL no tiene enmascaramiento de columnas) | 15, 16, 17, 18 |
| Base de datos analítica (OLAP) | Apache Doris · agente | Junto al sistema | Sí | No (Doris enmascara valores solo a través de Apache Ranger) | 2.1, 3.1, 4.0, 4.1 |
| Base de datos analítica (OLAP) | ClickHouse · agente | Junto al sistema | Sí | No (ClickHouse enmascara columnas solo en su nube) | 24.8, 25.3, 25.8, 26.3, 26.8 |
| Base de datos de columnas anchas (NoSQL) | Apache HBase · agente | En el sistema | No | No | 2.5.16, 2.6.7, 3.0.0 |
| Base de datos documental | MongoDB · agente | Junto al sistema | No | No | 6.0, 7.0, 8.0, 9.0 |
| Almacén clave-valor | Redis · agente | Junto al sistema | No | No | Redis 7.2, 7.4, 8.2, 8.10; Valkey 8.1, 9.1 |
| Almacén de datos y motor de consulta | Apache Hive · agente | En el sistema | Sí | Sí | 3.1.3, 4.0.1, 4.1.0 |
| Almacén de datos y motor de consulta | Trino · agente | En el sistema | Sí | Sí | 470, 476, 479, 484 |
| Mensajería y streaming | Apache Kafka · agente | En el sistema | No | No | 3.7.2, 3.9.2, 4.1.2, 4.3.1 |
| Mensajería y streaming | Apache Pulsar · agente | En el sistema | No | No | 3.0.17, 3.3.9, 4.0.14, 4.2.5 |
| Motor de búsqueda | Apache Solr · agente | En el sistema | No | No | 9.8.1, 9.10.1, 9.11.0, 10.0.0 |
| Motor de búsqueda | Elasticsearch · agente | Junto al sistema | Sí | No (Elasticsearch no enmascara valores) | 8.19, 9.3, 9.4, 9.5 |
| Motor de búsqueda | OpenSearch · agente | Junto al sistema | Sí | Sí | 2.19, 3.3, 3.6, 3.9 |
| Almacenamiento distribuido | Apache Hadoop HDFS · agente | En el sistema | No | No | 2.7.7, 2.10.2, 3.2.4, 3.3.6, 3.4.3, 3.5.0 |
| Gestión de recursos | Apache Hadoop YARN · agente | En el sistema | No | No | 3.2.4, 3.3.6, 3.4.3, 3.5.0 |
| Coordinación | Apache ZooKeeper · agente | En el sistema | No | No | 3.9.5 (el agente se compila contra ZooKeeper 3.6.4) |
Las versiones son aquellas contra las que se ejecutan las pruebas de integración con Testcontainers del repositorio; otras versiones no están certificadas. Las páginas de cada plugin y de su agente dan los detalles.
Lo que hace todo agente
Todo agente descarga la instantánea de políticas de su servicio, verifica su firma Ed25519 antes de usarla y guarda la última válida en disco, de modo que sigue aplicando las políticas mientras el servidor de GrantForge no está disponible. Los accesos van por lotes a la auditoría de accesos, con los permitidos idénticos agrupados en un evento con su recuento, y se guardan en disco mientras no se puede llegar al servidor.
