📌  相关文章
📜  Microsoft Azure – Azure SQL 的识别和访问管理

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

Microsoft Azure – Azure SQL 的识别和访问管理

在本文中,我们将研究保护 Azure SQL 作为身份和访问管理的第二个方面。在您的数据中心中,您已经对操作系统方法进行了特定的策略设置或访问控制,因此必须有一种方法可以授予人们在 Azure 生态系统中执行各种操作的权限。它称为Azure 基于角色的访问控制RBAC。

你为部署各种资源而执行的所有 Azure 操作都使用 RBAC。这是一个基于来自订阅的特定权限的系统,人们拥有基于各种角色的订阅。例如,您有订阅的所有者或称为贡献者的东西,他有权访问并授予部署 Azure SQL 等 Azure 资源的权限。

Azure RBAC 与 SQL 安全系统是分开的,您将授予登录到 SQL Server 的身份验证权限,但它将授予您所有这些权限以及控制和管理 Azure 资源的访问权限。从部署和管理 Azure 资源到 SQL Server 安全系统本身的职责分离概念。您可以使用 Azure 门户或 CLI 浏览和使用 RBAC 类型的策略和系统。

现在 Azure 为用户所做的是,Azure 实际上有一些内置角色,而不是您为 Azure SQL 访问创建特定角色。您可以是 SQL 数据库参与者,这将赋予您部署 Azure SQL 数据库的特定权限,甚至可以是托管实例参与者来部署托管实例。

Azure 甚至有一个SQL 安全管理员角色,您无权在 Azure 中为 Azure SQL 部署事物,但您拥有某些权限来审核对 Azure SQL 的 Azure 生态系统中正在发生的事物的访问。一旦你克服了这一点,你就会获得了解授权以在 Azure SQL 中进行身份验证所需的传统流程和功能。这会让您感觉非常熟悉,并且仍然与 SQL Server 非常相似。

您首先需要考虑的是混合模式身份验证。在 SQL Server 中,您有两种模式:

  1. Windows 身份验证或集成安全性
  2. SQL 身份验证。

因为我们需要以管理员身份登录 SQL Server,事实上,当您部署时,您会获得所谓的服务器管理员,即 SQL 身份验证,既适用于逻辑服务器,也适用于托管实例。混合模式是强制的,它必须是。事实上,这个服务器管理员 SQL 将成为 Azure 数据库中逻辑服务器的服务器级主体,并且它将成为托管实例的sysadmin角色的成员。

现在,您对自己说:“这很有趣,但我需要 Windows 身份验证,我需要集成安全身份验证”,因此 Azure 提供并允许您为管理员和登录执行 Azure Active Directory 身份验证。这就是托管实例的样子。

Azure 托管实例:

  • Azure AD 服务器管理员
  • SQL 或 Azure AD 登录
  • 数据库用户
  • SQL Server 包含的数据库支持

对于托管实例,它添加了 SQL 登录名,即系统管理员,您也可以创建 Azure Active Directory 服务器管理员,并成为系统管理员角色的成员。您还可以像现在使用 SQL Server 一样创建登录,用于 SQL 登录或 Azure Active Directory 登录,就像您创建 Windows 登录一样。然后,您可以完成创建映射到这些登录名的数据库用户的过程。 Azure 甚至支持 SQL Server 中包含的SQL Server 数据库系统中的概念。

Azure SQL 数据库:

  • Azure AD 服务器管理员
  • SQL 登录
  • 受限服务器管理员的loginmanagerdbmanager角色
  • 数据库用户
  • 包含的数据库用户,包括 Azure AD

与 MI 非常相似,您可以创建一个 Azure Active Directory 服务器管理员,就像您在开始部署 Azure SQL 数据库时创建的那个 SQL 管理员一样。您也可以创建 SQL 登录,但这是有点分歧的地方。我们在逻辑服务器中有特殊的服务器管理员角色,它们将允许某些登录来管理登录或跨逻辑服务器管理数据库。现在,您也可以在 Azure 数据库中创建映射到这些登录名的数据库用户,但这是 Azure 推荐的; Azure 有包含数据库用户的概念,无需创建包含数据库,他们甚至可以是 Azure Active Directory 用户。

设置和配置身份验证和授权

既然您已经了解了身份验证的功能,请务必记住,在部署时,您将选择您的 SQL Server 管理员。但在部署之后,您实际上可以为 MI 或 Azure 数据库添加 Azure Active Directory 管理员。然后就像使用 SQL Server 一样,经过身份验证的管理员现在可以创建其他用户、其他登录名。然后,一旦您完成了该过程,您就可以像授予 SQL Server 一样在该系统中授予对 SQL Server 的访问权限,无论它是否使用角色,是否授予对象、登录或用户的特定身份验证。

您需要 Azure RBAC 才能获得使用 Azure 执行操作的权利。完成并部署资源后,您将使用 SQL Server 身份验证方法,在某些情况下与 MI 和数据库略有不同,包括 Azure Active Directory 身份验证。然后它会感觉就像一个 SQL Server。它将根据角色、或基于您创建的登录名或基于数据库用户授予对您需要的对象的访问权限。