# Konfigurera Qlik Data Gateway – direktåtkomst i en behållare

Det här avsnittet beskriver hur du konfigurerar containerbaserad Gateway med direktåtkomst. Den innehåller förutsättningar och installationsinstruktioner, och beskriver de begränsningar och överväganden du bör känna till när du arbetar med containerbaserad Gateway med direktåtkomst.

Anteckning om informationStöds från och med Gateway med direktåtkomst 1.8.0.

## Vad är containeriserad Gateway med direktåtkomst?

Du kan distribuera Gateway med direktåtkomst i en Docker-behållare. Denna typ av distribution kallas containeriserad Gateway med direktåtkomst. Containerbaserade driftsättningar av Gateway med direktåtkomst stöds för Linux, macOS och Windows.

Containeriserad Gateway med direktåtkomst ger portabilitet till din Gateway med direktåtkomst-miljö.

## Bästa praxis vid användning av Qlik Data Gateway – direktåtkomst

För att Qlik Data Gateway – direktåtkomst ska fungera utan problem rekommenderar vi att du följer de här metodtipsen:

* Använd inte samma Gateway med direktåtkomst för utveckling, testning av användaracceptans och produktion, eftersom det ökar risken för överbelastning av tillgängliga resurser och påverkar systemstabiliteten. Från ett affärsperspektiv kan kombinationen av otillräckliga resurser och minskad stabilitet leda till försenade uppdateringar av produktionsprogramdata.

* För optimala prestanda ska du installera Gateway med direktåtkomst i en miljö som är så nära datakällan som möjligt.

## Systemförutsättningar

I det här delavsnittet beskrivs kraven för att använda containeriserad Gateway med direktåtkomst.

### Programvarukrav

* Docker Engine version 20.9+ och Docker Compose-pluginet (docker compose, v2-syntax) installerade på värddatorn.

### Nödvändiga portar och protokoll

För nödvändiga portar och protokoll, se [Portar och protokoll som krävs](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setting-up.htm#Ports).

### Rekommenderad maskinvara

* Värd: 8 kärnor, 32 GB minne, 5 GB lagringsutrymme tillgängligt för Docker

* Valfritt: Ange matchande gränser för behållaren i compose-filen så att gatewayen får dedikerad kapacitet i stället för att konkurrera med andra behållare eller processer på värden:

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

#### Lägsta hårdvarukrav

Den minsta hårdvaran är endast lämplig för specifika scenarier som använder mindre, dedikerade distributioner (utveckling, test eller produktion), med kontinuerligt låga datavolymer och ett begränsat antal samtidiga ominläsningar.

* Värd: 4 kärnor, 8 GB minne, 5 GB lagringsutrymme tillgängligt för Docker

* Valfritt: Ange matchande gränser för behållaren i compose-filen så att gatewayen får dedikerad kapacitet i stället för att konkurrera med andra behållare eller processer på värden:

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

## Installera Qlik Data Gateway – direktåtkomst

Installation av en Direct Access gateway kräver åtgärder både i aktivitetscentret för Administration och på Direct Access gateway-servern.

Anteckning om informationDatagatewayprocedurer som måste utföras i aktivitetscentret för Administration kräver administrationsbehörighet för klientorganisationen.

### Steg ett: hämta Qlik Data Gateway – direktåtkomst

1. Välj Datagateways i aktivitetscentret för Administration.

   Alla befintliga datagatewayer kommer att anges i [en tabell som visar grundläggande information om varje gateway](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-managing-console.htm#gateprop).

2. Klicka på Driftsättning-knappen i verktygsfältet.

   Driftsätt datagateway-dialogen öppnas.

3. Välj Datagateway – direktåtkomst - Containerized Direct Access Gateway, godkänn Qlik kundavtal och klicka på Ladda ned. Installationsfilen för Direct Access gateway (docker-compose.qlik-data-gateway-direct-access.yml) kommer att laddas ned till din dator.

### Steg två: Starta distributionen genom att köra Docker Compose-filen

För att starta distributionen av Gateway med direktåtkomst, kör följande kommando:

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

### Steg tre: Konfigurera Gateway med direktåtkomst

För detaljerade installationsinstruktioner, se [Steg tre: Konfigurera Gateway med direktåtkomst](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setting-up.htm#Stage3).

### Fas fyra: Registrera datagatewayen

Nästa steg är att registrera datagatewayen. Detta kan göras antingen via aktivitetscentret Administration eller på kommandoraden.

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

#### Alternativ 1: Via aktivitetscentret Administration

Du kan registrera gatewayen med hjälp av aktivitetscentret Administration. Se [Alternativ 1: Via aktivitetscentret Administration](https://help.qlik.com/sv-SE/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)

#### Alternativ 2: Automatisk registrering via kommandoraden

Du kan också registrera Gateway med direktåtkomst automatiskt från kommandoraden, utan att använda aktivitetscentret Administration. Denna metod använder en kortlivad sessionstoken som genererats från en OAuth-klient.

Anteckning om informationAutomatisk registrering stöds endast via kommandoraden. Ett REST API för automatisk gatewayregistrering är för närvarande inte tillgängligt.

Förutsättningar

En API-nyckel med administratörsbehörighet för klientorganisationen för att skapa och hantera OAuth-klienter.

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

1. Först behöver du konfigurera en Python-miljö för att generera ett OAuth-klient-ID, samt en assertion-nyckel (kortlivad token) i direct-access-agent-behållaren. Kör följande kommandon separat, i den här ordningen:

   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. För det [sista kommandot i listan ovan](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm#python3) ska du följa de interaktiva anvisningarna och kopiera client\_id (OAuth-klient-ID) och assertion när de tillhandahålls. Spara dessa uppgifter på papper eller i en tillfällig textfil så länge—de krävs för senare steg i processen.

3. När du har skrivit ned client\_id och assertion, rensa Python-miljön med följande kommando:

   deactivate

4. Ställ in OAuth-klientens samtyckesmetod på betrodd.

   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. Begär en åtkomsttoken. Detta utlöser även automatiskt skapande av det botanvändarkonto som används av gatewayen.

   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"

   Anteckning om information

   Om assertionen har löpt ut, kör om skriptet från den virtuella miljön.

6. Sök upp den automatiskt skapade botanvändaren.

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

7. Kopiera ID:t för my-bot-client.

8. Skapa en "DAG Registration"-roll.

   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. Tilldela roller på klientorganisationsnivå till botanvändaren.

   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. Hämta utrymmet för Gateway med direktåtkomst.

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

11. Kopiera utrymmes-ID:t för Direct Access Gateway.

12. Lägg till botanvändaren i ytan med behörigheten Kan redigera.

    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. Om den befintliga assertionen har löpt ut, generera en ny. Kör följande kommando:

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

14. Följ de nödvändiga stegen i kommandotolken. Eftersom OAuth-klienten redan har skapats finns det ett behov av att uppdatera JWK med hjälp av detta API-anrop:

    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. Registrera gatewayen:

    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)Ta bort en automatiskt registrerad gateway

Använd följande steg för att avregistrera en gateway som registrerades med den automatiska, sessionstokenbaserade metoden som beskrivs ovan. Dessa steg tar även bort OAuth-klienten, bot-användaren och rollen som skapades för den.

1. Generera en assertion, enligt beskrivningen i [delavsnittet ovan](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm#AutoRegister).

2. Ta bort gatewayen:

   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. Leta upp botanvändarkontot som skapades för gatewayen.

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

4. Kopiera bot-ID:t.

5. Ta bort detta botanvändarkonto.

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

6. Leta upp rollen ”DAG Registration” som skapades för gatewayen.

   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. Kopiera roll-ID:t.

8. Ta bort den här rollen.

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

9. Ta bort OAuth-klienten.

   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;

### Steg fem: starta Qlik Data Gateway – direktåtkomst-tjänsten på Direct Access gateway-servern

För att starta tjänsten Qlik Data Gateway – direktåtkomst, starta containrarna dcaas-dg och direct-access-agent.

### Steg sex: lägg till en koppling till datakällan

Se [Steg sex: lägg till en koppling till datakällan](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm#Stage6).

## Miljöinställningar

Det här delavsnittet listar specifika miljövariabler från filen docker-compose.qlik-data-gateway-direct-access.yml som du kan behöva konfigurera för att ansluta dina datakällor korrekt via gatewayen.

* ALLOW\_SOURCES: En kommaseparerad tillåtelselista över värdnamn och IP-adresser. När gateway-agenten behöver ansluta till något på din egen server eller en annan värd i det lokala eller privata nätverket (till exempel en databas på localhost, ett Docker-tjänstnamn eller en värd med privat IP-adress), lägger du till den adressen i ALLOW\_SOURCES — annars nekas kopplingsförsöket.

## Datakällor som stöds

* Följande ODBC-anslutningar stöds för containerbaserade installationer:

  * PostgreSQL
  * SQL Server
  * Oracle

  Mer information om ODBC-kopplingar finns i [ODBC-databaser – Qlik Cloud](https://help.qlik.com/en-US/cloud-services/Subsystems/ODBC_Connector_help/Content/Connectors_ODBC/Introduction/ODBC-connector.htm) (endast på engelska).

* REST koppling (REST via Direct Access gateway). För mer information om REST-datakällor, se [REST-källor ‒ Qlik Cloud](https://help.qlik.com/en-US/cloud-services/Subsystems/REST_Connector_help/Content/Connectors_REST/REST-connector.htm) (endast på engelska).

## Mer information

* [Konfigurera Qlik Data Gateway – direktåtkomst](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setting-up.htm)
* [Konfigurera Qlik Data Gateway – direktåtkomst på en Windows-server](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-win.htm)