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

[FEATURE REQ] Convenient method to generate SAS url from user delegation key #22866

Closed
yufeih opened this issue Jul 26, 2021 · 4 comments
Closed
Labels
Client This issue points to a problem in the data-plane of the library. feature-request This issue requires a new behavior in the product in order be resolved. needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team Service Attention Workflow: This issue is responsible by Azure service team. Storage Storage Service (Queues, Blobs, Files)

Comments

@yufeih
Copy link

yufeih commented Jul 26, 2021

Library or service name.
Azure.Storage.Blobs

Is your feature request related to a problem? Please describe.
For storage clients created from account key, there is a convenient GenerateSasUri method to generate a blob SAS url. The security best practice suggests to use MSI for authentication, thus the code need to switch to use user delegation key. There are some common problems about user delegation key that needs taken care for each consumer:

  • For best performance, a user delegation key could be cached in memory to sign subsequent requests until expiry.
  • The cache refresh should consider user delegation key expiration as well as SAS url expiration.
  • Handle request burst scenario so we don't make excessive user delegation key get requests.

This feature request asks the blob client SDK to provider a helper method that allows developers to generate SAS urls easily and efficiently using user delegation key, providing a similar experience as GenerateSasUri today, with the above details encapsulated underneath.

@ghost ghost added the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Jul 26, 2021
@jsquire jsquire added Client This issue points to a problem in the data-plane of the library. needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team Service Attention Workflow: This issue is responsible by Azure service team. Storage Storage Service (Queues, Blobs, Files) labels Jul 26, 2021
@ghost ghost removed the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Jul 26, 2021
@ghost
Copy link

ghost commented Jul 26, 2021

Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc @xgithubtriage.

Issue Details

Library or service name.
Azure.Storage.Blobs

Is your feature request related to a problem? Please describe.
For storage clients created from account key, there is a convenient GenerateSasUri method to generate a blob SAS url. The security best practice suggests to use MSI for authentication, thus the code need to switch to use user delegation key. There are some common problems about user delegation key that needs taken care for each consumer:

  • For best performance, a user delegation key could be cached in memory to sign subsequent requests until expiry.
  • The cache refresh should consider user delegation key expiration as well as SAS url expiration.
  • Handle request burst scenario so we don't make excessive user delegation key get requests.

This feature request asks the blob client SDK to provider a helper method that allows developers to generate SAS urls easily and efficiently using user delegation key, providing a similar experience as GenerateSasUri today, with the above details encapsulated underneath.

Author: yufeih
Assignees: -
Labels:

Client, Service Attention, Storage, needs-team-attention, needs-triage

Milestone: -

@amnguye
Copy link
Member

amnguye commented Jul 29, 2021

Very similar to this feature request, can probably be done in conjunction.
#16470

@amnguye amnguye added the feature-request This issue requires a new behavior in the product in order be resolved. label Jul 29, 2021
azure-sdk pushed a commit to azure-sdk/azure-sdk-for-net that referenced this issue May 4, 2023
Dev cost management microsoft.cost management 2023 04 01 preview (Azure#23334)

* Adds base for updating Microsoft.CostManagement from version stable/2022-10-01 to version 2023-04-01-preview

* Updates readme

* Updates API version in new specs and examples

* Adding Budgets API translated from 2022-10-01 stable version of Micro… (Azure#22866)

* Adding Budgets API translated from 2022-10-01 stable version of Microsoft.Consumption/budgets

* Updating api-version in examples to 2023-04-01-preview

* Adding costmanagement.budgets.json to readme

* Addressing Swagger LintDiff errors

* Updating budget name pattern

* Adding suppression for R4011

* Adding budget name pattern regex for only alphanumeric, underscore, or hyphen characters

* fixing readme.go.md for budgets

* removing "object" type from notifications dictionary keys

* removing tags

* removing mismatching enum values

* updating notifications key type

* Revert "updating notifications key type"

This reverts commit eeb504b9016fb2214811e279da4ee318c37f6652.

* Revert "removing mismatching enum values"

This reverts commit cba0132bac27f831c90ef8cfca836c8853680000.

* updates to enum name

* Removing incorrect/outdated description info

* fixing BudgetsList example

* Updating example Ids to use Microsoft.CostManagement RP

* updating min & max length of budget name per conversations with PMs

* Adding suppressions for DeleteOperationResponses, TopLevelResourcesListBySubscription, and NoDuplicatePathsForScopeParameter

* fixing indentation in readme

* fixing formatting of suppressions in readme

* Adding paging back in, specifying as null for future use

* Adding support for RU Alerts in new Budgets API version (Azure#23140)

* Updating budgets swagger definition to include modifications from RU Alert category

* Adding new examples for all scenarios of RU Alerts, added new examples for all scopes for Cost Budgets

* Spelling & lintdiff fixes

* prettier-fix

* Added more descriptions, and some light markdown to larger descripitons

* Addressing comments

* prettier-fix

* Updating description for amount property

* addressing Shravan's offline comments

* spell check

* removing aws scopes from scope description

* Addressing comments from internal review, removed legacy tags for EA

* Alexprosak microsoft.cost management 2023 04 01 preview (Azure#23362)

* Updating readme default tag

* specifiying the word "update" in 200 response for budget createorupdate

* updating tags to package-preview-2023-04-01

* readme test

* Revert "readme test"

This reverts commit 566e2e6dbcecc8ed3d0c31770788abcaed4840f8.

* Revert "updating tags to package-preview-2023-04-01"

This reverts commit f9cf3fe3474820afaad0163800aa2548343fae62.

* Updating readme with previous apis not included and updated to current version

* Revert "Updating readme with previous apis not included and updated to current version"

This reverts commit bb879469fea9bf11852334822369310ee6a64534.

* Alexprosak cost management microsoft.cost management 2023 04 01 preview (Azure#23770)

* changing azure-sdk-for-net to azure-sdk-for-net-track2 per ask from comment on main branch PR

* Adding in descriptions + examples for RU Alerts support at the customer scope

* fixing json formatting

* fixing example references

* Updating costmanagementproxyresource to reference ARM common proxy resource. Minor formatting change on scope parameter

* Updating common-types with updates to common-types from 2022-10-01 version

* prettier-fix

* Alprosms cost management microsoft.cost management 2023 04 01 preview (Azure#23795)

* updating costdetailreport swaggers from recent changes to 2022-10-01 version

* suppressing invalid LintDiff errors
Copy link

github-actions bot commented Mar 4, 2024

Hi @yufeih, we deeply appreciate your input into this project. Regrettably, this issue has remained inactive for over 2 years, leading us to the decision to close it. We've implemented this policy to maintain the relevance of our issue queue and facilitate easier navigation for new contributors. If you still believe this topic requires attention, please feel free to create a new issue, referencing this one. Thank you for your understanding and ongoing support.

1 similar comment
Copy link

github-actions bot commented Apr 5, 2024

Hi @yufeih, we deeply appreciate your input into this project. Regrettably, this issue has remained inactive for over 2 years, leading us to the decision to close it. We've implemented this policy to maintain the relevance of our issue queue and facilitate easier navigation for new contributors. If you still believe this topic requires attention, please feel free to create a new issue, referencing this one. Thank you for your understanding and ongoing support.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Apr 5, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Apr 5, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Client This issue points to a problem in the data-plane of the library. feature-request This issue requires a new behavior in the product in order be resolved. needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team Service Attention Workflow: This issue is responsible by Azure service team. Storage Storage Service (Queues, Blobs, Files)
Projects
None yet
Development

No branches or pull requests

3 participants