From 917f53dc1fc70359f93d0294edb7ff9b7f1c7d7e Mon Sep 17 00:00:00 2001 From: "grafana-delivery-bot[bot]" <132647405+grafana-delivery-bot[bot]@users.noreply.github.com> Date: Mon, 29 Apr 2024 13:28:52 -0400 Subject: [PATCH] [v11.0.x] Auth: Sign sigV4 request after adding headers (#87072) Auth: Sign sigV4 request after adding headers (#87063) (cherry picked from commit 7b392d40a019bfbc51d63431ca3e748ad7e4c43e) Co-authored-by: Isabella Siu --- .../httpclientprovider/http_client_provider.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkg/infra/httpclient/httpclientprovider/http_client_provider.go b/pkg/infra/httpclient/httpclientprovider/http_client_provider.go index 5447999a1fd..13ef9674c1c 100644 --- a/pkg/infra/httpclient/httpclientprovider/http_client_provider.go +++ b/pkg/infra/httpclient/httpclientprovider/http_client_provider.go @@ -32,10 +32,6 @@ func New(cfg *setting.Cfg, validator validations.PluginRequestValidator, tracer RedirectLimitMiddleware(validator), } - if cfg.SigV4AuthEnabled { - middlewares = append(middlewares, awssdk.SigV4Middleware(cfg.SigV4VerboseLogging)) - } - if httpLoggingEnabled(cfg.PluginSettings) { middlewares = append(middlewares, HTTPLoggerMiddleware(cfg.PluginSettings)) } @@ -44,6 +40,11 @@ func New(cfg *setting.Cfg, validator validations.PluginRequestValidator, tracer middlewares = append(middlewares, GrafanaRequestIDHeaderMiddleware(cfg, logger)) } + // SigV4 signing should be performed after all headers are added + if cfg.SigV4AuthEnabled { + middlewares = append(middlewares, awssdk.SigV4Middleware(cfg.SigV4VerboseLogging)) + } + setDefaultTimeoutOptions(cfg) return newProviderFunc(sdkhttpclient.ProviderOptions{