GoogleCloudPlatform / cloudscoudplatform

 CI  go-Reference

Cloud Auth-fuldmægtig er en binær, der giver IAM-Basedautorisation og kryptering, når du opretter forbindelse til en Cloud-instans.

se siden Forbindelsesoversigt for at få flere oplysninger om forbindelse til en cloud-INSTANSELLER siden om fuldmægtigfor detaljer om, hvordan cloud-fuldmægtigen fungerer.

Bemærk: Fuldmægtigen kan ikke angive en netværkssti til en Cloud-instans, hvis en ikke allerede er til stede (f.eks. kan fuldmægtigen ikke få adgang til en VPC, hvis den ikke allerede har adgang til den).

Installation

til 64-bit Linuk, Kør:

wget https://storage.googleapis.com/cloudsql-proxy/v1.19.2/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxychmod +x cloud_sql_proxy

udgivelser til yderligere operativsystemer og arkitekturer og findes på udgivelsessiden.

for alternative distributioner, se nedenfor under tredjepart.

Containerbilleder

der er containeriserede versioner af fuldmagten tilgængelig fra følgendegoogle Cloud Container Registry repositories:

  • gcr.io/cloudsql-docker/gce-proxy
  • us.gcr.io/cloudsql-docker/gce-proxy
  • eu.gcr.io/cloudsql-docker/gce-proxy
  • asia.gcr.io/cloudsql-docker/gce-proxy

hvert billede er mærket med den tilhørende fuldmagtsversion. Følgende tags understøttes aktuelt:

  • $VERSION – standardbillede (anbefales)
  • $VERSION-alpine – bruger alpine:3 som et basisbillede (understøttes kun fra v1.17 op)
  • $VERSION-buster – bruger debian:buster som et basisbillede (understøttes kun fra v1.17 op)

vi anbefaler at bruge den nyeste version af fuldmagten og opdatere versionenregelmæssigt. Vi anbefaler dog også at fastgøre til et bestemt tag og undgå detseneste tag. Bemærk: den taggede version er kun den for fuldmagten. Ændringer i baseimages kan bryde specifikke opsætninger, selv på ikke-større versionsforøgelser. Som sådan er det en bedste praksis at teste ændringer før implementering og bruge automatiseredrollbacks til at vende potentielle fejl tilbage.

Installer fra kilde

for at installere fra kilde skal du sikre dig, at du har den nyeste version af Goinstalled.

derefter skal du blot køre:

go get github.com/GoogleCloudPlatform/cloudsql-proxy/cmd/cloud_sql_proxy

cloud_sql_proxy placeres i $GOPATH/bin efter go get er afsluttet.

brug

alle følgende påkaldelser antager gyldige legitimationsoplysninger er til stede imiljø. De følgende eksempler henviser alle til en INSTANCE_CONNECTION_NAME, som har formen: myproject:myregion:myinstance. For at findeINSTANCE_CONNECTION_NAME skal du køre gcloud sql instances describe <INSTANCE_NAME> hvor INSTANCE_NAME er navnet på databaseforekomsten.

TCP socket eksempel

# Starts the proxy listening on 127.0.0.1:5432cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:5432
# Starts the proxy listening on on port 5432 on *all* interfacescloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:0.0.0.0:5432

eksempel på stikdåse

# The proxy will mount a Unix domain socket at /cloudsql/<INSTANCE_CONNECTION_NAME># Note: The directory specified by `-dir` must exist.cloud_sql_proxy -dir=/cloudsql -instances=<INSTANCE_CONNECTION_NAME>

privat IP eksempel

cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:5432 -ip_address_types=PRIVATE

for at oprette forbindelse ved hjælp af privat IP skal du have adgang via yourproject ‘ s VPC. For flere detaljer, se Private IP-krav.

legitimationsoplysninger

cloud-fuldmagten bruger en Cloud iam-konto til at godkende forbindelser mod acloud-instansen. Fuldmagten kilder legitimationsoplysningerne for disse konti ifølgende rækkefølge:

  1. -credential_file flag
  2. flag-token flag
  3. servicekontonøglen på stien gemt i miljøvariablen GOOGLE_APPLICATION_CREDENTIALS.
  4. GCloud brugeroplysninger (sæt fra gcloud auth login)
  5. programmets standardoplysninger

Bemærk: enhver konto, der opretter forbindelse til en Cloud-database, har brug for en affølgende iam-roller:

  • Cloud-klient (foretrukket)
  • Cloud-editor
  • Cloud-Administrator

eller man kan manuelt tildele følgende iam-tilladelser:

  • cloudsql.instances.connect
  • cloudsql.instances.get

se roller og tilladelser i Cloud for detaljer.

