Ga naar hoofdinhoud

Databron-vereisten

Deze pagina is de complete verbindingsmatrix voor elke databron die Yres ondersteunt: welke velden je invult, welke authenticatiemethode geldt, welke integration runtime (IR) nodig is en welke voorbereiding (app-registratie, secret, SAS-token, redirect-URL) je vooraf regelt.

Wil je de stap-voor-stap procedure of de bronspecifieke details? Zie de bronpagina's per type en de how-to Databron koppelen. Deze pagina blijft daarmee in sync.

Vaste regels (gelden voor élke bron)
  • Bronnaam is uniek per organisatie, begint met een letter, is alfanumeriek en 2–45 tekens lang. De naam wordt de naam van de ADF linked service én de Key Vault-secretgroep adf-{bronnaam}-….
  • Yres slaat nooit secrets op in de frontend. Alle credentials gaan naar de Azure Key Vault van de klant; de linked service verwijst er alleen naar.
  • De IR staat standaard op AutoResolveIntegrationRuntime (cloud). Voor on-premises of afgeschermde bronnen kies je een self-hosted IR (pwccIntegrationRuntimeLinked).

De wizard "Create source"​

Elke bron maak je aan via dezelfde wizard. Stap 1 ("Source") vraagt om velden die voor alle brontypes gelden; stap 2 ("Credentials") vraagt de bronspecifieke verbindingsgegevens, per omgeving.

Wizard 'Create source', stap 1: de gedeelde brondefinitie-velden

Stap 1 van de wizard "Create source": je definieert eerst de bron, daarna voer je per omgeving de credentials in.

  1. Source name — alfanumeriek, begint met een letter, uniek per organisatie (bijv. SQL_CRM). Wordt de naam van de linked service en de Key Vault-secretgroep.
  2. type — de gecategoriseerde bronpicker (Databases: SQL Server / Azure SQL / Oracle / DB2; apps: AFAS, ExactOnline, Monday …). De keuze bepaalt welk subformulier verschijnt.
  3. integration runtime — standaard AutoResolveIntegrationRuntime; toont ook alle gepubliceerde self-hosted runtimes.
  4. Credentials identical for all environments? — "Yes" voert je de credentials één keer in; "No" voegt per omgeving een aparte stap toe. (Voor Exact Online geforceerd op "No".)
  5. Stap 2 (Credentials) — de bronspecifieke velden (bijv. host / database name / port / user name / password) per omgeving.
  6. Next — gaat naar de credentials; de laatste stap verstuurt POST /data-source.

Daarnaast vraagt stap 1 nog credentials expire? (optionele vervaldatum die meegaat naar de Key Vault-secret) en Tags (optioneel, kommagescheiden).

Databases (directe verbinding)​

Databasebronnen zijn in principe on-prem-geschikt: IR = AutoResolveIntegrationRuntime als de database vanuit de cloud bereikbaar is, anders een self-hosted IR. Authenticatie is altijd gebruikersnaam/wachtwoord, opgeslagen in Key Vault. Let op de uitzondering voor PostgreSQL en Oracle hieronder.

BronVereistenAuthIR
MySQLHost · Port · Database name · Username · PasswordBasicAutoResolve / self-hosted
DB2Host · Port · Database name · Username · PasswordBasicAutoResolve / self-hosted
SQL ServerHost · Port · Database name · Username · PasswordBasicAutoResolve / self-hosted
Azure SQL DatabaseHost · Port · Database name · Username · PasswordBasicCloud (AutoResolve)
OracleHost · Port · Service name · Username · PasswordBasicCloud (AutoResolve) — IR-keuze wordt momenteel niet toegepast, zie hieronder
PostgreSQLHost · Port · Database name · Username · PasswordBasicCloud (AutoResolve) — IR-keuze wordt momenteel niet toegepast, zie hieronder
SnowflakeAccount name · Username · Password · Database · Warehouse · Role (optioneel)BasicCloud (AutoResolve)
PostgreSQL en Oracle: IR-keuze wordt nu niet toegepast

De wizard toont bij PostgreSQL en Oracle wel een IR-keuzeveld, maar die keuze wordt momenteel niet op de linked service gezet: die wordt zonder connectVia uitgerold en draait dus altijd op de cloud-IR. De database moet daarom vanaf Azure bereikbaar zijn (publiek endpoint of opengestelde firewall). Een on-premises PostgreSQL of Oracle achter een gesloten firewall werkt op dit moment niet zonder handmatige aanpassing van de linked service; een fix om de IR-keuze wél toe te passen staat op de rol. Zie PostgreSQL en Oracle.

Oracle gebruikt een service name

Oracle is de enige database die om een Service name vraagt in plaats van een database-naam. SQL Server en Azure SQL slaan intern op als DWH-brontype MSSQL_ADF.

Twee delta-kolommen: ondersteunde bronnen

Twee delta-kolommen (komma-gescheiden, zelfde datatype — de hoogste waarde telt) werken op alle bronnen die Yres met SQL bevraagt: SQL Server, Azure SQL Database, MySQL, PostgreSQL, Oracle, DB2, Sybase, Snowflake en OneStream. De engine bouwt een ANSI-COALESCE-uitdrukking, dus MySQL is geen uitzondering meer. Daarnaast ondersteunen Salesforce, SAP SAC en AFAS twee delta-kolommen (sinds v1.56). Zie Load types → Meerdere deltakolommen en MySQL.

SAP HANA / SAP S/4HANA​

SAP HANA en S/4HANA hebben geen eigen formulier en er bestaat in Yres geen HANA-/ODBC-brontype: een directe databaseverbinding op de SQL-poort van de HANA-server is niet mogelijk. Je bereikt ze via een generieke methode:

  • OData-service — HANA via een XS OData-service (…​.xsodata); S/4HANA via …/sap/opu/odata/<namespace>/<service> (activeer de service in de SAP Gateway met /IWFND/MAINT_SERVICE), met Basic auth of OAuth, of
  • SAP Business Data Cloud — de export-route met SAS-token, zie SAP_BDC hieronder.

Zie ook SAP HANA en SAP S/4HANA.

Azure / Microsoft-platform​

Azure Blob Storage​

Vereist een SAS-token (aanmaken via het storage-account → Security + Networking → Shared Access Signature). De wizard bouwt zelf de SAS-url https://{account}.blob.core.windows.net/{container}?{sasToken}.

  • Velden: Account name · Container name · SAS token
  • Auth: SAS-token · IR: instelbaar (cloud of self-hosted)

Azure Data Lake (Gen2)​

Het Data Lake (AzureBlobFS, SAS-authenticatie) is primair Yres' eigen staging-/outputlaag, niet standaard een door de gebruiker toegevoegde bron. Wanneer het als bron wordt gebruikt, volgt het hetzelfde SAS-patroon als Azure Blob Storage / SAP_BDC.

Koppelen via Azure Blob Storage

Azure Data Lake heeft geen eigen keuze in de bronpicker (SourceField.tsx). Wil je er data uit ophalen, koppel de Data Lake dan als Azure Blob Storage-bron (zelfde AzureBlobFS/SAS-vorm). Daarnaast dient een Data Lake als interne Yres-staging-/uitvoeropslag.

SharePoint​

Registreer vooraf een app in Microsoft Entra ID (Azure AD), maak een client secret en geef de app leesrechten via Microsoft Graph: API permissions → Microsoft Graph → Application permissions → minimaal Sites.Read.All, gevolgd door Grant admin consent. Sinds v1.56 haalt Yres SharePoint-bestanden via Microsoft Graph op; de oude machtiging via .../_layouts/15/appinv.aspx (SharePoint app-only via Azure ACS) is door Microsoft uitgezet en volstaat niet meer. Yres leest alleen bestanden uit documentbibliotheken, geen SharePoint-lijsten.

  • Velden: SharePoint site URL · AD tenant name · Postfix (sites/teams/personal/leeg) · AD tenant ID · Application ID / Service principal ID · Application secret / Service principal key
  • Auth: Entra ID service principal (app-only) via Microsoft Graph; de linked service zelf wordt als HttpServer + Anonymous aangemaakt, de werkelijke auth verloopt via de opgeslagen clientId/secret/tenant. Zie SharePoint.

