如何以安全的方式从 Unity 移动应用访问 Azure Storage Blob

How to access Azure Storage Blob from Unity mobile app in a secure way

我有一个用 Unity 设计的移动应用程序。此应用程序需要访问存储在 Azure Blob 存储中的几个视频。该应用程序将在 Microsoft Intune 上启动,并且仅供员工使用。请帮助了解通过应用程序访问视频的最安全方式。我不想在应用程序上存储任何 credentials/key。我能想到几个选项。

  1. 使用 SAS 令牌:我觉得将 SAS 令牌存储在移动应用程序中不是一个好主意。
  2. 访问密钥:根据我的理解,这也不是一个好主意。
  3. 我也考虑过将访问密钥存储在 Azure Key Vault 中,但我不确定 (i) Unity SDK for Azure 是否可以从密钥保管库中检索密钥 (ii) 此外,将密钥保管库的密钥存储在移动设备中应用程序与将主密钥存储在应用程序中一样好。
  4. 我不确定,但我可以在 Azure AD -> 应用程序注册上创建一个应用程序,通过 Azure 存储授予对该应用程序的访问权限,并以某种方式通过移动应用程序访问视频,从而不在该应用程序上存储任何凭据。

1 - 不要那样做

2 - 还有,不要那样做

3 和 4 - 我建议您创建一个 API(可以像 Azure 函数一样简单),它将关联一个托管身份,并将用于访问 blob(视频)和检索到您的应用程序。