我已经实现了 Always Encryption 来加密 Azure DB 中 Patient 表的 SSN 字段。(使用 Azure Key Vault 作为我的密钥存储提供程序)
我使用 SSMS 2016(13.0.16100.1) 作为客户端工具。
最初,我尝试为那个特定的 Patient 表执行简单的 select 语句。它带有签名的弹出窗口*(见下文)*。这样我就可以使用我的帐户登录以解密我的 SSN 列。
在这里,我经历了两种情况:
情况1
无法从当前凭据注销
假设我自己第一次输入了一个有效的凭据(谁可以访问解密密钥@ssn)
在这种情况下,这些凭据在内部保存了一些。我无法从我的凭据中注销。
最初我认为凭据是基于会话保存的。因此它仅适用于该特定会话。但它不是......
相同的凭据适用于不同的会话,即使我尝试关闭我的 SSMS 并在仍然使用旧凭据的另一个窗口中重新打开。
案例二
无法重新输入凭据
假设我第一次使用无效凭据签名(谁无权解密密钥@ssn)
在这种情况下,我无法解密SSN 列。所以再次在内部保存了一些凭据。
因此,如果我想使用我的有效凭据重新输入。我做不到。
我认为为了解决这两种情况,将有一个解决方案=>从当前凭据注销
PS:我知道我们还有另一个选项Login using Active Directory Password Authentication。但不幸的是,这仅用于配置的 Active Directory 管理员。但在我的组织中有超过 100 个成员。所以没有办法让至少 10 个成员使用 Active Directory 登录