Microsoft Teams​

Teams heeft geen eigen formulier; je benadert het via Microsoft Graph (zie hieronder). Je hebt een Entra ID (Azure AD) app-registratie nodig: Client ID, Tenant ID, Client secret en Graph-permissies (bijv. Channel.ReadBasic.All, ChannelMessage.Read.All) met admin-consent. Zie Teams.

Microsoft Graph​

VeldToelichting
URLVast: https://graph.microsoft.com/v1.0
Token URLVast (tenant-gebouwd): https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
Tenant ID · Client ID · Client Secret · ScopeUit de Entra ID app-registratie
Grant TypeClient Credentials of Authorization Code (de laatste voegt een Refresh token toe)
  • Auth: OAuth2 (client-credentials of authorization-code). Vooraf: Entra ID app-registratie, client secret (eenmalig zichtbaar), Graph API-permissies + admin-consent. Zie Microsoft Graph.

Dynamics 365 (Business Central / Dataverse)​

VeldToelichting
URLVast: Business Central OData V4 (tenant + company ingebouwd)
Access token URLVast: https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
Tenant ID · Company name · Client ID · Client secret · ScopeUit de Entra ID app-registratie
Grant TypeClient Credentials of Authorization Code (+ Refresh token)
  • Auth: OAuth2 service principal — de OAuth2-aanmelding is nog in ontwikkeling: het formulier toont de velden, maar de tokenuitwisseling werkt nog niet. Vooraf: omgevings-URL https://<org>.crm4.dynamics.com; Entra ID app-registratie met Dynamics CRM/Dataverse user_impersonation, client secret. Zie Dynamics 365.

