I tried for 2,5 hours, but I can't get rclone to work with Azure Container storage.
When using the web UI, I can see that rclone is able to read the container name "test" without me ever specifying it. So, that's good. It works partially. But trying to load anything else seems to fail, see logs:
AuthorizationPermissionMismatch: This request is not authorized to perform this operation using this permission.
I tried a lot from this documentation Microsoft Azure Blob Storage, but the result stays the same. I can't actually do anything in the container. I tried once with a SAS-URL and once with a key for the storage account. I'm not an Azure expert and overwhelmend with the documentation.
Run the command 'rclone version' and share the full output of the command.
rclone v1.69.0
os/version: arch 25.0.0 (64 bit)
os/kernel: 6.12.11-1-MANJARO (x86_64)
os/type: linux
os/arch: amd64
go/version: go1.23.4
go/linking: dynamic
go/tags: none
Which cloud storage system are you using? (eg Google Drive)
Microsoft Azure Blob Storage
Please run 'rclone config redacted' and share the full output. If you get command not found, please make sure to update rclone.
2025/02/28 10:29:08 NOTICE: Web GUI exists. Update skipped.
2025/02/28 10:29:08 NOTICE: Serving Web GUI
2025/02/28 10:29:08 NOTICE: Serving remote control on http://127.0.0.1:5572/
2025/02/28 10:31:05 ERROR : : error listing: GET https://backupexperimental.blob.core.windows.net/test
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationPermissionMismatch</Code><Message>This request is not authorized to perform this operation using this permission.
RequestId:bdcfea47-c01e-0070-1ac3-8991a9000000
Time:2025-02-28T09:31:05.0437045Z</Message></Error>
--------------------------------------------------------------------------------
2025/02/28 10:31:05 ERROR : rc: "operations/list": error: error in ListJSON: GET https://backupexperimental.blob.core.windows.net/test
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationPermissionMismatch</Code><Message>This request is not authorized to perform this operation using this permission.
RequestId:bdcfea47-c01e-0070-1ac3-8991a9000000
Time:2025-02-28T09:31:05.0437045Z</Message></Error>
--------------------------------------------------------------------------------
2025/02/28 10:34:54 ERROR : : error listing: GET https://backupexperimental.blob.core.windows.net/test
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationPermissionMismatch</Code><Message>This request is not authorized to perform this operation using this permission.
RequestId:4ea1e447-c01e-0094-1cc4-899f37000000
Time:2025-02-28T09:34:54.1390563Z</Message></Error>
--------------------------------------------------------------------------------
2025/02/28 10:34:54 ERROR : rc: "operations/list": error: error in ListJSON: GET https://backupexperimental.blob.core.windows.net/test
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationPermissionMismatch</Code><Message>This request is not authorized to perform this operation using this permission.
RequestId:4ea1e447-c01e-0094-1cc4-899f37000000
Time:2025-02-28T09:34:54.1390563Z</Message></Error>
I used this command, which worked and listed the file I put in the container:
az storage blob list --container-name test --account-name backupexperimental --sas-token "------" --output table
Name Blob Type Blob Tier Length Content Type Last Modified Snapshot
--------------- ----------- ----------- -------- ------------------------ ------------------------- ----------
zzzzzz.yyy.xxxx BlockBlob Hot 1008 application/octet-stream 2025-02-28T09:12:33+00:00
And those commands both fail with my configuration:
2025/02/28 14:27:52 ERROR : Mapsui.Eto.slnf: Failed to set modification time: PUT https://backupexperimental.blob.core.windows.net/test/Mapsui.Eto.slnf
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationPermissionMismatch</Code><Message>This request is not authorized to perform this operation using this permission.
RequestId:bb2f4ee8-f01e-0009-23e4-896d8d000000
Time:2025-02-28T13:27:52.3418907Z</Message></Error>
--------------------------------------------------------------------------------
2025/02/28 14:27:52 ERROR : Attempt 1/3 failed with 1 errors and: PUT https://backupexperimental.blob.core.windows.net/test/Mapsui.Eto.slnf
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationPermissionMismatch</Code><Message>This request is not authorized to perform this operation using this permission.
RequestId:bb2f4ee8-f01e-0009-23e4-896d8d000000
Time:2025-02-28T13:27:52.3418907Z</Message></Error>
--------------------------------------------------------------------------------
2025/02/28 14:27:52 ERROR : Mapsui.Eto.slnf: Failed to set modification time: PUT https://backupexperimental.blob.core.windows.net/test/Mapsui.Eto.slnf
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationPermissionMismatch</Code><Message>This request is not authorized to perform this operation using this permission.
RequestId:bb2f4f1b-f01e-0009-42e4-896d8d000000
Time:2025-02-28T13:27:52.4036636Z</Message></Error>
--------------------------------------------------------------------------------
2025/02/28 14:27:52 ERROR : Attempt 2/3 failed with 1 errors and: PUT https://backupexperimental.blob.core.windows.net/test/Mapsui.Eto.slnf
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationPermissionMismatch</Code><Message>This request is not authorized to perform this operation using this permission.
RequestId:bb2f4f1b-f01e-0009-42e4-896d8d000000
Time:2025-02-28T13:27:52.4036636Z</Message></Error>
--------------------------------------------------------------------------------
2025/02/28 14:27:52 ERROR : Mapsui.Eto.slnf: Failed to set modification time: PUT https://backupexperimental.blob.core.windows.net/test/Mapsui.Eto.slnf
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationPermissionMismatch</Code><Message>This request is not authorized to perform this operation using this permission.
RequestId:bb2f4f35-f01e-0009-5be4-896d8d000000
Time:2025-02-28T13:27:52.4654704Z</Message></Error>
--------------------------------------------------------------------------------
2025/02/28 14:27:52 ERROR : Attempt 3/3 failed with 1 errors and: PUT https://backupexperimental.blob.core.windows.net/test/Mapsui.Eto.slnf
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationPermissionMismatch</Code><Message>This request is not authorized to perform this operation using this permission.
RequestId:bb2f4f35-f01e-0009-5be4-896d8d000000
Time:2025-02-28T13:27:52.4654704Z</Message></Error>
--------------------------------------------------------------------------------
2025/02/28 14:27:52 INFO :
Transferred: 0 B / 0 B, -, 0 B/s, ETA -
Errors: 1 (retrying may help)
Elapsed time: 0.1s
2025/02/28 14:27:52 NOTICE: Failed to copy: PUT https://backupexperimental.blob.core.windows.net/test/Mapsui.Eto.slnf
--------------------------------------------------------------------------------
RESPONSE 403: 403 This request is not authorized to perform this operation using this permission.
ERROR CODE: AuthorizationPermissionMismatch
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationPermissionMismatch</Code><Message>This request is not authorized to perform this operation using this permission.
RequestId:bb2f4f35-f01e-0009-5be4-896d8d000000
Time:2025-02-28T13:27:52.4654704Z</Message></Error>
--------------------------------------------------------------------------------
I found out that something does not work when using the SAS token with az command, but also not when using auth-mode login...
az storage blob upload --account-name backupexperimental --container-name test --name blobname --file "/home/alex/Desktop/xy.pdf"
// this works
az storage blob upload --account-name backupexperimental --container-name test --name blobname --file "/home/alex/Desktop/xy.pdf" --sas-token "---"
This request is not authorized to perform this operation using this resource type.
RequestId:9666bacf-b01e-0027-43ec-893f9a000000
Time:2025-02-28T14:23:56.7417969Z
ErrorCode:AuthorizationResourceTypeMismatch
az storage blob upload --account-name backupexperimental --container-name test --name blobname --file "/home/alex/Desktop/xy.pdf" --auth-mode login
You do not have the required permissions needed to perform this operation.
Depending on your operation, you may need to be assigned one of the following roles:
"Storage Blob Data Owner"
"Storage Blob Data Contributor"
"Storage Blob Data Reader"
"Storage Queue Data Contributor"
"Storage Queue Data Reader"
"Storage Table Data Contributor"
"Storage Table Data Reader"
If you want to use the old authentication method and allow querying for the right account key, please use the "--auth-mode" parameter and "key" value.
It looks like the field "Allowed IP addresses" in the Azure blob SAS settings is not optional and has to have a value. I expected it to allow any, if kept empty, which was fine for me, as it's only experimenting at the moment...