# Cloudflare

> Verbind je Cloudflare-account met Tidal Control via een alleen-lezen API-token, zodat compliancetests je account- en zone-instellingen uitlezen. Alleen lezen.

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

De Cloudflare-integratie van Tidal Control leest de configuratie van je Cloudflare-account en -zones uit voor compliancedoeleinden. De verbinding authenticeert met een API-token tegen de Cloudflare-API (`https://api.cloudflare.com/client/v4`) en dekt zowel de hygiëne van accounttoegang als de TLS- en DNS-instellingen van elke zone die je beheert.

## Wat deze integratie monitort

- **Leden:** MFA onder accountleden, en uitnodigingen die open zijn gebleven
- **API-tokens:** Of tokens een verloopdatum hebben, of ze beperkt zijn tot IP-adressen, en of er tokens ongebruikt zijn
- **Zones:** Of elke zone actief is en niet gepauzeerd of blijft hangen in de ontwikkelmodus
- **TLS:** Minimale TLS-versie, Always Use HTTPS en of de SSL-modus Full of Strict is
- **DNS:** Of DNSSEC per zone aanstaat

## Vereisten

- De rol Super User in Tidal Control
- Een Cloudflare-account en rechten om account-API-tokens aan te maken
- Je Cloudflare **Account-ID**

## Stappenplan voor de configuratie

We kopiëren je **Account-ID**, maken een alleen-lezen **API-token** met twee policies aan en voegen daarna de verbinding toe in Tidal Control.

**Configuratiestappen:**

1. **Zoek je Account-ID op**
2. **Maak een alleen-lezen API-token aan**
3. **Configureer de integratie in Tidal Control**

## Stap 1: Zoek je Account-ID op

- Log in op het [Cloudflare-dashboard](https://dash.cloudflare.com)
- Selecteer je account en open het **Overzicht** van een willekeurige zone
- Kopieer de **Account-ID** uit het paneel aan de rechterkant

## Stap 2: Maak een alleen-lezen API-token aan

Deze integratie leest alleen, dus maak een custom token aan met **twee policies**: één voor gegevens op accountniveau en één voor gegevens op zoneniveau.

- Selecteer het account dat je wilt verbinden en ga naar `Manage account` → `Account API tokens`
- Klik op `Create token` en vul een beschrijvende `Token name` in, bijvoorbeeld `Tidal Control`
- Klik onder `Permission policies` op `Start from scratch`
- Configureer de accountpolicy voor leden, rollen en de tokeninventaris:
  - Laat de resourceselectie op `Entire Account` staan. De policy geldt voor het geselecteerde account
  - Zoek via `Search for permission groups` naar `Account Settings` en `Account API Tokens` en selecteer voor beide `Read`
  - Sluit de policy-editor om terug te keren naar het policyoverzicht
- Klik op `Add policy` voor de zone-inventaris, TLS-instellingen en DNSSEC:
  - Wijzig de resourceselectie van `Entire Account` naar `All Domains`, of kies `Specified Domains` en selecteer de domeinen die je wilt meenemen. Zonerechten verschijnen nadat je een domeinbereik hebt gekozen
  - Zoek `Zone`, `Zone Settings` en `DNS` en selecteer voor elk `Read`
  - Sluit de policy-editor. Het overzicht toont het gekozen zonebereik en de drie leesrechten
- Kies een `Token expiration` en plan om de token in Tidal Control te vervangen voordat deze verloopt. Met `No expiration` blijft de token geldig totdat je deze intrekt
- Gebruik je `Client IP address filtering`, sta dan de uitgaande IP-adressen van Tidal Control toe. Vraag deze bij support op voordat je een beperking instelt; een leeg filter staat alle IP-adressen toe
- Klik op `Review token` en controleer het account, beide policies, de verloopdatum en het IP-filter
- Klik op `Create token` en kopieer de token direct

![Cloudflare-permissionpolicies met leesrechten voor zones, zone-instellingen, DNS, account-API-tokens en accountinstellingen](/images/help/cloudflare_token_permissions.png)

> **warning:**

**Beide policies zijn nodig.** Een token met alleen accountrechten kan geen TLS- of DNSSEC-instellingen lezen, en een token met alleen zonerechten kan geen leden of tokeninventaris lezen. Met één policy kan de helft van de controles niets beoordelen.

## Stap 3: Configureer de integratie in Tidal Control

- Ga naar **Instellingen → Integraties** in Tidal Control
- Klik op het **plusicoon** naast **Cloudflare**
- Vul de configuratie in:
  - **Naam:** Een beschrijvende naam, bijvoorbeeld `Cloudflare`
  - **Account-ID:** De identifier uit stap 1
  - **API-token:** De token uit stap 2
- 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: `Cloudflare`

**Account-ID:**
- De unieke identifier van je Cloudflare-account
- Verplicht, en te vinden in stap 1

**API-token:**
- De alleen-lezen custom token uit stap 2
- Verplicht, en wordt als secret opgeslagen

## Verificatie

De integratie werkt wanneer al het volgende waar is:

- Instellingen → Integraties toont Cloudflare onder **Geconfigureerde integraties**
- De Cloudflare-tests zijn beschikbaar in de sectie Tests
- Het verversen van tests levert resultaten zonder authenticatiefouten, voor zowel account- als zonecontroles

## Veelgestelde vragen

**Kan ik in plaats daarvan een Global API Key gebruiken?**
Gebruik een API-token met beperkte rechten. Een global key geeft volledige schrijfrechten op het account, en dat heeft deze integratie niet nodig en zou hij ook niet moeten hebben.

**Moet de token van het account of van een gebruiker zijn?**
Van het account, aangemaakt onder `Manage account` → `Account API tokens`. Een token van een gebruiker stopt met werken zodra de toegang van die persoon wordt ingetrokken.

**Waarom leest Tidal Control onze tokeninventaris?**
Omdat een token zonder verloopdatum, zonder IP-beperking of maanden ongebruikt zelf een toegangsrisico is. De integratie leest metadata van tokens, nooit hun waarde.

## Veelvoorkomende problemen

**Controles op leden of tokens leveren niets op, zonecontroles werken wel**
- De token mist de accountpolicy. Voeg `Account Settings` → Read en `Account API Tokens` → Read toe

**Controles op TLS of DNSSEC leveren niets op, ledencontroles werken wel**
- De token mist de zonepolicy. Voeg `Zone`, `Zone Settings` en `DNS` → Read toe

**Sommige zones ontbreken in de resultaten**
- De zonepolicy is beperkt tot specifieke zones. Zet hem op `All Domains` of voeg de ontbrekende zones toe onder `Specified Domains`

**Authenticatie faalt**
- Controleer of de Account-ID hoort bij het account waarin de token is aangemaakt

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