Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
Questa sezione descrive come utilizzare le mappe chiave-valore (KVM).
Panoramica
A volte vuoi archiviare i dati per il recupero in fase di runtime, ovvero dati non scaduti che non devono essere codificati nella logica del proxy API. Le mappe chiave-valore (KVM) sono ideali per questo scopo. Un KVM è una raccolta personalizzata di coppie di stringhe chiave/valore criptate.
Di seguito sono elencati tre casi d'uso generali per l'archiviazione dei dati nelle KVM:
- Dati della sessione utente:dati creati ed eliminati solo dal runtime; non puoi visualizzare o gestire le voci KVM al di fuori del runtime. Ad esempio, i contenuti del carrello degli acquisti.
- Configurazione (ad esempio regole di routing e tabelle di ricerca): dati in genere
creati al di fuori del runtime, ma letti dal runtime. Questi dati vengono configurati utilizzando la UI o l'API
e poi resi disponibili al gateway (come variabili o contenuti di sola lettura).
Ad esempio, hai un proxy API che deve chiamare un URL di destinazione (o Service Callout) in un ambiente di test e un altro URL di destinazione in un ambiente di produzione. Anziché codificare gli URL nell'proxy API, puoi fare in modo che rilevi l'ambiente in cui si trova, esegua il criterio KeyValueMapOperations correlato e recuperi l'URL di destinazione corretto dal KVM appropriato.
In un secondo momento, se uno o entrambi i target cambiano, è sufficiente aggiornare le KVM con i nuovi URL. Il proxy API rileva i nuovi valori e non è necessario eseguire un nuovo deployment.
- Credenziali:archivia credenziali, chiavi private o token, ad esempio token per servizi esterni, credenziali necessarie per generare token OAuth o chiavi private utilizzate nelle norme JavaCallout o JavaScript per la crittografia o la firma di token web JSON (JWT). Anziché trasmettere credenziali, chiavi o token nella richiesta o codificarli nella logica del proxy, puoi archiviarli in una KVM e recuperarli dinamicamente nelle chiamate ai target che li richiedono.
Scoprirai altre situazioni in cui l'archiviazione di coppie chiave/valore di tipo Stringa è utile. In generale, valuta la possibilità di utilizzare le KVM quando:
- Sezioni specifiche del codice richiedono valori diversi in fase di runtime.
- I dati sensibili devono essere trasmessi senza essere codificati in modo permanente.
- Vuoi archiviare valori che non scadono come una cache.
In alcuni casi, i set di proprietà sono una buona alternativa alle KVM, in quanto possono essere più facili da utilizzare. Per maggiori informazioni, vedi Utilizzare i set di proprietà.
Informazioni sull'ambito KVM
L'ambito definisce dove è disponibile una KVM. I KVM possono essere creati nei seguenti ambiti:
Ambito | Descrizione |
---|---|
proxy API | Solo il proxy API può accedere alla KVM. |
Ambiente | Tutti i proxy API in un ambiente specifico possono accedere al KVM. Ad esempio, potresti voler impedire ai proxy API di cui è stato eseguito il deployment nell'ambiente prod di accedere alle KVM nell'ambiente test . Se vuoi che le stesse chiavi KVM
siano disponibili in produzione, crea una chiave KVM parallela con ambito prod . |
Organizzazione | Tutti i proxy API in tutti gli ambienti possono accedere a KVM. |
Informazioni sulla crittografia KVM
In Apigee, tutte le voci KVM per gli ambiti proxy API, organizzazione e ambiente sono protette utilizzando la chiave Cloud KMS fornita durante il provisioning di un'organizzazione Apigee (vedi il campo runtimeDatabaseEncryptionKey
nella risorsa Organizzazione).
Apigee utilizza AES256 come standard di crittografia.
In Apigee Hybrid, puoi fornire chiavi di crittografia separate per tutte le voci KVM per i proxy API, gli ambiti dell'organizzazione e dell'ambiente. Apigee accetta dimensioni di cifratura AES128, AES196 o AES256 come standard di crittografia.
Creazione di KVM
Crea KVM come descritto nelle sezioni seguenti.
Apigee nella console Cloud
Per creare una nuova KVM (vuota) o visualizzare un elenco di KVM:
Nella console Google Cloud , vai alla pagina Gestione > Ambienti.
- Seleziona l'ambiente che vuoi modificare dall'elenco degli ambienti disponibili.
- Fai clic sulla scheda Mappe chiave-valore nella pagina Dettagli ambiente.
La pagina Mappe chiave-valore mostra un elenco delle mappe chiave-valore esistenti. Se non hai creato KVM, l'elenco è vuoto.
- Per creare una nuova KVM (vuota), fai clic su + Crea mappa chiave-valore.
Si apre la finestra di dialogo Crea mappa chiave-valore.
- Inserisci un nome per la KVM nel campo Nome mappa valori chiave.
Il nome può contenere solo lettere, numeri e trattini e non può superare i 255 caratteri. Non può includere spazi o altri caratteri speciali. Ad esempio:
my-kvm-1
- Fai clic su Crea.
Il nuovo KVM viene visualizzato nell'elenco.
UI Apigee classica
Per creare una nuova KVM (vuota) o visualizzare un elenco di KVM:
- Accedi alla UI Apigee.
- Seleziona Amministrazione > Ambienti > Mappe chiave-valore.
- Dall'elenco a discesa dell'ambiente, seleziona l'ambiente per cui vuoi creare un KVM.
La pagina Mappe chiave-valore mostra un elenco delle mappe chiave-valore esistenti. Se non hai creato KVM, l'elenco è vuoto.
- Per creare una nuova KVM (vuota), fai clic su + Mappa chiave-valore.
Viene visualizzata la finestra di dialogo Aggiungi mappa chiave-valore.
- Inserisci un nome per la KVM nel campo Nome.
Il nome può contenere solo lettere, numeri e trattini. Non può includere spazi o altri caratteri speciali. Ad esempio:
my-kvm-1
- Fai clic su Aggiungi.
Il nuovo KVM viene visualizzato nell'elenco.
API Apigee
Utilizza le API Apigee per creare, elencare ed eliminare KVM per i seguenti ambiti:
Policy KVM
Per creare KVM in fase di runtime e aggiornarli nei proxy API, utilizza il
criterio KeyValueMapOperations. Nella policy, specifica il nome del KVM nell'attributo mapIdentifier
dell'elemento principale.
L'elemento <InitialEntries>
consente di creare e compilare un insieme di voci di base in un nuovo KVM non appena salvi il criterio nella UI o esegui il deployment del proxy API (se lo hai sviluppato offline). Se i valori cambiano nel criterio, i valori esistenti
vengono sovrascritti. Le nuove coppie chiave/valore vengono aggiunte alle coppie chiave/valore esistenti.
L'elemento <Put>
crea un nuovo KVM se non ne esiste già uno e crea una chiave con uno o più valori. Se la KVM
esiste già, le coppie chiave/valore vengono aggiunte (o aggiornate se la chiave esiste già). Puoi utilizzare
più elementi <Put>
in una norma KVM.
Debug
Quando utilizzi il criterio KeyValueMapOperations
per recuperare i valori KVM criptati, fornisci il nome di una variabile in cui archiviare il
valore. Poiché tutti i valori KVM sono criptati, devi aggiungere il prefisso private.
al
nome della variabile, il che impedisce la visualizzazione delle coppie chiave/valore KVM nelle sessioni di debug.
Recupero di KVM
Recupera le KVM utilizzando l'elemento <Get>
del criterio KeyValueMapOperations.
Poiché tutti i valori KVM sono criptati,
aggiungi un prefisso private.
al nome della
variabile che conterrà il valore recuperato.
Questo prefisso nasconde il valore dalle sessioni di debug durante il debug dei proxy API. Per ulteriori informazioni, vedi
Elemento<Get>.
Eliminazione di KVM
Elimina le KVM come descritto nelle sezioni seguenti.
Apigee nella console Cloud
Per eliminare un KVM:
Nella console Google Cloud , vai alla pagina Gestione > Ambienti.
- Seleziona dall'elenco degli ambienti disponibili il nome dell'ambiente che vuoi modificare.
- Fai clic sulla scheda Mappe chiave-valore nella pagina Dettagli ambiente.
La pagina Mappe chiave-valore mostra un elenco delle mappe chiave-valore esistenti.
- Individua la riga del KVM che vuoi eliminare.
- Fai clic su delete nella colonna Azioni.
- Fai clic su Elimina mappa chiave-valore nella finestra di dialogo per confermare l'operazione.
Il KVM viene eliminato e rimosso dall'elenco.
UI Apigee classica
Per eliminare un KVM:
- Accedi alla UI Apigee.
- Seleziona Amministrazione > Ambienti > Mappe chiave-valore.
- Dall'elenco a discesa dell'ambiente, seleziona l'ambiente per cui vuoi eliminare un KVM.
La pagina Mappe chiave-valore mostra un elenco delle mappe chiave-valore esistenti.
- Posiziona il cursore sul KVM che vuoi eliminare.
- Fai clic su delete Elimina.
- Fai clic su Elimina per confermare l'operazione.
Il KVM viene eliminato e rimosso dall'elenco.
API Apigee
Utilizza una delle seguenti API Apigee per eliminare un KVM in base al suo ambito: