Ga naar inhoud
getnextpdf.com

Enterprise editie

Accelerator — GPU-sidecar en KMS-providerfabriek

NextPDF Enterprise voegt twee acceleratiefuncties toe: een GPU-sidecar voor tekst-embedding met een CPU-fallback, en een KMS-providerfabriek die metadata en rotatie levert voor data-encryptiesleutels op collectieniveau. Deze pagina beschrijft het gedrag, de grenzen en het standpunt over sleutelbewaring.

Deze functionaliteit wordt geleverd in NextPDF Enterprise (nextpdf/enterprise) en wordt geactiveerd met een licentie-envelop op Enterprise-niveau. Een deployment zonder dat recht laadt de klassen van de functionaliteit niet. Vergelijk edities en vraag een licentie aan.

De GPU-sidecar versnelt tekst-naar-vector-embedding. Het Enterprise-pakket stuurt de tekst via een lokaal HTTP-verzoek naar een apart sidecarproces. De sidecar draait het embedding-model op een GPU wanneer er een beschikbaar is. Wanneer er geen GPU beschikbaar is, draait de sidecar hetzelfde model op de CPU en rapporteert dat het in een gedegradeerde modus draaide. Het resultaat heeft in beide gevallen dezelfde vectorvorm. Het embedding-model wordt bij het eerste verzoek geladen, dus het eerste verzoek is trager dan latere verzoeken. De sidecar is optioneel; er wordt een beschikbaarheidscontrole geboden, en een ontbrekende sidecar gooit een getypeerde uitzondering in plaats van stilzwijgend te falen.

De KMS-providerfabriek selecteert een sleutelbeheerprovider op basis van de configuratie. De fabriek leest een omgevingsvariabele om de provider te kiezen. De standaardprovider leidt lokaal een collectiespecifieke data-encryptiesleutel af met HKDF-SHA256 vanuit een geconfigureerde hoofdsleutel, met de collectie-identifier als domeinscheider. De lokale provider contacteert geen enkele externe service; de afleiding is deterministisch en in-process. De fabriek accepteert ook een expliciete configuratievorm voor de lokale provider. Cloudproviders — AWS KMS, GCP Cloud KMS, Azure Key Vault en HashiCorp Vault Transit — zijn herkende providernamen; een van deze selecteren zonder de bijbehorende integratie geïnstalleerd te hebben, gooit een getypeerde configuratiefout die de ontbrekende afhankelijkheid benoemt.

Een provider retourneert sleutelmetadata, geen ruwe sleutelbytes. De metadata registreert de sleutel-identifier, een monotoon oplopende sleutelversie, de naam van het encryptie-algoritme en de providernaam. Een rotatieaanroep verhoogt de sleutelversie en retourneert de nieuwe metadata. De caller is verantwoordelijk voor het opnieuw versleutelen van collectiegegevens met de nieuwe sleutelversie na een rotatie. De sleutelversie- en rotatielevenscyclus volgt NIST SP 800-57 Part 1 Rev.5 §4.

Embedding draait in een apart GPU-sidecarproces in plaats van binnen het PHP-verzoek. Het laden van een GPU-model is duur, dus de sidecar laadt het model één keer en spreidt die kosten over veel verzoeken. Wanneer er geen GPU aanwezig is, draait de sidecar hetzelfde model op de CPU en rapporteert een gedegradeerde modus. De doorvoer kan dalen, maar de correctheid niet: de vectorvorm is in beide gevallen identiek. De sidecar blijft optioneel; een beschikbaarheidscontrole en een getypeerde uitzondering bij een ontbrekende sidecar houden acceleratie een bewuste opt-in, geen verborgen afhankelijkheid. Die scheiding laat embedding met hoog volume schalen op dedicated hardware, terwijl de documentpijplijn een gewone PHP-aanroep blijft.

Ontwerpachtergrond: Documentgeneratie met hoog volume.

Publiek oppervlakTypeDoelStabiliteitSinds
KMS-providerfabriekclassBouw een KMS-provider op basis van omgevings- of expliciete configuratiestabiel2.1.0
KMS-providerinterfaceHaal sleutelmetadata op, roteer een sleutel en rapporteer de providernaamstabiel2.1.0
Lokale KMS-providerclass (implementeert de providerinterface)Lokale HKDF-SHA256-sleutelafleiding; contacteert geen externe servicestabiel2.1.0
Encryptiesleutelresultaatvalue objectOnveranderlijke sleutelmetadata: sleutel-id, versie, algoritme, provider — geen ruwe sleutelbytesstabiel2.1.0
GPU-embedding-serviceclass (implementeert de Core-embedding-service-interface)Embed tekst op een GPU-sidecar met een CPU-fallbackstabiel2.1.0

De providerfabriek biedt een “from environment”-toegangspunt en een expliciet “create”-toegangspunt. De configuratiewaarde van de hoofdsleutel is in de lokale provider als gevoelig gemarkeerd. Het gezaghebbende parameter- en typecontract is de gepubliceerde API-referentie voor het pakket nextpdf/enterprise; behandel die referentie — niet deze pagina — als het contract.

Terminal window
composer require nextpdf/core
composer require nextpdf/enterprise:^3
Build the local KMS provider and read key metadata
use NextPDF\Enterprise\Accelerator\KmsProviderFactory;
// Selects the provider from environment configuration; defaults to the
// local HKDF-based provider. Supply the root key through your secret
// manager, never from source or logs.
$provider = KmsProviderFactory::fromEnvironment();
$key = $provider->getEncryptionKey('collection-1');
// $key is metadata only: key id, version, algorithm, provider name.
Rotate a collection key, then re-encrypt collection data
use NextPDF\Enterprise\Accelerator\KmsProviderFactory;
$provider = KmsProviderFactory::fromEnvironment();
$rotated = $provider->rotateKey('collection-1');
// The version advanced. Re-encrypt the collection's data files with the
// new key version. The provider returns metadata only; it never returns
// raw key bytes.

De namen van de omgevingsvariabelen, de expliciete configuratiesleutels en de uitzonderingstypen zijn gedocumenteerd in de Accelerator diepte-referentie.

  • De lokale KMS-provider vereist een hex-gecodeerde hoofdsleutel van ten minste 32 bytes. Een kortere of niet-hex waarde gooit bij constructie een getypeerde argumentuitzondering.
  • Een cloudprovidernaam selecteren zonder de bijbehorende integratie geïnstalleerd te hebben, gooit een getypeerde configuratiefout die de ontbrekende afhankelijkheid benoemt.
  • Een onbekende providernaam gooit een getypeerde fout die de ondersteunde namen opsomt.
  • De GPU-sidecar rapporteert een gedegradeerde modus wanneer deze terugvalt op de CPU. Controleer dat veld als je afhankelijk bent van GPU-doorvoer.
  • Het embedding-model wordt bij het eerste verzoek geladen; stem de time-out voor het eerste verzoek daarop af.

Lokale sleutelafleiding is een HKDF-operatie met constante kosten. Deze contacteert geen externe service. Een GPU-embedding-verzoek voegt één lokale rondrit naar de sidecar toe plus de inferentietijd van het model. Het eerste verzoek betaalt ook de eenmalige modellaadkosten. CPU-fallback is correct maar trager dan het GPU-pad voor dezelfde batch.

  • Een KMS-provider retourneert sleutelmetadata, geen ruwe sleutelbytes. Het value object met het encryptiesleutelresultaat draagt nooit het sleutelmateriaal.
  • De hoofdsleutel van de lokale provider is een gevoelige constructorparameter. Deze wordt niet gelogd en niet geserialiseerd.
  • De lokale provider contacteert geen externe service. De afleiding is deterministisch en in-process.
  • Het gebruik van AES-GCM vereist een unieke initialisatievector per sleutel, volgens NIST SP 800-38D §5.

De lokale KMS-provider draait in-process en contacteert geen externe service; geen sleutelmateriaal en geen documentinhoud verlaat de host voor lokale sleutelafleiding. De GPU-sidecar ontvangt de te embedden tekst via een lokaal verzoek; deze ontvangt geen ongerelateerde documentinhoud. Een cloud-KMS-provider contacteert, wanneer geconfigureerd, de cloudprovider die je selecteert; beoordeel de datalocatiepositie van die provider voor jouw jurisdictie.

De hoofdsleutel van de lokale provider is een gevoelige constructorparameter en wordt uitgesloten van logs en serialisatie. Voeg de hoofdsleutel, afgeleide sleutels of providerreferenties niet toe aan je eigen applicatielogs. Behandel al het sleutelmateriaal als een geheim in je log- en tracingbeleid.

De provider retourneert metadata, geen sleutelbytes, dus een metadatalek legt geen sleutelmateriaal bloot. De beveiliging van de lokale provider hangt af van de geheimhouding van de geconfigureerde hoofdsleutel. De beveiliging van een cloudprovider hangt af van die provider en jouw configuratie. Sleutelbescherming hangt af van de KMS of het hoofdsleutelgeheim, de implementatie en de operator — niet van deze software alleen. Zie de implementatiegrens.

  • De versie- en rotatielevenscyclus van de data-encryptiesleutel sluit aan op NIST SP 800-57 Part 1 Rev.5 §4.
  • De verantwoordelijkheid voor sleutelbescherming sluit aan op NIST SP 800-57 Part 1 Rev.5 §5.5.2.
  • De uniekheid van de AES-GCM-initialisatievector sluit aan op NIST SP 800-38D §5.

Elke normatieve bron is geparafraseerd. Er wordt op deze pagina geen normatieve tekst gereproduceerd. Deze pagina betreft sleutelbeheer.

De HKDF-afleiding van de lokale provider gebruikt SHA-256. Het encryptie-algoritme dat in de sleutelmetadata wordt vastgelegd is AES-256-GCM. Wanneer de applicatie draait tegen een FIPS-gevalideerde cryptografische provider, draaien die primitieven binnen die gevalideerde grens. De providerfabriek zelf selecteert en construeert de provider; deze certificeert de cryptografische grens niet.

NextPDF Enterprise is geen FIPS-gevalideerde cryptografische module en maakt geen FIPS-certificeringsclaim. Het werkt alleen in een FIPS-compatibele modus wanneer het is geconfigureerd met een FIPS-gevalideerde cryptografische provider of een FIPS-gevalideerde KMS.

De GPU-embedding-sidecar en de KMS-providerfabriek worden uitsluitend in het pakket nextpdf/enterprise geleverd. NextPDF Pro biedt KMS-integratie voor ondertekeningsstrategieën (AWS KMS, GCP Cloud KMS, Azure Key Vault), maar biedt niet de Enterprise-KMS-providerfabriek of de GPU-embedding-sidecar. Het interne sidecartransport en de interne embedding-pijplijnklassen vallen buiten het bereik van het publieke oppervlak en worden hier niet gereproduceerd.

NextPDF Pro biedt cloud-KMS-ondertekeningsstrategieën — de KMS bewaart de ondertekeningssleutel, en Pro stuurt de digest van de ondertekende attributen naar de provider. Dat is een ondertekeningsintegratie. Het is niet de Enterprise-providerfabriek voor data-encryptiesleutels op collectieniveau en niet de GPU-embedding-sidecar. Zie Accelerator — NextPDF Pro voor het Pro-acceleratieoppervlak.

NextPDF Core heeft geen GPU-embedding-sidecar en geen KMS-providerfabriek. Embedding en sleutelbeheer op collectieniveau zijn Enterprise-only-functies.

Het GPU-sidecartransport, de identifier van het embedding-model en de interne pijplijnklassen worden alleen op gedragsniveau beschreven. De interne transportclient, de interne scopetokens en de interne pijplijnsamenstelling vallen buiten het bereik van het publieke oppervlak en worden hier niet gereproduceerd.

NextPDF Enterprise integreert met een KMS of leidt sleutels af uit een geconfigureerd hoofdsleutelgeheim. Het slaat dat hoofdsleutelgeheim of de cloud-KMS-sleutel niet zelf op en garandeert de beveiliging ervan niet. Sleutelbeveiliging hangt af van de KMS of het hoofdsleutelgeheim, van de implementatie en van de operator — niet van NextPDF Enterprise alleen. De operator is verantwoordelijk voor het provisioneren van de hoofdsleutel, opslag van geheimen, KMS-configuratie en rotatieplanning. De verantwoordelijkheid voor sleutelbescherming volgt NIST SP 800-57 Part 1 Rev.5 §5.5.2. NextPDF Enterprise legt in deze documentatie geen KMS-referentieflows of internals voor het verwerken van de hoofdsleutel bloot.

Het betreft sleutelbeheer. De FIPS-modusverklaring is een compatibiliteitsverklaring, geen certificering en geen juridisch oordeel. Raadpleeg je eigen compliance- en juridische adviseurs voor je regelgevingsverplichtingen.

Deze pagina documenteert alleen extern waarneembaar gedrag en het ondersteunde publieke API-oppervlak. Interne namespace-paden, helperklassen, mechanismetabellen, runbook-bestandsnamen en ticketprefixen vallen buiten het bereik.

  • De providerfabriek selecteert de provider op basis van de configuratie en retourneert een provider die voldoet aan het providercontract.
  • Een provider retourneert onveranderlijke sleutelmetadata en retourneert nooit ruwe sleutelbytes.
  • Een rotatieaanroep verhoogt de sleutelversie en retourneert de nieuwe metadata; de caller versleutelt collectiegegevens opnieuw.
  • De GPU-sidecar rapporteert een gedegradeerde modus bij CPU-fallback en gooit een getypeerde uitzondering wanneer deze niet beschikbaar is.