når fuldmagten godkendes under Compute Engine VM ‘ s standardservicekonto, skal VM mindst have sqlservice.admin API-omfanget (dvs.”https://www.googleapis.com/auth/sqlservice.admin”), og det tilhørende projekt skal have Admin API aktiveret. Standardtjenestekontoen skal også havei det mindste forfatter-eller redaktørrettigheder til projekter af target-instanser.

CLI-flag

Cloud Auth-fuldmagten tager et par argumenter for at konfigurere, hvilke forekomster der skal forbindes til og forbindelsesadfærd. For en komplet liste over flag,der understøttes af fuldmagten, skal du bruge cloud_sql_proxy -help.

autentificering flag

-credential_file

angiver stien til en JSON service-kontonøgle fuldmagterne til at godkende eller godkende forbindelser.

-token

når den er indstillet, bruger fuldmagten dette Bærertoken til godkendelse.

-enable_iam_login

gør det muligt for fuldmægtig at bruge cloud iam database authentication. Dette vil medføre, at fuldmægtigen bruger iam-kontooplysninger til databasebrugergodkendelse. Detaljer, Se oversigt over cloud iam database authentication

Forbindelsesflag

-instances="project1:region:instance1,project3:region:instance1"

en kommasepareret liste over forekomster, der skal åbnes inde i -dir. Understøtter også at eksponere en TCP-port og omdøbe standard-Domænesoklerne; se eksemplernedenfor. Samme liste kan leveres via INSTANCES miljøvariabel, i tilfældenår begge leveres – fuldmægtig bruger kommandolinjeflag.

eksempel

brug af TCP-stik:

./cloud_sql_proxy -instances=my-project:us-central1:sql-inst=tcp:3306 &mysql -u root -h 127.0.0.1

brug af stikdåser:

./cloud_sql_proxy -dir=/cloudsql -instances=my-project:us-central1:sql-inst &mysql -u root -S /cloudsql/my-project:us-central1:sql-inst

for at angive et brugerdefineret navn på en stikkontakt:

./cloud_sql_proxy -dir=/cloudsql \ -instances=my-project:us-central1:sql-inst=unix:custom_socket_name &mysql -u root -S /cloudsql/custom_socket_name

for at angive en brugerdefineret placering for en stikdåse (tilsidesættes -dir):

./cloud_sql_proxy -dir=/cloudsql \ -instances=my-project:us-central1:sql-inst=unix:/my/custom/sql-socket &mysql -u root -S /my/custom/sql-socket

-fuse

kræver adgang til /dev/fuse samt fusermount binær. Et valgfrit-fuse_tmp – flag kan angive, hvor midlertidige filer skal placeres. Direktoratet angivet af -dir er monteret.

eksempel

brug af -fuse , du behøver ikke at angive instansnavne på forhånd:

./cloud_sql_proxy -dir=/cloudsql -fuse &mysql -u root -S /cloudsql/my-project:us-central1:sql-inst

-instances_metadata=metadata_key

kan kun bruges på GCE. Den givne GCE metadata nøgle vil blive pollet for en liste over forekomster, der skal åbnes i -dir. Metadatatasten er relativfra computeMetadata/v1/. Formatet for værdien er det samme som flaget’ instances’. En hængende-poll strategi bruges, hvilket betyder, at ændringer til themetadata værdi vil blive afspejlet i -dir selv mens fuldmagten kører.Når en forekomst fjernes fra listen, vil den tilsvarende stikkontakt værefjernet fra -dir også (medmindre det også var angivet i -instances), menalle eksisterende forbindelser til denne forekomst vil ikke blive opsagt.

eksempel

./cloud_sql_proxy -dir=/cloudsql \ -instances_metadata instance/attributes/<custom-metadata-key> &mysql -u root -S /cloudsql/my-project:us-central1:sql-inst

Bemærk: -instances og -instances_metadata kan bruges på samme tid, mener ikke kompatible med -fuse flag.

-max_connections

hvis det er angivet, er det maksimale antal forbindelser, der skal etableres, før de nægter nyeforbindelser. Standard 0 (ingen grænse).

yderligere flag

-ip_address_types=PUBLIC,PRIVATE

en kommasepareret liste over foretrukne IP-typer til forbindelse til en forekomst. For eksempel vil Indstilling af dette til privat tvinge fuldmægtigen til at oprette forbindelse til instancesved hjælp af en instans tilhørende private IP. Standard til PUBLIC,PRIVATE

-term_timeout=30s

hvor længe skal man vente på, at forbindelserne lukkes, før fuldmagten lukkes.Som standard 0.

-skip_failed_instance_config

Indstilling af dette flag forhindrer fuldmagten i at afslutte, hvis der opstår fejl under konfigurationen af forekomsten. Bemærk, at dette betyder, at nogle tilfælde muligvis ikke kan konfigureres korrekt, mens andre muligvis fungerer, hvis fuldmagten genstarter.

-log_debug_stdout=true

dette er at logge ikke-fejl output til standard ud i stedet for standard fejl. For eksempel, hvis du ikke vil have forbindelsesrelaterede meddelelser til at logge som fejl, skal du indstille dette flag til sand. Som standard falsk.

-structured_logs

skriver alle logning output som JSON med følgende taster: niveau, ts, caller,msg. For eksempel ser startmeddelelsen ud:

{"level":"info","ts":1616014011.8132386,"caller":"cloud_sql_proxy/cloud_sql_proxy.go:510","msg":"Usinggcloud's active project: "}

kører som en Kubernetes sidevogn

se eksemplet her samt tilslutning fra GoogleKubernetes Motor.

referencedokumentation

  • Cloud KVB
  • Cloud KVB Auth fuldmagt dokumentation
  • Cloud KVB Auth fuldmagt Hurtigstart
  • Cloud KVB kode prøver
  • Cloud KVB Auth fuldmagt pakke dokumentation

Bidrag

bidrag er velkomne. Se venligst det bidragende dokument for detaljer.

bemærk, at dette projekt frigives med en Bidragyderkode på Conduct.By deltagelse i dette projekt accepterer du at overholde dets vilkår. Se contributor Code of Conduct for mere information.

tredjepart

advarsel: disse distributioner understøttes ikke officielt af Google.

hjemmebryggeri

der er Hjemmebryggeformel til Cloud Auth fuldmagt her.

Kubernetes Cluster Service using Helm

Følg disse instruktioner.

dette diagram opretter en udrulning og en tjeneste, men vi anbefaler, at du installerer udrulningen som en sidevognscontainer i dine bælg.

. Net fuldmægtig indpakning (Nuget-pakke)

installer via Nuget, følg disseinstruktioner.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.