Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在没有任何安全风险的情况下将连接字符串详细信息放入Typescript页面?_Typescript_Azure_Azure Storage_Azure Authentication_Front End Optimization - Fatal编程技术网

如何在没有任何安全风险的情况下将连接字符串详细信息放入Typescript页面?

如何在没有任何安全风险的情况下将连接字符串详细信息放入Typescript页面?,typescript,azure,azure-storage,azure-authentication,front-end-optimization,Typescript,Azure,Azure Storage,Azure Authentication,Front End Optimization,我有一个typescript应用程序,我需要从该应用程序连接到Azure blob存储。我已将blob连接字符串详细信息放置在Azure key vault服务中。但要调用密钥库URL来访问这些密钥和机密,我需要在我的Typescript页面中包含客户端ID和客户端机密。 但作为首页,任何人都可以从浏览器控制台看到这些秘密。 我们怎样才能摆脱这种局面。 下面的任何一个解决方案都可以解决我的问题。请告诉我们 1.是否有任何方法可以从浏览器控制台窗口隐藏这些秘密。所以它在浏览器中不可见 2.是否有任

我有一个typescript应用程序,我需要从该应用程序连接到Azure blob存储。我已将blob连接字符串详细信息放置在Azure key vault服务中。但要调用密钥库URL来访问这些密钥和机密,我需要在我的Typescript页面中包含客户端ID和客户端机密。 但作为首页,任何人都可以从浏览器控制台看到这些秘密。 我们怎样才能摆脱这种局面。 下面的任何一个解决方案都可以解决我的问题。请告诉我们

1.是否有任何方法可以从浏览器控制台窗口隐藏这些秘密。所以它在浏览器中不可见

2.是否有任何方法可以在不提供客户id和客户机密的情况下从typescipt页面使用其他身份验证到Azure key vault

1.是否有任何方法可以从浏览器控制台窗口隐藏这些秘密。所以它在浏览器中不可见

不可以。如果你的应用程序可以看到它,那么用户也可以看到

2.是否有任何方法可以在不提供客户id和客户机密的情况下从typescipt页面使用其他身份验证到Azure key vault

是的,尽管我认为这是个坏主意。 代表已登录用户访问密钥保管库可以在没有密码的情况下工作,但连接字符串仍然可见,并允许用户继续访问Blob存储

这里更好的选择是以用户身份访问Blob存储

  • 将Blob数据读取器角色分配给希望用户能够访问的存储帐户/Blob容器上的用户
  • 在Azure AD中注册应用程序,需要从API权限选项卡获得Azure存储上的
    用户\u模拟
    权限
  • 使用
  • 获取Azure存储的访问令牌,作用域:
    https://storage.azure.com/user_impersonation
  • 使用令牌调用存储API
  • 不需要访问密钥,也不向用户提供任何机密。 这一切都基于用户的访问权限,而不是应用程序的访问权限。 由于我们无法对前端应用程序进行身份验证,这就是我们在前端可以做的

    另一种选择是从后端应用程序发出请求