### Description

Allow authenticating to Redshift Cluster in `airflow.providers.amazon.aws.hooks.redshift_sql.RedshiftSQLHook` with temporary IAM Credentials.

This might be implemented by the same way as it already implemented into PostgreSQL Hook - manual obtain credentials by call [GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/APIReference/API_GetClusterCredentials.html) thought Redshift API.

https://github.com/apache/airflow/blob/56b5f3f4eed6a48180e9d15ba9bb9664656077b1/airflow/providers/postgres/hooks/postgres.py#L221-L235

Or by passing obtained temporary credentials into [redshift-connector](https://github.com/aws/amazon-redshift-python-driver#example-using-iam-credentials)


### Use case/motivation

This allows users connect to Redshift Cluster by re-use already existed [Amazon Web Services Connection](https://airflow.apache.org/docs/apache-airflow-providers-amazon/stable/connections/aws.html) 

### Related issues

_No response_

### Are you willing to submit a 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)

self.connection.extra = json.dumps(
            {
                "iam": True,
                "cluster_identifier": "my-test-cluster",
                "profile": "default",
            }
        )
        self.db_hook.get_conn()
        mock_connect.assert_called_once_with(
            user="login",
            password="password",
            host="host",
            port=5439,
            cluster_identifier="my-test-cluster",
            profile="default",
            database="dev",
            iam=True,
        )
    @pytest.mark.parametrize(
        "conn_params, conn_extra, expected_call_args",
        [
            ({}, {}, {}),
            ({"login": "test"}, {}, {"user": "test"}),
            ({}, {"user": "test"}, {"user": "test"}),
            ({"login": "original"}, {"user": "overridden"}, {"user": "overridden"}),
            ({"login": "test1"}, {"password": "test2"}, {"user": "test1", "password": "test2"}),
        ],
    )
    @mock.patch("airflow.providers.amazon.aws.hooks.redshift_sql.redshift_connector.connect")
    def test_get_conn_overrides_correctly(self, mock_connect, conn_params, conn_extra, expected_call_args):