Intune Data Warehouse​

  • Velden: URL is vast (https://fef.{tenant}.manage.microsoft.com/ReportingService/DataWarehouseFEService?api-version=v1.0) · OAuth2-velden identiek aan Graph/D365 (Tenant ID · Client ID · Client Secret · Scope · Grant Type).
  • Auth: OAuth2 — net als bij Dynamics 365 is de OAuth2-aanmelding nog in ontwikkeling. Er is (nog) geen aparte bronpagina voor Intune DWH; het werkt als OData-preset.

Power BI​

  • Velden: Tenant ID · Client ID · Client secret
  • Auth: Azure AD app (service principal). Power BI is een filebron zonder metadata: er wordt geen linked service of dataset aangemaakt; Yres schrijft alleen drie Key Vault-secrets en consumeert via de Power BI API (niet via een ADF-copy). Bedoeld voor unified models / dashboards. Zie Power BI.

SAP-familie & Datasphere​

SAC (SAP Analytics Cloud)​

  • Velden: URL · Authentication URL · Client ID · Client secret
  • Auth: OAuth2 client-credentials (zet een OAuth-client op in SAC). Draait op de cloud-IR. Zie SAC.

Onestream​

  • Velden: URL · Application · AuthenticationType (OAUTH2 of PAT).
    • OAUTH2 → Client ID · Client secret · Access token URL
    • PAT → Personal access token
  • Auth: OAuth2 client-credentials óf Personal Access Token. Zie Onestream.

SAP Business Data Cloud (SAP_BDC)​

  • Velden: Sas uri (https://<host>/, met afsluitende slash, alleen hostname) · container · Sas token (moet sig, sp, se, spr, st bevatten, zonder voorloop-?)
  • Auth: SAS-token (de bron exposeert een Azure Data Lake / Blob FS-endpoint). Draait op de cloud-IR. De deltakolom staat vast op ETL_DATE. Zie SAP Business Data Cloud.

SAP Datasphere​

SAP Datasphere heeft geen eigen formulier. De template is een AzureBlobFS met SAS-uri — dezelfde vorm als SAP_BDC. Datasphere wordt dus geconsumeerd als een AzureBlobFS/SAS-bron. Zie SAP Datasphere.

notitie

SAP_BDC ("SAP Business Data Cloud") en SAP Datasphere zijn verwante maar verschillende SAP-producten. Datasphere heeft geen eigen picker-entry; je koppelt het via het SAP_BDC-formulier.

Business-apps / SaaS​

BronVereistenAuthSetup
MondayURL · API tokenAPI-token als Authorization-headerAPI-token aanmaken (Monday-docs)
AFASURL (https://…​.afas.online/profitrestservices) · API tokenAPI-token als Authorization-headerVia de AFAS app-connector
Exact OnlineClient ID · Client secret · (interactieve OAuth-login)OAuth2 authorization-code (per omgeving)Exact-apps voor dev én prod; redirect-URL instellen volgens de webapp
SimplicateDomain name · Authentication key · Authentication secretTwee custom HTTP-headers (key + secret)API-key + secret in Simplicate
SalesforceEnvironment URL · Client ID · Client secretOAuth2 client-credentialConsumer ID/secret uit de App Manager
TopdeskDomain (volledig, bv. mijnorganisatie.topdesk.net) · Username · PasswordBasicApplicatiewachtwoord aanmaken in Topdesk
BoardEPMServer · Application · Identity providerOAuth2 client-credentialOAuth-client opzetten in Board
Exact Online: aparte app per omgeving

Voor Exact Online staat "Credentials identical for all environments?" geforceerd op "No": je maakt een aparte Exact-app per omgeving aan en stelt per omgeving de redirect-URL in ({BACKEND_URL}/exactonline/callback). Zie Exact Online.

Topdesk gebruikt het OData-reporting-endpoint

Yres verbindt met Topdesk via het OData-reporting-endpoint https://<domein>/services/reporting/v2/odata (opgeslagen als brontype OData, Basic auth, paginatie BodyUrl) — niet via de REST-API /tas/api. Bij Domain vul je het volledige domein in (bv. mijnorganisatie.topdesk.net): Yres plakt alleen https:// en het pad eraan vast, niet het achtervoegsel .topdesk.net. Het applicatiewachtwoord blijft de Basic-credential. Zie Topdesk.

Mendix​

Mendix heeft geen eigen formulier. Verbind via REST/OData: publiceer een OData-service in Studio Pro en gebruik het generieke OData- of RestService-formulier met de service-URL https://<app-host>/<location>/ en Basic/API-key-credentials. Zie Mendix.

Generieke protocollen​

OData​

  • Velden: URL · Pagination type (BodyUrl) · Body URL ($['@odata.nextLink']) · AuthenticationType (Anonymous/Basic; Basic voegt Username + Password toe) · optionele extra HTTP-headers (Authorization, APIKey, X-API-KEY).
  • Auth: Anonymous of Basic. De webapp voegt een afsluitende / toe aan de OData-URL. Zie OData.

OData OAuth​

  • Velden: URL · Body URL ($['@odata.nextLink']) · Client ID · Client secret · Access token URL · Scope · Grant Type (Client Credentials/Authorization Code; de laatste vereist een Refresh token).
  • Auth: OAuth2 (client-credentials of authorization-code). Zie OData OAuth.

RestService​

  • Velden: OpenAPI-specificatie-URL (optioneel) · Base URL (verplicht, eindigt niet op /) · paginationType (No pagination/RFC5988/BodyUrl/Offset/Paging/OffsetPage; elk type voegt eigen velden toe) · AuthenticationType (Anonymous/Basic/OAuth2ClientCredential) · optionele extra HTTP-headers.
    • Basic → Username + Password
    • OAuth2ClientCredential → Token endpoint + Client ID + Client Secret + Scope + Resource
  • Auth: Anonymous, Basic of OAuth2 client-credential. Zie RestService.
OpenAPI-ondersteuning

REST-bronnen ondersteunen OpenAPI 3.x: bij een geldige openapi.json/swagger.json kies je de endpoints in de frontend in plaats van ze handmatig in te typen.

CBS (helper, OData)​

  • Velden: alleen Dataset (de URL is vast: https://opendata.cbs.nl/ODataFeed/odata/ + dataset).
  • Auth: Anonymous — geen credentials nodig. Zie CBS.

Tweede Kamer (helper, OData)​

  • Velden: geen (vaste URL https://gegevensmagazijn.tweedekamer.nl/OData/v4/2.0/).
  • Auth: Anonymous — geen credentials nodig. Zie Tweede Kamer.

Filebronnen​

File Server​

  • Velden: Host / bestandspad op de integration runtime (bijv. \\SERVERNAME\SharedFolder) · Username · Password
  • Auth: Windows-gebruiker/wachtwoord. IR: self-hosted verplicht (leest van een UNC-/bestandspad). Zie File Server.

Lokale bestanden (CSV/Excel)​

  • Geen credentials. Bestanden worden direct geüpload of via een self-hosted IR op de machine met de bestanden gelezen. Draait de IR onder een serviceaccount? Voer dan eenmalig op de IR-host uit: .\dmgcmd.exe -EnableLocalMachineAccess. IR: self-hosted verplicht. Zie Lokale bestanden en troubleshooting.

Authenticatie- & IR-overzicht (spiekbrief)​

Snel zien welke authenticatiemethode en welke integration runtime bij elke bron horen.

Per authenticatiemethode​

AuthenticatieBronnen
Username + password (Basic, in Key Vault)MySQL, DB2, SQL Server, Azure SQL, Oracle, PostgreSQL, Snowflake, OData (Basic), RestService (Basic), Topdesk, File Server, Mendix (optie)
SAS-tokenAzure Blob Storage, SAP_BDC, SAP Datasphere, Azure Data Lake
API-token als HTTP-headerAFAS, Monday, Simplicate (key + secret)
OAuth2 client-credentialsSAC, Salesforce, OData OAuth (Client Credentials), RestService (OAuth2ClientCredential), BoardEPM, Onestream (OAUTH2), Graph/Dynamics 365/Intune (Client Credentials)
OAuth2 authorization-code (+ refresh token)Exact Online, OData OAuth (Authorization Code), Graph/Dynamics 365/Intune (Authorization Code)
Azure AD service principal (app-registratie)SharePoint, Power BI, Teams/Graph, Dynamics 365
Personal access tokenOnestream (PAT)
Anonymous (publiek)CBS, Tweede Kamer

Per integration runtime​

IR-vereisteBronnen
Self-hosted IR verplichtFile Server, Lokale bestanden, plus elke on-prem/afgeschermde DB (MySQL, DB2, SQL Server)
Cloud (AutoResolve) gebruikelijk, self-hosted optioneelAzure SQL, Snowflake, alle SaaS/OData/REST-bronnen, SharePoint, Salesforce, SAC, SAP_BDC, Power BI
Altijd cloud (AutoResolve) — IR-keuze wordt momenteel niet toegepastOracle, PostgreSQL (zie de waarschuwing bij Databases)
PostgreSQL is één type

Er is één PostgreSQL-brontype (PostgreSql in de bronpicker en in de DWH). De linked service die de backend daarvoor uitrolt is van het ADF-type AzurePostgreSql — voor nieuwe bronnen (driverversie 2.0, vijf losse Key Vault-secrets) én voor oudere bronnen met één connectionstring-secret. Het PostgreSql-template in de ADF-repo wordt door de webapp niet gebruikt. Zie PostgreSQL.