November Happy Hour will be moved to Thursday December 5th.

EPiServer.Amazon: S3 provider: 403 forbidden/access denied (CMS 7-8)

Found in

EPiServer.CMS.UI 9.3.6

Fixed in

EPiServer.Amazon 8.1.1.1

(Or a related package)

Created

Feb 17, 2017

Updated

Feb 17, 2017

Area

CMS Core

State

Closed, Fixed and tested


Description

Steps to reproduce:

  1. Set up the CMS sample Alloy site (MVC or Webforms) and install the latest CMS and CMS.UI packages.
  2. Configure blob storage to point to an existing bucket (or a bucket that was created without a specified region).
  3. Open the site.
  4. Get error.

Expected result:
Site opens as expected. Users can read/access existing bucket.

Actual result:

Amazon.S3.AmazonS3Exception was unhandled by user code
HResult=[Removed]
Message=Access Denied
Source=AWSSDK
ErrorCode=AccessDenied
RequestId=[Removed]
AmazonId2=[Removed]
StackTrace:
at Amazon.Runtime.Internal.HttpErrorResponseExceptionHandler.HandleException(IExecutionContext executionContext, HttpErrorResponseException exception) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\ErrorHandler\HttpErrorResponseExceptionHandler.cs:line 100
at Amazon.Runtime.Internal.ExceptionHandler`1.Handle(IExecutionContext executionContext, Exception exception) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\ErrorHandler\ExceptionHandler.cs:line 38
at Amazon.Runtime.Internal.ErrorHandler.ProcessException(IExecutionContext executionContext, Exception exception) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\ErrorHandler\ErrorHandler.cs:line 202
at Amazon.Runtime.Internal.ErrorHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\ErrorHandler\ErrorHandler.cs:line 76
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.RetryHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\RetryHandler\RetryHandler.cs:line 69
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericExceptionHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericExceptionHandler.cs:line 31
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericExceptionHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericExceptionHandler.cs:line 31
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.MetricsHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\MetricsHandler.cs:line 40
at Amazon.Runtime.Internal.RuntimePipeline.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\RuntimePipeline.cs:line 118
at Amazon.Runtime.AmazonServiceClient.Invoke[TRequest,TResponse](TRequest request, IMarshaller`2 marshaller, ResponseUnmarshaller unmarshaller) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\AmazonServiceClient.cs:line 128
at Amazon.S3.AmazonS3Client.PutBucket(PutBucketRequest request) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet45\Amazon.S3\AmazonS3Client.cs:line 2109
at Amazon.S3.AmazonS3Client.PutBucket(String bucketName) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet45\Amazon.S3\AmazonS3Client.cs:line 2095
at EPiServer.Amazon.Blobs.AmazonBlobProvider.EnsureBucketExists()
InnerException: Amazon.Runtime.Internal.HttpErrorResponseException
HResult=[Removed]
Message=The remote server returned an error: (403) Forbidden.
Source=AWSSDK
StackTrace:
at Amazon.Runtime.Internal.HttpRequest.GetResponse() in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\HttpHandler\HttpWebRequestFactory.cs:line 113
at Amazon.Runtime.Internal.HttpHandler`1.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\HttpHandler\HttpHandler.cs:line 84
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.Unmarshaller.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\Unmarshaller.cs:line 47
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.GenericHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\GenericHandler.cs:line 35
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.RedirectHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\Handlers\RedirectHandler.cs:line 58
at Amazon.Runtime.Internal.PipelineHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\PipelineHandler.cs:line 56
at Amazon.Runtime.Internal.ErrorHandler.InvokeSync(IExecutionContext executionContext) in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\ErrorHandler\ErrorHandler.cs:line 70
InnerException: System.Net.WebException
HResult=[Removed]
Message=The remote server returned an error: (403) Forbidden.
Source=System
StackTrace:
at System.Net.HttpWebRequest.GetResponse()
at Amazon.Runtime.Internal.HttpRequest.GetResponse() in d:\Jenkins\workspace\build-sdkandtools\sdk\src\AWSSDK_DotNet35\Amazon.Runtime\Pipeline\HttpHandler\HttpWebRequestFactory.cs:line 105
InnerException: