📜  Linux 机器上的 Microsoft SQL Server Active Directory 身份验证

📅  最后修改于: 2022-05-13 01:55:37.267000             🧑  作者: Mango

Linux 机器上的 Microsoft SQL Server Active Directory 身份验证

在本文中,我们将研究使用基于 Kerberos 的身份提供程序连接到在 Linux 上运行的 SQL Server 的过程。在此示例中,我们将使用 Active Directory 作为 Kerberos 身份提供者,但这也适用于其他 Kerberos 身份提供者,例如 Red Hats Identity Manager 或 Centrify。

请按照以下步骤在 Linux 机器上进行 MS SQL Server Active Directory 身份验证:

第 1 步:首先,我们将通过 SSH 连接到运行在rhel上的 SQL 服务器,我们可以看到这里有一个在本地运行的 SQL 服务器。

第 2 步:现在我们将运行以下命令来检查命令行选项是否包含-E 参数,该参数允许您使用受信任的连接或使用基于 Kerberos 的身份进行连接,以便能够以身份连接到服务器反对使用 SQL 登录名和密码。



sqlcmd

第 3 步:现在我们将运行以下命令以获取 Active Directory 用户的票证授予令牌。在这种特殊情况下,我们登录的用户具有已创建的 Active Directory ID,并且此特定服务器也是加入到 Active Directory 域的域。

kinit

第 4 步:现在我们已经完成了kinit ,我们现在在本地为该用户提供了一个授予票证的令牌,我们可以运行以下命令来连接到本地服务器。

sqlcmd -E -S localhost

你可以看到我们能够在这里连接。我们可以运行一些查询,如下所示

select @@version

我们可以看到我们在 Red Hat Enterprise Linux 上运行。

对于 Windows:

现在让我们从 Windows 方面来看看同样的事情。所以在 Windows 端,我们可能想使用这个名为 SQL Server Management Studio 的工具从 Windows 机器连接到这个运行在 rhel 上的SQL 服务器,它是 Windows 端最常用的工具。

所以在这里我们可以只使用 Windows 身份验证。我们以刚刚在 Linux 端使用的 Active Directory 身份登录并连接到同一台服务器,您可以看到它正常工作。

就像那样,它只是使用 -E 参数从 Windows 连接到 Linux,使用 Active Directory 作为身份提供者来协商两者之间的连接并向服务器验证此用户。