For at få adgang til legitimationsoplysningerne fra dit projekt i Node.js, når du arbejder med Google Cloud Platform (GCP), kan du bruge Google Application Default Credentials (ADC)-tilgangen. Denne metode giver dig mulighed for at godkende din applikation og få adgang til GCP-tjenester programmatisk.
Til at begynde med skal du sikre dig, at du har de nødvendige afhængigheder installeret. Du skal kræve `google-auth-library` npm-pakken, som giver værktøjerne til godkendelse med GCP-tjenester. Du kan installere det ved at bruge følgende kommando:
npm install google-auth-library
Når pakken er installeret, kan du fortsætte med at få adgang til legitimationsoplysningerne. ADC-tilgangen giver dig mulighed for automatisk at hente legitimationsoplysningerne fra miljøet uden at skulle udtrykke dem i din kode. Dette er især nyttigt, når du kører din kode i GCP-miljøer som Compute Engine, App Engine eller Cloud Functions.
For at få adgang til legitimationsoplysningerne kan du bruge pakken `google-auth-library` til at oprette en forekomst af klassen `GoogleAuth`. Denne klasse giver metoder til at hente legitimationsoplysningerne. Her er et eksempel på, hvordan du kan opnå dette:
javascript const { GoogleAuth } = require('google-auth-library'); async function main() { const auth = new GoogleAuth(); const credentials = await auth.getApplicationDefault(); // Access the credentials const { client_email, private_key } = credentials.credential; // Use the credentials to authenticate and access GCP services // ... } main().catch(console.error);
I ovenstående kode importeres `GoogleAuth`-klassen fra `google-auth-library`-pakken. En forekomst af denne klasse oprettes ved hjælp af `new GoogleAuth()`. Derefter kaldes `getApplicationDefault()`-metoden asynkront for at hente legitimationsoplysningerne. De opnåede legitimationsoplysninger gemmes i variablen "legitimationsoplysninger".
For at få adgang til de individuelle legitimationsoplysninger kan du destrukturere egenskaben `credential` for objektet `credentials`. I eksemplet ovenfor er egenskaberne `client_email` og `private_key` udtrukket fra legitimationsoplysningerne.
Når du har legitimationsoplysningerne, kan du bruge dem til at godkende og få adgang til GCP-tjenester. Afhængigt af den specifikke tjeneste, du bruger, skal du muligvis angive legitimationsoplysningerne på forskellige måder. Når du f.eks. bruger Google Cloud Storage Node.js-klientbiblioteket, kan du videregive legitimationsoplysningerne som en parameter, når du opretter en ny klientinstans:
javascript const { Storage } = require('@google-cloud/storage'); async function main() { const auth = new GoogleAuth(); const credentials = await auth.getApplicationDefault(); const storage = new Storage({ credentials: credentials.credential }); // Use the storage client to interact with Google Cloud Storage // ... } main().catch(console.error);
I kodestykket ovenfor importeres `Storage`-klassen fra `@google-cloud/storage`-pakken. De legitimationsoplysninger, der blev hentet tidligere, videregives som "legitimations"-parameteren, når der oprettes en ny "Storage"-instans.
Ved at bruge Google Application Default Credentials-tilgangen kan du problemfrit få adgang til legitimationsoplysningerne fra dit projekt i Node.js, når du arbejder med Google Cloud Platform. Dette giver dig mulighed for at godkende og interagere med GCP-tjenester programmæssigt, uden at du behøver udtrykkeligt at angive legitimationsoplysningerne i din kode.
Andre seneste spørgsmål og svar vedr EITC/CL/GCP Google Cloud Platform:
- I hvor høj grad er GCP'en nyttig til udvikling, implementering og hosting af websider eller applikationer?
- Hvordan beregner man IP-adresseområdet for et undernet?
- Hvad er forskellen mellem Cloud AutoML og Cloud AI Platform?
- Hvad er forskellen mellem Big Table og BigQuery?
- Hvordan konfigurerer man belastningsbalanceringen i GCP til brug af flere backend-webservere med WordPress, hvilket sikrer, at databasen er konsistent på tværs af de mange back-ends (webservere) WordPress-forekomster?
- Giver det mening at implementere belastningsbalancering, når du kun bruger en enkelt backend-webserver?
- Hvis Cloud Shell leverer en forudkonfigureret shell med Cloud SDK, og den ikke har brug for lokale ressourcer, hvad er fordelen ved at bruge en lokal installation af Cloud SDK i stedet for at bruge Cloud Shell ved hjælp af Cloud Console?
- Er der en Android-mobilapplikation, der kan bruges til administration af Google Cloud Platform?
- Hvad er måderne at administrere Google Cloud Platform på?
- Hvad er cloud computing?
Se flere spørgsmål og svar i EITC/CL/GCP Google Cloud Platform