如何从 SSMS 2016(Microsoft SQL 服务器)注销?

How to logout from SSMS 2016 (Microsoft SQL Server)?

我已经实施了 Always Encryption 来加密我的 Azure 数据库中患者 table 的 SSN 字段。(使用 Azure Key Vault 作为我的密钥存储提供者)

我正在使用 SSMS 2016(13.0.16100.1) 作为客户端工具。
最初我尝试为那个特定的患者 table 执行简单的 select 语句。 它带有 Sign*(见下文)* 的弹出窗口。这样我就可以使用我的帐户登录来解密我的 SSN 列。

这里我遇到了两种情况:

案例 1

无法从当前凭据注销

假设我自己第一次输入了有效的凭据(谁可以访问解密密钥@ssn)

In this case, those credentials were saved somewhat internally. I couldn't able to logout from my credentials.

Initially i'm thinking that the credentials were saved on session based.So it will work only for that particular session.But it's not...

The same credentials will works for different sessions ,even I've tried with closing my SSMS and reopen in another windows still using the old credentials.

案例 2

无法重新输入凭据

假设我自己第一次使用无效凭据签名(谁无权解密密钥@ssn)

In this case, i couldn't able to decrypt the SSN column .So again the credentials where saved somewhat internally.

So if i want to re-enter with my valid credentials.I couldn't do it.


我认为为了解决这两种情况,只有一个解决方案=>从当前凭证注销

PS:我知道我们还有另一种选择,即使用 Active Directory 密码身份验证登录。但不幸的是,这将仅用于 Configured Active Directory Admin 单独 。但在我的组织中有超过 100 个 members.So 没有办法让至少 10 个成员使用活动目录登录

更新 1


提前致谢,
周杰伦

首先,一个澄清的评论:上面的弹出对话框提示您输入 Azure Key Vault 的凭据(您可能在其中存储 Always Encrypted 的列主密钥,它保护您患者中的数据table),不适用于数据库凭据。数据库身份验证(例如,通过“连接到服务器”对话框中的 Active Directory 密码身份验证)独立于 Azure 资源管理器(Azure Key Vault)身份验证。虽然您可以使用相同的身份进行数据库身份验证和 Azure RM,但并非必须如此。

你描述的问题将在即将发布的 SSMS 17.2 中得到解决,它允许你在每个身份验证点更改 Azure RM 用户身份。此外,在 SSMS 17.2 中,credentials/tokens 将绑定到一个进程并且不会持久化,因此在重新启动后,SSMS 将不会记住它们。添加 "logout" 控件在我们的路线图上,但我们还没有具体的时间表。

您描述的问题的一个解决方法是启动 Always Encrypted 向导(在任何 table 和 select 加密列上的正确客户端)并单击更改用户(在列主密钥上配置页),然后单击取消并取消向导。这应该会使缓存中的当前信用无效,然后您查询 table,弹出窗口应该打开,您应该能够输入新的信用。

谢谢,

雅库布