Azure Blob Storage - User Delegation SAS
Use-case Some files are too large to be added as attachments to emails. In those cases, files are uploaded to a Azure Blob Storage container for customer to download it. A shared access signature (SAS) token is needed for customer to access this file, and in our case, this file (blob) only. There are three different SAS available: account, service, user delegation. For security reasons, Microsoft highly recommends only using user delegation SAS for this. Link to Microsoft documentation Current state On the documentation page linked above, there is an exhaustive list of steps and configurations for the token creation. We have an example case implemented in one customer's Frends tenant (as three subprocesses): Common.AzureBlobStorage.SharedAccessSignature Common.AzureBlobStorage.UserDelegationKey Common.Microsoft.Api.Auth Please contact me (Jaro) in case you want to take a look at the subprocesses. Suggested task I doubt we are the only ones that would benefit from this option to share content through Azure Blob Storage. Thus, an official task would be both well justified and it would work as a prevalidation for selected configuration, e.g. choosing invalid permissions etc. Technically, there only needs to be one task: Create user delegation SAS. Connection tab would also be simple as the only option is OAuth (compared to other Azure Blob Storage tasks). It should be quite straightforward to implement this task as Microsoft offers a lot of snippets to exemplify the implementation. A lot of code can be reused from the existing Blob Tasks. https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-user-delegation-sas-create-dotnet?tabs=packages-dotnetcli%2Cblob#create-a-user-delegation-sas https://github.com/Azure-Samples/AzureStorageSnippets/blob/master/blobs/howto/dotnet/BlobDevGuideBlobs/CreateSAS.cs#L147
