After introducing https://github.com/elastic/elasticsearch/pull/86135 the underlying Azure SDK sanitizes incorrectly certain SAS tokens, preventing the correct authentication against the Azure storage service.
modules/repository-azure/src/main/java/org/elasticsearch/repositories/azure/AzureClientProvider.java
private final BiConsumer<String, URL> onSuccessfulRequest;
        private final Logger logger = LogManager.getLogger(SuccessfulRequestTracker.class);
        private SuccessfulRequestTracker(BiConsumer<String, URL> onSuccessfulRequest) {
            this.onSuccessfulRequest = onSuccessfulRequest;
        }
        @Override
        public Mono<HttpResponse> process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) {
            return next.process().doOnSuccess(httpResponse -> trackSuccessfulRequest(context.getHttpRequest(), httpResponse));
        }
        private void trackSuccessfulRequest(HttpRequest httpRequest, HttpResponse httpResponse) {
            HttpMethod method = httpRequest.getHttpMethod();
            if (httpResponse != null && method != null && httpResponse.getStatusCode() > 199 && httpResponse.getStatusCode() <= 299) {
                try {
                    onSuccessfulRequest.accept(method.name(), httpRequest.getUrl());
                } catch (Exception e) {
                    logger.warn("Unable to notify a successful request", e);
                }
            }
        }
    }
}