asp.net核心数据保护PersistKeysToAzureBlobStorage SAS令牌

时间:2019-02-21 03:26:16

标签: authentication asp.net-core asp.net-core-mvc asp.net-core-2.0 azure-storage-blobs

我们当前正在开发Azure中的项目,我想利用可用的扩展方法将数据保护密钥持久保存到Azure Blob存储中。

提供的方法之一接受带有sas令牌的URI,以建立与存储帐户的连接。但是,我很好奇,一旦SAS令牌过期,如何可以重新建立连接。我已经查看了源代码,但看不到这是怎么回事。

如果有人可以对此有所了解,将会很有帮助。

https://github.com/aspnet/AspNetCore/blob/416d8cd1ea098eb643b4258247af3448f5545c32/src/DataProtection/AzureStorage/src/AzureDataProtectionBuilderExtensions.cs

1 个答案:

答案 0 :(得分:0)

  1. 您可以在启动时获取SAS令牌,而无需对其进行硬编码(还请记住,这会减慢您的App启动速度)。但这也意味着要获取新密钥,您的应用需要重新启动。

  2. 您可以将其作为配置参数,并且每次部署时都编写PowerShell脚本以加载新的SAS令牌

  3. 生成长期密钥,并使用Keyvalt结合托管服务标识(MSI)进行加密。 (PS。我不是安全专家,所以我不确定它是否100%安全)。因此,即使有人获得了您的密钥,它也会被加密。