microsoft / AzureStorageExplorer

Easily manage the contents of your storage account with Azure Storage Explorer. Upload, download, and manage blobs, files, queues, tables, and Cosmos DB entities. Gain easy access to manage your virtual machine disks. Work with either Azure Resource Manager or classic storage accounts, plus manage and configure cross-origin resource sharing (CORS) rules.
Creative Commons Attribution 4.0 International
370 stars 84 forks source link

Unable to enumerate tables after connecting using SAS (jit access) #8084

Open johnemmanuelm opened 1 month ago

johnemmanuelm commented 1 month ago

Preflight Checklist

Storage Explorer Version

1.34.0

Regression From

No response

Architecture

x64

Storage Explorer Build Number

No response

Platform

Windows

OS Version

No response

Bug Description

Connected to Table endpoint. Clicking on Tables to expand all tables in Azurite it throws error

Steps to Reproduce

  1. Launch storage explorer
  2. Connect to storage account using a list+read permissions
  3. Expand Tables.

Actual Experience

Get jit access to list and read for table service.

Expected Experience

No response

Additional Context

Unable to retrieve child resources

ProducerError:{ "name": "RestError", "message": "{\"odata.error\":{\"code\":\"AuthorizationResourceTypeMismatch\",\"message\":{\"lang\":\"en-US\",\"value\":\"This request is not authorized to perform this operation using this resource type.\nRequestId:fc2bbedf-2002-0046-7018-df1a7c000000\nTime:2024-07-26T04:55:41.8609533Z\"}}}", "stack": "RestError: {\"odata.error\":{\"code\":\"AuthorizationResourceTypeMismatch\",\"message\":{\"lang\":\"en-US\",\"value\":\"This request is not authorized to perform this operation using this resource type.\nRequestId:fc2bbedf-2002-0046-7018-df1a7c000000\nTime:2024-07-26T04:55:41.8609533Z\"}}}\n at handleErrorResponse (C:\Program Files\Microsoft Azure Storage Explorer\resources\app\node_modules\@storage-explorer\table-extension\dist\src\index.js:33:21833)\n at deserializeResponseBody (C:\Program Files\Microsoft Azure Storage Explorer\resources\app\node_modules\@storage-explorer\table-extension\dist\src\index.js:33:20653)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)", "statusCode": 403, "request": { "url": "https://rehydratearcch01p.table.core.windows.net/Tables?sv=2015-04-05&ss=qt&srt=s&sp=lr&st=2024-07-26T04%3A18%3A05Z&se=2024-07-26T12%3A33%3A04Z&spr=https&sig=AzureSAS Token Redacted", "headers": { "accept": "application/json;odata=minimalmetadata", "x-ms-version": "2019-02-02", "dataserviceversion": "3.0", "accept-encoding": "gzip,deflate", "user-agent": "Microsoft Azure Storage Explorer/1.34.0 (win32) azsdk-js-data-tables/13.1.2 core-rest-pipeline/1.11.0 Node/v20.9.0 OS/(x64-Windows_NT-10.0.22621)", "x-ms-client-request-id": "23232e76-3fa6-4dc8-8fde-6f43486783fa" }, "method": "GET", "timeout": 0, "disableKeepAlive": false, "streamResponseStatusCodes": {}, "withCredentials": false, "tracingOptions": { "tracingContext": { "_contextMap": {} } }, "requestId": "23232e76-3fa6-4dc8-8fde-6f43486783fa", "allowInsecureConnection": true, "enableBrowserStreams": false }, "response": { "request": { "url": "https://rehydratearcch01p.table.core.windows.net/Tables?sv=2015-04-05&ss=qt&srt=s&sp=lr&st=2024-07-26T04%3A18%3A05Z&se=2024-07-26T12%3A33%3A04Z&spr=https&sig=AzureSAS Token Redacted", "headers": { "accept": "application/json;odata=minimalmetadata", "x-ms-version": "2019-02-02", "dataserviceversion": "3.0", "accept-encoding": "gzip,deflate", "user-agent": "Microsoft Azure Storage Explorer/1.34.0 (win32) azsdk-js-data-tables/13.1.2 core-rest-pipeline/1.11.0 Node/v20.9.0 OS/(x64-Windows_NT-10.0.22621)", "x-ms-client-request-id": "23232e76-3fa6-4dc8-8fde-6f43486783fa" }, "method": "GET", "timeout": 0, "disableKeepAlive": false, "streamResponseStatusCodes": {}, "withCredentials": false, "tracingOptions": { "tracingContext": { "_contextMap": {} } }, "requestId": "23232e76-3fa6-4dc8-8fde-6f43486783fa", "allowInsecureConnection": true, "enableBrowserStreams": false }, "status": 403, "headers": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", "date": "Fri, 26 Jul 2024 04:55:41 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", "x-ms-client-request-id": "23232e76-3fa6-4dc8-8fde-6f43486783fa", "x-ms-request-id": "fc2bbedf-2002-0046-7018-df1a7c000000", "x-ms-version": "2019-02-02" }, "bodyAsText": "{\"odata.error\":{\"code\":\"AuthorizationResourceTypeMismatch\",\"message\":{\"lang\":\"en-US\",\"value\":\"This request is not authorized to perform this operation using this resource type.\nRequestId:fc2bbedf-2002-0046-7018-df1a7c000000\nTime:2024-07-26T04:55:41.8609533Z\"}}}", "parsedBody": { "odataError": { "code": "AuthorizationResourceTypeMismatch", "message": { "lang": "en-US", "value": "This request is not authorized to perform this operation using this resource type.\nRequestId:fc2bbedf-2002-0046-7018-df1a7c000000\nTime:2024-07-26T04:55:41.8609533Z" } } }, "parsedHeaders": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", "date": "Fri, 26 Jul 2024 04:55:41 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", "x-ms-client-request-id": "23232e76-3fa6-4dc8-8fde-6f43486783fa", "x-ms-request-id": "fc2bbedf-2002-0046-7018-df1a7c000000", "x-ms-version": "2019-02-02" } }, "details": { "cache-control": "no-cache", "content-type": "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", "date": "Fri, 26 Jul 2024 04:55:41 GMT", "server": "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", "x-ms-client-request-id": "23232e76-3fa6-4dc8-8fde-6f43486783fa", "x-ms-request-id": "fc2bbedf-2002-0046-7018-df1a7c000000", "x-ms-version": "2019-02-02", "odataError": { "code": "AuthorizationResourceTypeMismatch", "message": { "lang": "en-US", "value": "This request is not authorized to perform this operation using this resource type.\nRequestId:fc2bbedf-2002-0046-7018-df1a7c000000\nTime:2024-07-26T04:55:41.8609533Z" } } } }

craxal commented 1 month ago

@johnemmanuelm You mentioned both Azurite and JIT access. Can you elaborate, please, about your infrastructure/setup and on your repro steps? Specifically: