【问题标题】:Where to store DocumentDB Endpoint and Key in productionDocumentDB Endpoint 和 Key 在生产环境中的存储位置
【发布时间】:2018-05-08 06:56:31
【问题描述】:

我有一个与 Documentdb 通信的 .Net Core 网站和 Xamarin 应用程序,我们正准备投入生产。

我在 DocumentDB / CosmosDB 上看到的所有文档硬拷贝 C# 类中的 Key 和 Endpoint。示例:https://docs.microsoft.com/en-us/azure/cosmos-db/tutorial-develop-documentdb-dotnethttp://www.dotnetcurry.com/windows-azure/1395/cosmosdb-webapi-angular-client 仅举几例(!),DocumentDB 中的 Azure 安全性似乎并未解决或提及此问题。

有没有办法在客户端应用程序中安全地存储 DocuementDB EndPoint 和 Key? 谢谢。

【问题讨论】:

    标签: azure xamarin azure-cosmosdb


    【解决方案1】:

    KeyChain.Net

    一个简单统一的api,让开发者可以设置、更新、获取和删除keyChain上的密钥和密码(支持iOS、Android和WinPhone)

    https://github.com/has-taiar/KeyChain.Net

    iOS

    var helper = new KeyChain.Net.XamarinIOS.KeyChainHelper();
    var isSaved = helper.SetKey("myKey", "myKeyValue");
    var keyValue = helper.GetKey("myKey");
    var isDeleted = helper.DeleteKey("myKey");
    

    安卓

    var helper = new KeyChain.Net.XamarinAndroid.KeyChainHelper(myActivity, "myKeyProtectionPassword");
    var isSaved = helper.SetKey("myKey", "myKeyValue");
    var keyValue = helper.GetKey("myKey");
    var isDeleted = helper.DeleteKey("myKey");
    

    Windows 手机

    var helper = new KeyChain.Net.XamarinWinRT.KeyChainHelper();
    var isSaved = helper.SetKey("myKey", "myKeyValue");
    var keyValue = helper.GetKey("myKey");
    var isDeleted = helper.DeleteKey("myKey");
    

    【讨论】:

      【解决方案2】:

      您不应该在应用程序中使用密钥。 Azure Key Vault 解决了这个问题。

      请检查一下

      https://sarosh.wordpress.com/2017/11/23/cosmos-db-and-key-vault/

      HTH

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多