我创建了一个从Azure SQL数据库读取数据的Xamarin Forms应用程序。
目前,我直接在源码中使用用户名和用户密码登录到SQL数据库:
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder.DataSource = "tcp:nnnnnnnn.database.windows.net";
builder.UserID = "userID";
builder.Password = "userPassword";
builder.InitialCatalog = "databaseName";为此,我目前在Azure中有一个资源组,其中包含一台带有SQL-Server和SQL-Database的计算机。
现在我想从测试阶段切换到生产阶段。
我的想法是:我需要的是让我的应用程序访问数据库,而不需要输入用户名或密码或任何其他凭据。
对于这个问题,我是否必须在azure或virtuell计算机中创建应用程序服务?Azure-Active-Directory是正确的方式吗?我必须创建托管标识吗?
执行此操作的正确工作流程是什么?
提前感谢您的帮助
奥斯卡
发布于 2020-04-10 04:48:57
我绝对建议创建一个单独的应用程序(可以是一个应用程序服务)作为数据访问层,这样移动应用程序就不会对您的数据库进行任何潜在的可利用的直接访问。
如果移动应用程序向API应用程序发送请求,则API可以在托管服务身份和包含连接字符串的密钥库的帮助下安全地访问数据库,正如Anoop所引用的。这是Managed Service Identity和Key Vault references的文档页面。
发布于 2020-04-11 16:51:21
嗨,ChiefMcFrank和Anoop,谢谢你们的回答。我将尝试实现这一点,并报告结果...
https://stackoverflow.com/questions/61124276
复制相似问题