# Instellen van Qlik Gegevensgateway - Directe toegang in een container

In dit onderwerp wordt beschreven hoe u gecontaineriseerde Direct Access gateway instelt. Het bevat vereisten en installatie-instructies en beschrijft de beperkingen en overwegingen waarmee u rekening moet houden bij het werken met gecontaineriseerde Direct Access gateway.

InformatieOndersteund vanaf Direct Access gateway 1.8.0.

## Wat is gecontaineriseerde Direct Access gateway?

U kunt Direct Access gateway implementeren in een Docker-container. Dit type implementatie wordt gecontaineriseerde Direct Access gateway genoemd. Gecontaineriseerde Direct Access gateway-implementaties worden ondersteund voor Linux, macOS en Windows.

Gecontaineriseerde Direct Access gateway biedt portabiliteit naar uw Direct Access gateway omgeving.

## Aanbevolen procedures voor het gebruik van Qlik Gegevensgateway - Directe toegang

Voor een succesvolle ervaring bij het gebruik van Qlik Gegevensgateway - Directe toegang, wordt sterk aanbevolen om de volgende procedures op te volgen:

* Gebruik niet dezelfde Direct Access gateway voor ontwikkeling, het testen van de gebruikersacceptatie en productie, omdat hierdoor het risico ontstaat dat de beschikbare resources overbelast raken en de stabiliteit van het systeem wordt beïnvloed. Vanuit een zakelijk oogpunt kan de combinatie van onvoldoende resources en een verminderde stabiliteit ertoe leiden dat gegevens van productie-applicaties vertraagd worden bijgewerkt.

* Voor optimale prestaties kunt u de Direct Access gateway het beste installeren in een omgeving die zich zo dicht mogelijk bij uw gegevensbron bevindt.

## Systeemvereisten

In deze sectie worden de vereisten beschreven voor het gebruik van gecontaineriseerde Direct Access gateway."

### Softwarevereisten

* Docker Engine-versie 20.9+ en de Docker Compose-plugin (docker compose, v2-syntaxis) geïnstalleerd op de host.

### Vereiste poorten en protocollen

Zie [Vereiste poorten en protocollen](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setting-up.htm#Ports) voor de vereiste poorten en protocollen.

### Aanbevolen hardware

* Host: 8 cores, 32 GB geheugen, 5 GB opslag beschikbaar voor Docker

* Optioneel: Stel overeenkomende limieten in voor de container in het compose-bestand, zodat de gateway over toegewezen capaciteit beschikt in plaats van te concurreren met andere containers of processen op de host:

  ```
  direct-access-agent:
      image: ...
      deploy:
        resources:
          limits:
            cpus: "6"
            memory: 24G
  ...
  dcaas:
      image: ...
      deploy:
        resources:
          limits:
            cpus: "2"
  ```

#### Minimale hardware

De minimale hardware is alleen geschikt voor specifieke scenario's met kleinere dedicated implementaties (ontwikkeling, testen en productie), die gebruikt worden met continu lage gegevensvolumes en een beperkt aantal gelijktijdige ladingen.

* Host: 4 cores, 8 GB geheugen, 5 GB opslag beschikbaar voor Docker

* Optioneel: Stel overeenkomende limieten in voor de container in het compose-bestand, zodat de gateway over toegewezen capaciteit beschikt in plaats van te concurreren met andere containers of processen op de host:

  ```
  direct-access-agent:
      image: ...
      deploy:
        resources:
          limits:
            cpus: "2"
            memory: 4G
  ...
  dcaas:
      image: ...
      deploy:
        resources:
          limits:
            cpus: "2"
  ```

## InstallerenQlik Gegevensgateway - Directe toegang

Voor het instellen van de Direct Access gateway moet u procedures volgen die u zowel in het Beheer-activiteitencentrum en voor de server van de Direct Access gateway moet uitvoeren.

InformatieVoor procedures voor de gegevensgateway die in het Beheer-activiteitencentrum moeten worden uitgevoerd, hebt u toegang van de tenantbeheerder nodig.

### Fase één: download Qlik Gegevensgateway - Directe toegang

1. In het Beheer-activiteitencentrum selecteert u Gegevensgateways.

   Bestaande gegevensgateways worden weergegeven in [een tabel die basisgegevens over elke gateway toont](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-managing-console.htm#gateprop).

2. Klik op de werkbalkknop Implementeren.

   Het dialoogvenster Gegevensgateway implementeren wordt geopend.

3. Selecteer Gegevensgateway - Directe toegang - Containerized Direct Access Gateway, accepteer de Qlik Klantovereenkomst en klik op Downloaden. Het installatiebestand van de Direct Access gateway (docker-compose.qlik-data-gateway-direct-access.yml) wordt naar uw computer gedownload.

### Fase twee: Start de implementatie door het Docker Compose-bestand uit te voeren

Om de implementatie van de Direct Access gateway te starten, voert u de volgende opdracht uit:

docker compose -f docker-compose.qlik-data-gateway-direct-access.yml up

### Fase drie: Instellen van Direct Access gateway

Zie [Fase drie: Instellen Direct Access gateway](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setting-up.htm#Stage3) voor gedetailleerde installatie-instructies.

### Fase vier: De gegevensgateway registreren

De volgende stap is het registreren van de gegevensgateway. Dit kan ofwel via het Beheer-activiteitencentrum of via de opdrachtregel worden gedaan.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm)

#### Optie 1: Via het Beheer activiteitencentrum

U kunt de gateway registreren met behulp van het Beheer-activiteitencentrum. Zie [Optie 1: via het Beheer activiteitencentrum](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setting-up.htm#StageConsole).

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm)

#### Optie 2: Automatische registratie via de opdrachtregel

U kunt Direct Access gateway ook automatisch registreren via de opdrachtregel, zonder het Beheer-activiteitencentrum te gebruiken. Deze methode maakt gebruik van een kortlevend sessietoken dat is gegenereerd door een OAuth-client.

InformatieAutomatische registratie wordt alleen via de opdrachtregel ondersteund. Een REST API voor automatische gatewayregistratie is momenteel niet beschikbaar.

Vereisten

Een API-sleutel met tenant-beheerdersrechten om OAuth-clients te maken en te beheren.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm)De gateway registreren met automatische registratie

1. Eerst moet u een Python-omgeving instellen om een OAuth-client-ID te genereren, evenals een assertiesleutel (kortlevend token) in de direct-access-agent container. Voer de volgende opdrachten afzonderlijk uit, in deze volgorde:

   1. docker exec -it --user root direct-access-agent-1 bash

   2. apt-get update && apt-get install -y python3 python3-pip

   3. apt install python3.11-venv

   4. python3 -m venv .venv

   5. source .venv/bin/activate

   6. pip install cryptography pyjwt

   7. [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm)python3 generate\_gateway\_assertion.py --tenant-url &lt;tenant-url&gt;

2. Voor het [laatste commando in de bovenstaande lijst](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm#python3) dient u de interactieve prompts te volgen en de client\_id (OAuth client ID) en assertion te kopiëren wanneer deze worden verstrekt. Bewaar deze gegevens voorlopig op papier of in een tijdelijk tekstbestand—ze zijn vereist voor latere stappen in het proces.

3. Wanneer u de client\_id en assertion hebt genoteerd, schoont u de Python-omgeving op met de volgende opdracht:

   deactivate

4. Stel de toestemmingsmethode van de OAuth-client in op vertrouwd.

   curl "https://&lt;tenant-url&gt;/api/v1/oauth-clients/&lt;client-id&gt;/connection-configs/me" -X PATCH -H 'accept: application/json' -H 'content-type: application/json' -H 'authorization: Bearer &lt;api-key&gt;' -d '[{"op":"replace","path":"/consentMethod","value":"trusted"}]'

5. Vraag een toegangstoken aan. Dit activeert ook de automatische aanmaak van het bot-gebruikersaccount dat door de gateway wordt gebruikt.

   curl "https://&lt;tenant-url&gt;/oauth/token" -X POST -H 'content-type: application/x-www-form-urlencoded' -d "grant\_type=client\_credentials" -d "client\_id=&lt;client-id&gt;" -d "client\_assertion\_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer" -d "client\_assertion=&lt;assertion&gt;" -d "scope=admin.direct-access-gateways:register\_gateway admin.direct-access-gateways:delete\_gateway"

   Informatie

   Als de assertie is verlopen, voer het script dan opnieuw uit vanuit de virtuele omgeving.

6. Zoek de automatisch aangemaakte botgebruiker op.

   curl "https://&lt;tenant-url&gt;/api/v1/users" -H 'accept: application/json' -H 'authorization: Bearer &lt;API-key&gt;'

7. Kopieer de ID van my-bot-client.

8. Maak een rol "DAG Registration" aan.

   curl "https://&lt;tenant-url&gt;/api/v1/roles" -X POST -H 'accept: application/json' -H 'content-type: application/json' -H 'authorization: Bearer &lt;API-key&gt;' -d '{"name":"DAG Registration","description":"Role for registering a gateway","assignedScopes":["admin.direct-access-gateways:register\_gateway", "admin.direct-access-gateways:delete\_gateway"]}'

9. Wijs rollen op tenantniveau toe aan de botgebruiker.

   curl "https://&lt;tenant-url&gt;/api/v1/users/&lt;bot-user-ID&gt;" -X PATCH -H 'accept: application/json' -H 'content-type: application/json' -H 'authorization: Bearer &lt;API-key&gt;' -d ' [ { "op": "replace", "path": "/assignedRoles", "value": [ { "name": "DAG Registration" } ] } ]'

10. Haal de ruimte van de Gateway voor directe toegang op.

    curl "https://&lt;tenant-url&gt;/api/v1/spaces" -H 'authorization: Bearer &lt;API-key&gt;'

11. Kopieer de space-id van de Direct Access Gateway.

12. Voeg de botgebruiker toe aan de ruimte met de machtiging Kan bewerken.

    curl "https://&lt;tenant-url&gt;/api/v1/spaces/&lt;DAG-space-ID&gt;/assignments" -X POST -H 'accept: application/json' -H 'content-type: application/json' -H 'authorization: Bearer &lt;API-key&gt;' -d '{"assigneeId": "&lt;bot-user-ID&gt;","roles": ["consumer","dataconsumer","producer"], "type": "user"}'

13. Als de bestaande assertie is verlopen, genereer dan een nieuwe. Voer de volgende opdracht uit:

    python3 generate\_gateway\_assertion.py --tenant-url &lt;tenant-url&gt;

14. Volg de benodigde stappen in de opdrachtprompt. Aangezien de OAuth-client al is aangemaakt, moet JWK worden bijgewerkt met behulp van deze API-aanroep:

    curl "https://&lt;tenant-url&gt;/api/v1/oauth-clients/&lt;client-ID&gt;" -X PATCH -H 'accept: application/json' -H 'content-type: application/json' -H 'authorization: Bearer &lt;API-key&gt;' -d '[{"op":"replace","path":"/publicKeys/0/y","value":"&lt;Y-value-from-JWK&gt;"},{"op":"replace","path":"/publicKeys/0/x","value":"&lt;X-value-from-JWK&gt;"},{"op":"remove","path":"/publicKeys/0/use"},{"op":"replace","path":"/publicKeys/0/kid","value":"&lt;kid-value-from-JWK&gt;"}]'

15. Registreer de gateway:

    dotnet ConnectorAgent.dll qcs register\_gateway --tenant\_url &lt;tenant-url&gt; --gateway\_name &lt;DAG-name&gt; --gateway\_description &lt;DAG-description&gt; --space\_name &lt;space-name&gt; --client-id &lt;client-ID&gt; --assertion &lt;assertion&gt;

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm)Een automatisch geregistreerde gateway verwijderen

Gebruik de volgende stappen om de registratie van een gateway ongedaan te maken die is geregistreerd met behulp van de hierboven beschreven automatische, op sessietokens gebaseerde methode. Deze stappen verwijderen ook de OAuth-client, de botgebruiker en de rol die hiervoor zijn aangemaakt.

1. Genereer een assertie, zoals beschreven in [de bovenstaande sectie](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm#AutoRegister).

2. Verwijder de gateway:

   dotnet ConnectorAgent.dll qcs delete\_gateway --tenant\_url &lt;tenant-url&gt; --gateway\_name &lt;gateway-name&gt; --client-id &lt;client-ID&gt; --assertion &lt;assertion&gt;

3. Zoek het bot-gebruikersaccount op dat voor de gateway is aangemaakt.

   curl "https://&lt;tenant-url&gt;/api/v1/users" -H 'accept: application/json' -H 'authorization: Bearer &lt;api-key&gt;'

4. Kopieer de bot-ID.

5. Verwijder dit bot-gebruikersaccount.

   curl -X DELETE "https://&lt;tenant-url&gt;/api/v1/users/&lt;bot-user-ID&gt;" -H "Authorization: Bearer &lt;api-key&gt;"

6. Zoek de rol “DAG Registration” op die voor de gateway is aangemaakt.

   curl "https://&lt;tenant-url&gt;/api/v1/roles?limit=1&filter=(name%20eq%20%22DAG%20Registration%22)" -H "Authorization: Bearer &lt;api-key&gt;"

7. Kopieer de rol-ID.

8. Verwijder deze rol.

   curl -X DELETE "https://&lt;tenant-url&gt;/api/v1/roles/&lt;role-ID&gt; -H "Authorization: Bearer &lt;api-key&gt;"

9. Verwijder de OAuth-client.

   curl -X DELETE https://&lt;tenant-url&gt;/api/v1/oauth-clients/&lt;OAuth-client-ID&gt; -H "qlik-confirm-delete: &lt;OAuth-client-ID&gt;" -H "Authorization: Bearer &lt;api-key&gt;

### Fase vijf: start de Qlik Gegevensgateway - Directe toegang-service op de server van de gateway voor directe toegang

Om de Qlik Gegevensgateway - Directe toegang-service te starten, start u de dcaas-dg- en direct-access-agent-containers.

### Fase zes: een verbinding toevoegen aan uw gegevensbron

Zie [Fase zes: een verbinding toevoegen aan uw gegevensbron](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm#Stage6).

## Omgevingsinstellingen

Deze sectie vermeldt specifieke omgevingsvariabelen uit het bestand docker-compose.qlik-data-gateway-direct-access.yml die u mogelijk moet configureren om uw gegevensbronnen correct via de gateway te verbinden.

* ALLOW\_SOURCES: Een door komma's gescheiden allowlist van hostnamen en IP-adressen. Wanneer de gateway-agent verbinding moet maken met iets op uw eigen server of een andere host in het lokale of privénetwerk (bijvoorbeeld een database op localhost, een Docker-servicenaam of een host met een privé-IP), voegt u dat adres toe aan ALLOW\_SOURCES — anders wordt de verbindingspoging geweigerd.

## Ondersteunde gegevensbronnen

* De volgende ODBC-connectors worden ondersteund voor gecontaineriseerde installaties:

  * PostgreSQL
  * SQL Server
  * Oracle

  Zie [ODBC-databases ‒ Qlik Cloud](https://help.qlik.com/en-US/cloud-services/Subsystems/ODBC_Connector_help/Content/Connectors_ODBC/Introduction/ODBC-connector.htm) (alleen in het Engels) voor meer informatie over ODBC-connectors.

* REST connector (REST via Direct Access gateway). Voor meer informatie over REST-gegevensbronnen, zie [REST-bronnen ‒ Qlik Cloud](https://help.qlik.com/en-US/cloud-services/Subsystems/REST_Connector_help/Content/Connectors_REST/REST-connector.htm) (alleen in het Engels).

## Meer informatie

* [Qlik Gegevensgateway - Directe toegang instellen](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setting-up.htm)
* [Qlik Gegevensgateway - Directe toegang instellen op een Windows-server](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-win.htm)