### Apache Airflow Provider(s)

google

### Versions of Apache Airflow Providers

[apache-airflow-providers-google 8.6.0](https://airflow.apache.org/docs/apache-airflow-providers-google/8.6.0/)



### Apache Airflow version

2.5.0

### Operating System

Debian GNU/Linux 11 (bullseye)

### Deployment

Official Apache Airflow Helm Chart

### Deployment details

_No response_

### What happened

When creating a transfer config that will move data from AWS S3, an access_key_id and secret_access_key are provided (see: https://cloud.google.com/bigquery/docs/s3-transfer).

These parameters are logged and exposed as XCom return_value.

### What you think should happen instead

At least the secret_access_key should be hidden or removed from the XCom return value

### How to reproduce

```
PROJECT_ID=123
TRANSFER_CONFIG={
                "destination_dataset_id": destination_dataset,
                "display_name": display_name,
                "data_source_id": "amazon_s3",
                "schedule_options": {"disable_auto_scheduling": True},
                "params": {
                    "destination_table_name_template": destination_table,
                    "file_format": "PARQUET",
                    "data_path": data_path,
                    "access_key_id": access_key_id,
                    "secret_access_key": secret_access_key
                }
            },

gcp_bigquery_create_transfer = BigQueryCreateDataTransferOperator(
    transfer_config=TRANSFER_CONFIG,
    project_id=PROJECT_ID,
    task_id="gcp_bigquery_create_transfer",
)
```

### Anything else

_No response_

### Are you willing to submit PR?

- [ ] 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)

@mock.patch("airflow.providers.google.cloud.operators.bigquery_dts.BiqQueryDataTransferServiceHook")
    def test_execute(self, mock_hook):
        op = BigQueryDeleteDataTransferConfigOperator(
            transfer_config_id=TRANSFER_CONFIG_ID, task_id="id", project_id=PROJECT_ID
        )
        op.execute(None)
        mock_hook.return_value.delete_transfer_config.assert_called_once_with(
            metadata=(),
            transfer_config_id=TRANSFER_CONFIG_ID,
            project_id=PROJECT_ID,
            retry=DEFAULT,
            timeout=None,
        )
class BigQueryDataTransferServiceStartTransferRunsOperatorTestCase(unittest.TestCase):
    OPERATOR_MODULE_PATH = "airflow.providers.google.cloud.operators.bigquery_dts"
    @mock.patch(
        f"{OPERATOR_MODULE_PATH}.BigQueryDataTransferServiceStartTransferRunsOperator"
        f"._wait_for_transfer_to_be_done",
        mock.MagicMock(),
    )
    @mock.patch(
        f"{OPERATOR_MODULE_PATH}.BiqQueryDataTransferServiceHook",
        **{
            "return_value.start_manual_transfer_runs.return_value": StartManualTransferRunsResponse(
                runs=[TransferRun(name=RUN_NAME)]
            ),
        },
    )
    def test_execute(self, mock_hook):