使用用户名和密码写入Azure Blob

时间:2019-09-11 16:58:28

标签: azure azure-storage-blobs credentials

我需要使用在客户网络上运行的应用程序来写入azure blob存储。我想使用网络用户名和密码来保护Blob位置。我读过很多文章,但看不到如何使用用户名和密码连接到Azure Blob存储。

这是一个WPF应用程序,因此我不想将我的密钥(或任何秘密)存储在配置文件中或对其进行硬编码,因为使用反编译器很容易获得它。我希望为用户提供网络用户名和密码。这样,我可以在需要时更改密码或禁用用户名。

请问有人在正确的方向给我,我只是一遍又一遍地不断循环回到相同的文档

1 个答案:

答案 0 :(得分:3)

有三种方法可以连接到Azure存储:

  1. 使用帐户名/密钥
  2. 使用Azure Active Directory(Azure AD)身份验证
  3. 使用共享访问签名

第一个选项会自动排除,因为您不想在应用程序中存储机密(明智的决定是BTW)。

您可以使用Azure AD authentication连接到Blob存储。但是,为此,您的用户将需要存在于Azure AD中。每当用户启动您的应用程序时,您都将其重定向到Azure AD进行身份验证,并且一旦他们通过身份验证,他们就可以使用该应用程序。您可以在这里了解更多信息:https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad

第3个选项是使用Shared Access Signature (SAS),它基本上是一个具有时间限制/权限驱动的对存储的访问的URL。可行的方式是您的应用程序将通过要求用户提供其网络用户名/密码来对用户进行身份验证。通过身份验证后,他们将可以访问该应用程序。在应用程序中,您可以调用一个API,该API将返回一个SAS URL,用户可以使用该URL将数据上传到Blob存储中。您可以在这里了解更多信息:https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview?toc=%2fazure%2fstorage%2fblobs%2ftoc.json