# Sentry

> Verbind je Sentry-organisatie met Tidal Control via een interne integratietoken, zodat compliancetests de echte configuratie uitlezen. Alleen-lezen toegang.

Source: https://tidalcontrol.com/nl/docs/integrations/sentry

De Sentry-integratie van Tidal Control leest de configuratie van je Sentry-organisatie uit voor compliancedoeleinden. De verbinding authenticeert met een auth-token tegen de Sentry Web API v0 (`https://sentry.io/api/0`). Omdat Sentry foutmeldingen uit productie ontvangt, vallen de privacy- en toegangsinstellingen direct binnen de scope van een audit.

## Wat deze integratie monitort

- **Organisatietoegang:** MFA-verplichting, aanwezigheid van SSO, open lidmaatschap, uitnodigingsrechten en de standaardrol voor leden
- **Leden:** MFA per lid, SSO-koppeling, provisioning via de IdP, inactieve accounts en verouderde uitnodigingen
- **Data scrubbing:** Het opschonen van persoonsgegevens op organisatie- en projectniveau, IP-adressen, gevoelige velden en het bewaren van crashrapporten
- **Projecten:** Eigenaarsteams, omgevingen, publieke zichtbaarheid, toegestane domeinen en SSL-verificatie
- **Client keys:** Limieten op ingestie en bescherming van je quota
- **Releases:** Het bijhouden van commits en deploys, zodat een fout herleidbaar is naar een wijziging
- **Alerting:** Alertregels, detectors, workflows en cron monitors, inclusief alerts die nergens uitkomen

## Vereisten

- De rol Super User in Tidal Control
- Een Sentry-account met toegang tot de organisatie-instellingen
- De **organisatie-slug** van je Sentry-organisatie

> **warning:**

**Een organisatie-auth-token werkt niet.** Tokens die je aanmaakt onder **Settings > Developer Settings > Organization Tokens** zijn bedoeld voor CI en release-uploads en kunnen geen leden of organisatie-instellingen lezen. Maak in plaats daarvan een interne integratietoken aan, zoals hieronder beschreven.

## Stappenplan voor de configuratie

We maken een **interne integratie** aan in Sentry, kopiëren de token en de organisatie-slug, en voegen daarna de verbinding toe in Tidal Control.

**Configuratiestappen:**

1. **Zoek je organisatie-slug op**
2. **Maak een interne integratietoken aan**
3. **Configureer de integratie in Tidal Control**

## Stap 1: Zoek je organisatie-slug op

