GrantForge gestisce l’accesso a 17 sistemi. Per ciascuno, un plugin di servizio nel server GrantForge descrive le risorse e i tipi di accesso del sistema, cerca le risorse per l’editor delle policy e verifica la connessione; un agente applica le policy nel sistema e riporta ogni accesso all’audit degli accessi. I plugin qui sotto sono ordinati per tipo di sistema, come nel menu.
Come applicano gli agenti
Un agente applica le policy in uno di tre modi:
Nel sistema
Il sistema interroga l’agente a ogni richiesta: un autorizzatore, coprocessore, controllo degli accessi o plugin caricato nei processi del sistema stesso. Ogni richiesta è decisa subito dallo snapshot in memoria, fino a ciò che sta sotto una risorsa. L’agente è installato nel sistema e caricato al suo riavvio.
Sistemi: Apache Hadoop HDFS, Apache Hadoop YARN, Apache ZooKeeper, Apache Hive, Apache HBase, Trino, Apache Kafka, Apache Pulsar, Apache Solr
Accanto al sistema
Un servizio accanto al sistema mantiene il controllo degli accessi proprio del sistema, i suoi ruoli, permessi e row policy, allineato alle policy. Nel sistema non si installa nulla, e il sistema verifica da sé ogni richiesta, su ogni protocollo. Una modifica si applica alla sincronizzazione successiva, dieci secondi dopo per impostazione predefinita; i permessi concessi fuori da GrantForge restano, e l’agente avvisa di quelli che una policy nega.
Sistemi: ClickHouse, Apache Doris, PostgreSQL, Elasticsearch, OpenSearch, MongoDB, Redis
Davanti al sistema
Un proxy di rete a cui i client si collegano al posto del server. Le istruzioni sono verificate, filtrate e mascherate prima di raggiungere il server; i client si collegano tramite il proxy.
Sistemi: MySQL
Sistemi
| Tipo | Sistema | Applicazione | Filtri di righe | Mascheramento | Versioni verificate |
|---|---|---|---|---|---|
| Database relazionale | MySQL · agente | Davanti al sistema | Sì | Sì | 8.0, 8.4 |
| Database relazionale | PostgreSQL · agente | Accanto al sistema | Sì | No (PostgreSQL non ha il mascheramento delle colonne) | 15, 16, 17, 18 |
| Database analitico (OLAP) | Apache Doris · agente | Accanto al sistema | Sì | No (Doris maschera i valori solo tramite Apache Ranger) | 2.1, 3.1, 4.0, 4.1 |
| Database analitico (OLAP) | ClickHouse · agente | Accanto al sistema | Sì | No (ClickHouse maschera le colonne solo nel suo cloud) | 24.8, 25.3, 25.8, 26.3, 26.8 |
| Database a colonne larghe (NoSQL) | Apache HBase · agente | Nel sistema | No | No | 2.5.16, 2.6.7, 3.0.0 |
| Database documentale | MongoDB · agente | Accanto al sistema | No | No | 6.0, 7.0, 8.0, 9.0 |
| Archivio chiave-valore | Redis · agente | Accanto al sistema | No | No | Redis 7.2, 7.4, 8.2, 8.10; Valkey 8.1, 9.1 |
| Data warehouse e motore di query | Apache Hive · agente | Nel sistema | Sì | Sì | 3.1.3, 4.0.1, 4.1.0 |
| Data warehouse e motore di query | Trino · agente | Nel sistema | Sì | Sì | 470, 476, 479, 484 |
| Messaggistica e streaming | Apache Kafka · agente | Nel sistema | No | No | 3.7.2, 3.9.2, 4.1.2, 4.3.1 |
| Messaggistica e streaming | Apache Pulsar · agente | Nel sistema | No | No | 3.0.17, 3.3.9, 4.0.14, 4.2.5 |
| Motore di ricerca | Apache Solr · agente | Nel sistema | No | No | 9.8.1, 9.10.1, 9.11.0, 10.0.0 |
| Motore di ricerca | Elasticsearch · agente | Accanto al sistema | Sì | No (Elasticsearch non maschera valori) | 8.19, 9.3, 9.4, 9.5 |
| Motore di ricerca | OpenSearch · agente | Accanto al sistema | Sì | Sì | 2.19, 3.3, 3.6, 3.9 |
| Storage distribuito | Apache Hadoop HDFS · agente | Nel sistema | No | No | 2.7.7, 2.10.2, 3.2.4, 3.3.6, 3.4.3, 3.5.0 |
| Gestione delle risorse | Apache Hadoop YARN · agente | Nel sistema | No | No | 3.2.4, 3.3.6, 3.4.3, 3.5.0 |
| Coordinamento | Apache ZooKeeper · agente | Nel sistema | No | No | 3.9.5 (l’agente è compilato con ZooKeeper 3.6.4) |
Le versioni sono quelle su cui girano i test di integrazione Testcontainers del repository; le altre versioni non sono certificate. Le pagine di ogni plugin e del suo agente danno i dettagli.
Cosa fa ogni agente
Ogni agente scarica lo snapshot delle policy del proprio servizio, ne verifica la firma Ed25519 prima di usarlo e conserva su disco l’ultimo valido, così continua ad applicare le policy mentre il server GrantForge non è raggiungibile. Gli accessi vanno a lotti all’audit degli accessi, quelli consentiti identici raggruppati in un evento con il conteggio, e sono scritti su disco finché il server non è raggiungibile.
