Integraties

Supabase

De Supabase-integratie van Tidal Control haalt bewijs over beveiliging en compliance op uit je Supabase-organisaties en -projecten. De verbinding authenticeert met een personal access token tegen de Supabase Management API (https://api.supabase.com) en dekt toegangsbeheer op organisatieniveau, het authenticatiebeleid voor eindgebruikers, publieke blootstelling van data, versleuteling onderweg en de back-upsituatie.

Wat deze integratie monitort

  • Organisatieleden: MFA-inschrijving per lid, en wie de rol Owner of Administrator heeft
  • API-sleutels: Of de niet-intrekbare verouderde anon- en service_role-sleutels nog in gebruik zijn
  • Opslagbuckets: Buckets die elk object via een publieke URL aanbieden
  • Edge functions: Functies die zonder JWT-verificatie zijn uitgerold, en dus open endpoints op internet zijn
  • Security advisor: De eigen bevindingen van Supabase, zoals tabellen in het publieke schema zonder row-level security
  • Database: SSL-afdwinging, IP-allowlist, verbindingslogging en de rijlimiet op de gegenereerde data-API
  • Back-ups: Point-in-time recovery en de ouderdom van de meest recente voltooide back-up
  • Authenticatie: Wachtwoordbeleid, beschikbaarheid van MFA, e-mailbevestiging, rotatie van refreshtokens, geldigheidsduur van accesstokens en captcha bij registratie
  • JWT-ondertekeningssleutels: Of tokens met een asymmetrische sleutel worden ondertekend in plaats van met het verouderde gedeelde secret
  • Preview-branches: Branches die met een kopie van productiedata zijn aangemaakt

Tidal Control leest alleen configuratie. Tabelrijen, opgeslagen SQL-snippets en de broncode van edge functions worden nooit opgevraagd.

Vereisten

  • De rol Super User in Tidal Control
  • Een Supabase-account met een rol in de organisatie die je wilt beoordelen
  • Rechten om access tokens aan te maken onder Account → Access Tokens
Warning

Behandel het token als een bevoorrecht credential. De integratie heeft leesrechten op de API-sleutels van projecten nodig om te kunnen melden of verouderde sleutels nog in gebruik zijn. Diezelfde permissie geeft ook de secret- en service_role-sleutels terug, die volledige datatoegang bieden en row-level security omzeilen. Tidal Control gooit het sleutelmateriaal weg en bewaart alleen het type en de prefix, maar wie het token in handen heeft kan die sleutels zelf ophalen. Maak het token aan vanuit een speciaal serviceaccount, niet vanuit een persoonlijk account.

Een token kiezen

Supabase geeft twee soorten personal access token uit. Beide beginnen met sbp_ en beide werken, maar ze verschillen in wat ze kunnen bereiken.

TokentypePrefixGebonden aan
Scoped token (aanbevolen)sbp_fc...De organisaties, projecten en permissies die je bij het aanmaken kiest
Klassiek tokensbp_...Alles wat het uitgevende account mag, inclusief organisaties waar het later lid van wordt

Kies een scoped token. Daarmee beperk je de integratie tot één organisatie en tot de leespermissies hieronder. Een scoped token kan alleen versmallen wat het uitgevende account al mag, dus de organisatierol van dat account blijft het plafond. De zwakste rol die alle permissies dekt is Read-Only, beschikbaar op de Team- en Enterprise-plannen; op Free en Pro is Developer de zwakste beschikbare rol.

Project-API-sleutels (anon, service_role, publishable, secret) zijn iets anders. Die bereiken het datavlak van een project, niet de Management API, en de integratie kan er niets mee.

Permissies voor een scoped token

Geef Read op elk van de volgende onderdelen. Niets heeft Write nodig, en de integratie vraagt geen Database, Logs, Edge Function Secrets of SQL Snippets aan.

Permissie (Read)Gebruikt voor
Organizations, Organization SettingsOrganisatie-inventaris en plan
Organization MembersMFA-inschrijving en rollen per lid
Projects, Project SettingsProjectinventaris, regio en servicestatus
AdvisorsBevindingen van de security advisor, inclusief row-level security
Network Restrictions, SSL EnforcementNetwerk- en transportcontroles van de database
Database BackupsPoint-in-time recovery en versheid van back-ups
Auth Config, Auth Signing KeysAuthenticatiebeleid en JWT-ondertekeningssleutels
StorageControle op publieke buckets
Edge FunctionsControle op JWT-verificatie
API KeysControle op verouderde sleutels
Data API Config, Database ConfigRijlimiet en verbindingslogging
Production BranchesControle op data in preview-branches

Een ontbrekende permissie stopt niet de hele run. De controles die ervan afhangen falen met een autorisatiefout, en de rest gaat door.

Stappenplan voor de configuratie

We maken een personal access token aan in het Supabase-dashboard en voegen daarna de verbinding toe in Tidal Control. Kies een scoped token als die optie beschikbaar is voor je account.

Configuratiestappen:

  1. Maak een personal access token aan
  2. Configureer de integratie in Tidal Control

Stap 1: Maak een personal access token aan

  • Log in op het Supabase-dashboard met het serviceaccount
  • Ga naar Account → Access Tokens, of open https://supabase.com/dashboard/account/tokens direct
  • Klik op Generate new token en geef het een naam, bijvoorbeeld Tidal Control
  • Als je permissies kunt selecteren, kies dan een scoped token, selecteer de organisatie die je wilt beoordelen en geef de Read-permissies uit de tabel hierboven
  • Ontbreekt de permissieselectie, dan zijn scoped tokens nog niet beschikbaar voor je account. Vraag vervroegde toegang aan bij Supabase, of maak een klassiek token aan met het speciale serviceaccount. Een klassiek token heeft alle rechten van dat account binnen elke organisatie waarvan het lid is
  • Controleer de vervaldatum van het token en plan de rotatie voor die datum
  • Kopieer het token direct: het wordt maar één keer weergegeven
Warning

Het token wordt één keer weergegeven. Sluit je het venster zonder te kopiëren, trek het token dan in en genereer een nieuw exemplaar.

Stap 2: Configureer de integratie in Tidal Control

  • Ga naar Instellingen → Integraties in Tidal Control
  • Klik op het plusicoon naast Supabase
  • Vul de configuratie in:
    • Naam: Een beschrijvende naam, bijvoorbeeld Supabase
    • Personal access token: Het sbp_...-token uit stap 1
  • Klik op "Aanmaken" om de integratie op te slaan

Configuratievelden uitgelegd

Het configuratievenster vraagt om de volgende waarden:

Naam:

  • Een beschrijvende naam voor deze verbinding
  • Bijvoorbeeld: Supabase, Supabase Productie

Personal access token:

  • Het scoped of klassieke token uit stap 1, beginnend met sbp_
  • Verplicht, en wordt als secret opgeslagen
  • Er is geen organisatie- of project-ID nodig. Het token bepaalt zelf welke organisaties het kan bereiken

Verificatie

De integratie werkt wanneer al het volgende waar is:

  • Instellingen → Integraties toont Supabase onder Geconfigureerde integraties
  • De Supabase-tests zijn beschikbaar in de sectie Tests
  • Het verversen van tests levert resultaten zonder authenticatiefouten

Veelgestelde vragen

Heb ik een organisatie- of project-ID nodig? Nee. Een scoped token draagt de geselecteerde organisaties al in zich, en een klassiek token bereikt elke organisatie waar het account lid van is.

Kan Tidal Control de data in mijn database zien? Nee. De integratie leest de Management API, die configuratie blootgeeft. Tabellen, opgeslagen SQL-snippets en de broncode van edge functions worden nooit opgevraagd, en de permissies Database en SQL Snippets worden niet aangevraagd.

Waarom falen de tests over netwerkbeperkingen en point-in-time recovery op mijn Free-organisatie? Beide zijn betaalde functies. Op een Free-plan melden de endpoints de functie als niet beschikbaar, en de tests falen omdat de bescherming ontbreekt, wat de reden ook is. Het plan van de organisatie staat in het bewijs, zodat een beoordelaar een ontbrekende licentie van een misconfiguratie kan onderscheiden.

Wat gebeurt er met gepauzeerde projecten? Een gepauzeerd project staat nog in de inventaris, maar beantwoordt weinig projectendpoints en levert geen buckets, functies of adviesbevindingen op. Lees die afwezigheid af aan de projectstatus, niet als een geslaagde test.

Hoe roteer ik het token? Supabase ondersteunt een zelfgekozen vervaldatum voor personal access tokens. Controleer de ingestelde vervaldatum en roteer het token voor die datum, zodat het verzamelen van bewijs doorgaat. Genereer een nieuw token, werk de verbinding in Tidal Control bij en trek daarna het oude in. Het intrekken van het ene token raakt de andere niet.

Veelvoorkomende problemen

"Personal access token is required"

  • Het veld is leeg, of de gekopieerde waarde is verloren. Genereer een nieuw token

Authenticatiefout op elke test

  • Het token is onjuist, verlopen, ingetrokken of ongeldig. Controleer de vervaldatum en vervang het token als het verlopen is. Controleer of het met sbp_ begint en een personal access token is, geen anon- of service_role-sleutel van een project

Sommige tests falen met een autorisatiefout terwijl andere slagen

  • Het scoped token mist een Read-permissie uit de tabel hierboven, of de organisatierol van het account is te zwak. Voeg de permissie toe, of geef het token uit vanuit een account met minimaal de rol Read-Only

Een project toont geen buckets, functies of adviesbevindingen

  • Het project heeft ze niet, of het is gepauzeerd. Controleer de projectstatus in het Supabase-dashboard

Kom je er niet uit?

Stuur een e-mail naar support@tidalcontrol.com, dan nemen we zo snel mogelijk contact met je op.

Info

Verzamel supportinformatie: Noteer welke browser je gebruikt, de exacte foutmeldingen en welke stappen je al hebt geprobeerd. Dat versnelt de oplossing aanzienlijk.

Vorige
STACKIT
Volgende
TOPdesk