- Log in op [Sentry](https://sentry.io)
- Open Settings > Organization > General Settings en kopieer de Organization Slug
- Je vindt de slug ook in de URL: zowel `acme.sentry.io` als `sentry.io/organizations/acme/` gebruikt de slug `acme`
- Kopieer alleen de slug, zonder `https://`, `.sentry.io` of een pad

## Stap 2: Maak een interne integratietoken aan

- Ga in Sentry naar **Settings > Integrations > Custom Integrations**
- Klik op Create New Integration, kies Internal Integration en klik op Next
- Geef de integratie een naam, bijvoorbeeld `Tidal Control`
- Zet onder Permissions de volgende rechten op Read. De scopenamen geven de bijbehorende API-rechten aan:

<table>
<thead>
<tr><th>Recht in Sentry</th><th>Toegang</th><th>Scope</th><th>Dekt</th></tr>
</thead>
<tbody>
<tr><td>Organization</td><td>Read</td><td><code>org:read</code></td><td>Organisatie-instellingen en het scrubbingbeleid</td></tr>
<tr><td>Member</td><td>Read</td><td><code>member:read</code></td><td>Leden, MFA-status en openstaande uitnodigingen</td></tr>
<tr><td>Project</td><td>Read</td><td><code>project:read</code></td><td>Projecten, projectinstellingen, client keys en releases</td></tr>
<tr><td>Alerts</td><td>Read</td><td><code>alerts:read</code></td><td>Alertregels, detectors, workflows en monitors</td></tr>
</tbody>
</table>

- Laat de overige rechten op No Access staan, laat Continuous Integration (CI) uitgevinkt en laat de webhookvelden leeg
- Klik op Save Changes en scrol naar Tokens op de opgeslagen integratiepagina
- Is de tokenlijst leeg? Klik op New Token en volg het dialoogvenster om een token aan te maken
- Kopieer de aangemaakte token onder Tokens. Client ID en Client Secret zijn andere waarden en zijn niet geschikt voor het veld Auth-token

## Stap 3: Configureer de integratie in Tidal Control

- Ga naar **Instellingen → Integraties** in Tidal Control
- Klik op het **plusicoon** naast **Sentry**
- Vul de configuratie in:
  - **Naam:** Een beschrijvende naam, bijvoorbeeld `Sentry`
  - **Organisatie-slug:** De slug uit stap 1
  - **Auth-token:** De token uit stap 2, zonder `Bearer`, aanhalingstekens of spaties aan het begin of einde
  - **API-URL (alleen zelf gehost):** Laat leeg voor Sentry Cloud
- 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: `Sentry`, `Sentry Productie`

**Organisatie-slug:**
- De korte naam van je organisatie, zoals die in Sentry-URL's staat
- Verplicht

**Auth-token:**
- De interne integratietoken uit stap 2
- Verplicht, en wordt als secret opgeslagen

**API-URL (alleen zelf gehost):**
- Alleen voor een zelf gehoste Sentry, bijvoorbeeld `https://sentry.example.com/api/0`
- Laat leeg voor Sentry Cloud

> **warning:**

**Verwijs de API-URL niet naar een regionale host.** Sentry Cloud splitst de API tussen een controlehost (`sentry.io`) en regionale hosts zoals `de.sentry.io`. De controlehost bedient elk endpoint dat deze integratie gebruikt, ook voor een organisatie in de EU-regio. Een regionale host geeft een kale 404 op `/integrations/`, waardoor het bewijs over gekoppelde integraties stil verdwijnt terwijl de rest blijft werken. Laat het veld leeg tenzij je zelf host.

## Verificatie

De integratie werkt wanneer al het volgende waar is:

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

## Veelgestelde vragen

**Welk type token heb ik nodig?**
Een interne integratietoken, aangemaakt onder **Settings > Integrations > Custom Integrations**. Een persoonlijke token werkt ook. Een organisatie-auth-token niet.

**Leest Tidal Control mijn foutmeldingen?**
Nee. De integratie leest alleen configuratie: organisatie- en projectinstellingen, leden, keys, releases en alertregels. De inhoud van events en stacktraces worden niet gelezen.

**Worden de secrets van mijn client keys opgeslagen?**
Nee. De Sentry-API geeft bij elke client key een secret en een DSN-secret terug, en de integratie neemt geen van beide over. Alleen de limiet- en activiteitsinstellingen worden bewaard.

**Waarom zie ik zowel alertregels als detectors?**
Dat zijn twee weergaven van dezelfde alertconfiguratie, en een actieve organisatie geeft ze beide terug. Dat geen van de twee leeg is, is geen probleem.

## Veelvoorkomende problemen

**Tests geven een authenticatiefout**
- Controleer of de opgeslagen waarde uit Tokens op je interne integratiepagina komt, en niet uit Client ID, Client Secret of Organization Tokens
- Plak de volledige token zonder `Bearer`, aanhalingstekens of spaties aan het begin of einde
- Is de token ingetrokken? Maak dan een nieuwe token aan op de interne integratiepagina en werk de verbinding bij voordat je de tests ververst

**Resultaten over MFA van leden zijn leeg of incompleet**
- De token mist de scope `member:read`. Voeg die toe onder **Permissions** van de integratie

**Bewijs over gekoppelde integraties ontbreekt**
- De API-URL verwijst naar een regionale host zoals `de.sentry.io`. Maak het veld leeg voor Sentry Cloud

**Tests over cron monitors leveren niets op**
- Cron monitors hangen af van je Sentry-abonnement. Op een abonnement zonder deze functie geeft Sentry geen monitors terug

### 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.
