目前,Google Cloud SQL 中的 SQL 实例已经可以与 Microsoft Active Directory(AD)进行集成,且正在内测中。这篇文章会详细介绍使用此新功能创建 SQL Server 实例所需的基本步骤,如果您想要了解更多信息,可以阅读官方文档。
官方文档:
https://cloud.google.com/sql/docs/sqlserver/ad
第一步便是使用代管式 Microsoft AD 的托管服务创建域,可以通过 Google Cloud Console 中的“ 托管Microsoft AD ”部分轻松完成此操作。单击“创建新广告域”按钮,然后输入以下信息:
输入完成以后,如下图
单击 CREATE DOMAIN 以完成创建 AD 域的过程。这里需要耐心等待一下,因为该域可能需要60分钟才能使用。准备就绪后,它将在域列表中如下所示:
配置 AD 域的最后一步是设置“委派管理员”密码。单击域列表中的域名以转到其详细信息页面。在该页面上,单击 SET PASSWORD 链接,并记下我们将在此文章的后续步骤中会使用的密码。
AD 域可用后,可以开始创建利用 AD 域启用基于 AD 身份的 Windows 身份验证的 SQL Server 实例。转到 Google Cloud Console 的 Cloud SQL 部分,尝试创建一个新的 SQL Server 实例。单击“创建实例”按钮。然后点击“选择 SQL Server ”并输入以下信息:
请注意,如果这是第一次为所选择的“网络”创建专用 IP,则会提示“需要专用服务连接”。
单击 SET UP COMMECTION,然后在出现的“启用服务网络API”对话框中选择“使用自动分配的IP范围”:
点击 CONTINUE ,完成该过程。
返回实例“配置选项”,单击“身份验证”部分以将其展开。从用于加入托管 Active Directory 域的下拉菜单中,选择在文章的第一步中创建的域。
Cloud SQL 将自动创建用于根据实例身份验证的按产品、按项目服务的帐户。系统将提示需要为服务帐户授予“ managedidentities.sqlintegrator ” IAM 角色。
提供所有这些信息后,创建实例表单应如下所示:
单击创建实例以完成创建实例的过程。创建实例后,会看到新实例的概述页面,该页面应如下所示:
到这里,我们在 Google Cloud 上已经拥有一个 SQL Server 实例了,并可以使用 Windows 身份验证和基于AD 的身份登录。
为了确保一切都按预期进行。为此,这里将使用 Google Compute Engine 创建 Windows Server 2019 VM。使用它,可以添加一个用户到 Managed Active Directory 中,并给其访问 Cloud SQL 中的 SQL Server 实例的权限,然后以该用户的身份通过 Windows 身份验证连接到 SQL Server 实例。
这里可以使用 Google Compute Engine 的 Marketplace 轻松创建 Windows Server VM。
在 Marketplace 中搜索“ Windows Server 2019 ”将返回许多选项。
这里将使用“ Windows Server 2019上的安全 SQL Server 2017 Standard ”选项创建 VM。
选择 VM 选项后,单击“启动”按钮,将会进入实例创建页面。查看要创建的 VM 实例的设置,尤其是“网络”部分下的“网络”选项,以确保所选的“网络”是 Active Directory 域中包含的网络。然后滚动到实例创建页面的底部,然后单击“创建”按钮。VM 创建过程完成后,我们将会进入实例的详细信息页面。单击“设置 Windows 密码”按钮以设置用于登录 VM 的密码。然后使用“远程桌面协议”(RDP)按钮登录到 VM。
登录到虚拟机实例后,现在可以将虚拟机加入托管 Active Directory 域。单击屏幕左下方的“ Windows ”图标,键入“控制面板”,然后按 Enter。导航到“系统和安全”,然后单击“系统”。在“计算机名称、域和工作组设置”下,单击“更改设置”。
然后在“系统属性”对话框中单击“更改”按钮。
在“域”输入文本框中输入托管 Active Directory 的名称,然后单击“确定”按钮就可以完成创建了。
到这一步,我们的托管 Active Directory 中已经有 Windows Server VM了,然后我们可以添加用户。为此,我们还需要安装必要的远程服务器管理工具(RSAT)。打开“服务器管理器”,然后单击“管理”菜单项,然后选择“添加角色和功能”向导。
在向导中,进入“选择功能”页面。您可以从侧边栏中选择功能,也或选择下一步,直到找到为止。在“选择功能”页上的“功能”列表中,展开“远程服务器管理工具”,然后展开“角色管理工具”。
在“角色管理工具”下,选择“ AD DS和AD LDS工具”。这将启用以下功能:
如果您还需要以下功能,也可以进行启用:
现在我们可以通过使用 Windows Server VM 的工具将用户添加到 Managed AD 域中。还记得文章开头创建 AD 域时指定的“委派管理员”吗?现在该使用它了。我们将注销 Windows Server VM,然后以“委派的管理员”身份重新登录。通过单击 VM 实例屏幕左下方的“ Windows ”图标注销 Windows VM,然后单击“电源”图标并选择“断开连接”。
返回 Google Compute Engine 实例页面,单击“ RDP ”按钮以重新登录到 Window Server VM,但这一次使用 AD 域“ Delegated admin ”的用户名和密码登录。
登录后,打开“服务器管理器”,单击“工具”菜单项,然后选择“ Active Directory 用户和计算机”。
在出现的“ Active Directory 用户和计算机”对话框窗口中,展开 ad.mydomain.com 项目,点击 Cloud 子项目。
然后点击“在当前容器中创建一个新用户”图标以创建一个新用户。
输入用户的名字和姓氏以及登录名,然后单击“下一步”按钮。
输入并确认用户密码,然后再次单击“下一步”按钮。最后,在确认对话框中点击“完成”以创建用户。
现在,我们有了一个新的 AD 域用户。但是仍然需要授予他们对 Cloud SQL 上SQL Server 实例的访问权限。我们可以使用 Azure Data Studio 做到这一点。在 Windows Server VM 上打开浏览器,然后转到 Azure Data Studio 下载页面。
单击“系统安装程序”链接以启动下载,然后在出现的下载对话框窗口中单击“运行”按钮。
Azure Data Studio 安装向导完成后,选中“启动 Azure Data Studio ”复选框,然后单击“完成”按钮以打开程序。在开始屏幕 Azure Data Studio 中,单击新建链接。
对于“服务器”,从 Cloud SQL-SQL Server 实例详细信息页面输入“ Active Directory FQDN(私有)”值:
示例:
private.sql-server-with-ad.us-central1.your-new-project.cloudsql.ad.mydomain.com
身份验证类型,选择“ SQL登录”
用户名,输入“ sqlserver”;密码,输入创建 SQL Server 实例时指定的“ sqlserver ”用户的密码。
在指定了所有这些信息之后,“连接详细信息”如下图👇
单击“连接”按钮以连接到SQL Server实例。建立连接后,单击新建查询并输入查询:
然后运行。
下面我们测试通过 Windows 身份验证以新的 AD 域用户身份连接到我们的 SQL Server 实例。关闭Azure Data Studio。然后我们将以新的AD域用户身份重新打开 Azure Data Studio。单击 VM 实例屏幕左下方的“ Windows ”图标,然后键入“ Azure Data Studio ”。右键单击“ Azure Data Studio ”图标,然后选择:以其他用户身份运行。
在出现的对话框中输入 AD 域用户的用户名和密码。
在 Azure Data Studio 起始页上,单击新建链接。
对于“服务器”,从 Cloud SQL-SQL Server 实例详细信息页面输入“ Active Directory FQDN(私有)”。
示例:
private.sql-server-with-ad.us-central1.your-new-project.cloudsql.ad.mydomain.com
对于身份验证类型,选择 Windows 身份验证。
单击 Connect ,这个时候我们的 SQL Server on Cloud SQL 已经与 Managed Active Directory 集成在一起了。
Over!想要了解更多或使用👇:
https://cloud.google.com/sql/docs/sqlserver/ad