diff --git a/internal/proxy/proxy.go b/internal/proxy/proxy.go index a28759553..73456b67c 100644 --- a/internal/proxy/proxy.go +++ b/internal/proxy/proxy.go @@ -363,7 +363,20 @@ func credentialsOpt(c Config, l cloudsql.Logger) (cloudsqlconn.Option, error) { if err != nil { return nil, err } + + var iamAuthNEnabled bool if c.IAMAuthN { + iamAuthNEnabled = true + } else { + for _, ic := range c.Instances { + if ic.IAMAuthN != nil && *ic.IAMAuthN { + iamAuthNEnabled = true + break + } + } + } + + if iamAuthNEnabled { iamLoginTS, err := impersonate.CredentialsTokenSource( context.Background(), impersonate.CredentialsConfig{