Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Storage: authenticated requests must reject http endpoints by default #21841

Closed
jhendrixMSFT opened this issue Oct 27, 2023 · 7 comments · Fixed by #22183
Closed

Storage: authenticated requests must reject http endpoints by default #21841

jhendrixMSFT opened this issue Oct 27, 2023 · 7 comments · Fixed by #22183
Assignees
Labels
Storage Storage Service (Queues, Blobs, Files)

Comments

@jhendrixMSFT
Copy link
Member

This was done for Entra authentication in azcore, see #21674. It should be expanded to all authentication schemes in blob storage.

For authentication types where http is allowed (SAS?), you can provide a mechanism to turn off the https requirement.

@jhendrixMSFT jhendrixMSFT added the Storage Storage Service (Queues, Blobs, Files) label Oct 27, 2023
@jhendrixMSFT jhendrixMSFT changed the title Storage: authenticated requests should reject http endpoints by default Storage: authenticated requests must reject http endpoints by default Nov 2, 2023
@vibhansa-msft
Copy link
Member

As these checks are being done in AzCore already, so we need to do any specific handling in storage moudles?

@vibhansa-msft
Copy link
Member

I see core is already handling this for Key, SAS and OAuth as part of this pr :https://github.com/Azure/azure-sdk-for-go/pull/21832/files

@jhendrixMSFT
Copy link
Member Author

Does it also need to be applied to shared key authentication?

@vibhansa-msft
Copy link
Member

Other than SAS it shall be ok to reject http. SAS can be created only for http endpoint so not allowing http there may not work. For other modes it shall be ok. As part of the above PR, which I linked, I see key auth related changes are also done in core itself so is there any expectation or code change from the storage SDK side?

@jhendrixMSFT
Copy link
Member Author

azblob has its own SharedKeyCredential policy that needs to be updated https://github.com/Azure/azure-sdk-for-go/blob/main/sdk/storage/azblob/internal/exported/shared_key_credential.go#L189-L218

@roelarents
Copy link

roelarents commented Feb 16, 2024

Did you think about compatibility with azurite? We use that in a test setup, without https. Of course we could go and setup a https infra in the test setup with self signed certs and all that. But it would be nice if this new requirement could be toggled.

edit: a bit more elaboration

@souravgupta-msft
Copy link
Member

Hi @roelarents. We have discussed this scenario internally and have decided to re-enable http endpoints for shared key based auth mode. You can currently either use SAS (where http is supported) or enable HTTPS in Azurite.
We'll do a release next week to fix this.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Storage Storage Service (Queues, Blobs, Files)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants