【问题标题】:Using Always Encrypted with Entity Framework and Azure Key Vault将 Always Encrypted 与 Entity Framework 和 Azure Key Vault 一起使用
【发布时间】:2016-06-09 17:45:17
【问题描述】:

我已使用 Always Encrypted 和存储在 Azure Key Vault 中的列主密钥加密了 Azure SQL 数据库中的一些列,但我无法使用 Entity Framework 从我的应用程序访问它们。

最近有一个MSDN article 和一个older blog post 解释了如何设置一个SqlConnection 以使用Azure Key Vault 的Always Encrypted,所以我猜可以使用constructor 创建一个普通的DbContext接受DbConnection

问题是我正在使用一个IdentityDbContext,它没有那个构造函数 - 唯一一个采用DbConnectionconstructor 也采用一个DbCompiledModel,这超出了我在瞬间。

谁能解释如何设置 IdentityDbContext 以使用 Key Vault?

【问题讨论】:

标签: sql-server entity-framework azure-keyvault always-encrypted


【解决方案1】:

EF 团队好像有一个test that uses encryption

var connectionStringBuilder = new SqlConnectionStringBuilder(SqlServerTestStore.CreateConnectionString("adventureworks"))
{
    Encrypt = encryptionEnabled
};
var options = new DbContextOptionsBuilder();
options.UseSqlServer(connectionStringBuilder.ConnectionString);

using (var context = new AdventureWorksContext(options.Options))
{
    context.Database.OpenConnection();
    Assert.Equal(ConnectionState.Open, context.Database.GetDbConnection().State);
}

TODO:测试 IdentityDbContext 构造函数公开与 AdventureWorksContext 相同的构造函数。

【讨论】:

    猜你喜欢
    • 2017-10-25
    • 2017-12-10
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 2011-06-22
    • 1970-01-01
    相关资源
    最近更新 更多