### Apache Airflow Provider(s)

google

### Versions of Apache Airflow Providers

apache-airflow-providers-google~=5.0

### Apache Airflow version

2.1.3 (latest released)

### Operating System

MacOS Big Sur

### Deployment

Astronomer

### Deployment details

_No response_

### What happened

The CloudSqlProxyRunner queries the Airflow DB directly to retrieve the GCP connection.

https://github.com/apache/airflow/blob/7b3a5f95cd19667a683e92e311f6c29d6a9a6a0b/airflow/providers/google/cloud/hooks/cloud_sql.py#L521

### What you expected to happen

In order to not break when using connections stored in external secrets backends, it should use standardized methods to retrieve connections and not query the Airflow DB directly.

### How to reproduce

Use a CloudSQLDatabaseHook with `use_proxy=True` while using an external secrets backend.

### Anything else

Every time

### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

airflow/providers/google/cloud/hooks/cloud_sql.py
json.dump(credential_file_content, file)
            credential_params = ['-credential_file', self.credentials_path]
        else:
            self.log.info(
                "The credentials are not supplied by neither key_path nor "
                "keyfile_dict of the gcp connection %s. Falling back to "
                "default activated account",
                self.gcp_conn_id,
            )
            credential_params = []
        if not self.instance_specification:
            project_id = connection.extra_dejson.get('extra__google_cloud_platform__project')
            if self.project_id:
                project_id = self.project_id
            if not project_id:
                raise AirflowException(
                    "For forwarding all instances, the project id "
                    "for Google Cloud should be provided either "
                    "by project_id extra in the Google Cloud connection or by "
                    "project_id provided in the operator."
                )
            credential_params.extend(['-projects', project_id])
        return credential_params
    def start_proxy(self) -> None:
        """
        Starts Cloud SQL Proxy.
        You have to remember to stop the proxy if you started it!
        """
        self._download_sql_proxy_if_needed()
        if self.sql_proxy_process: