在 Azure Synapse 无服务器 SQL 池中选择身份验证方法

已完成

无服务器 SQL 池身份验证指的是用户连接到终结点时如何证明其身份。 支持两种类型的身份验证:

  • SQL 身份验证

    此身份验证方法使用用户名和密码。

  • Microsoft Entra 身份验证

    此身份验证方法使用 Microsoft Entra ID 管理的标识。 对于 Microsoft Entra 用户,可以启用多重身份验证。 请尽可能使用 Active Directory 身份验证(集成安全性)。

授权

授权指的是用户可以在无服务器 SQL 池数据库中执行哪些操作,并且授权由用户帐户的数据库角色成员身份和对象级权限控制。

如果使用 SQL 身份验证,则 SQL 用户仅存在于无服务器 SQL 池中,而权限范围将限定为无服务器 SQL 池中的对象。 不能直接向 SQL 用户授予访问其他服务(例如 Azure 存储)中安全对象的权限,因为该用户仅存在于无服务器 SQL 池的范围内。 SQL 用户需要获得授权才能访问存储帐户中的文件。

如果使用 Microsoft Entra 身份验证,则用户可以登录到无服务器 SQL 池和其他服务(例如 Azure 存储),并可以向 Microsoft Entra 用户授予权限。

访问存储帐户

登录到无服务器 SQL 池服务的用户必须获得访问和查询 Azure 存储中的文件的授权。 无服务器 SQL 池支持以下授权类型:

  • 匿名访问

    访问允许匿名访问的 Azure 存储帐户中放置的公开可用文件。

  • 共享访问签名 (SAS)

    提供对存储帐户中的资源的委托访问权限。 通过 SAS,可以授予客户端对存储帐户中资源的访问权限,而无需共享帐户密钥。 通过 SAS 可以精细控制向具有 SAS 的客户端授予的访问权限类型:有效期间隔、授予的权限、可接受的 IP 地址范围、可接受的协议 (https/http)。

  • 托管标识。

    它是 Microsoft Entra ID 的一项功能,为无服务器 SQL 池提供 Azure 服务。 此外,它还会在 Microsoft Entra ID 中部署一个自动托管的标识。 此标识可用于对有关访问 Azure 存储中的数据的请求授权。 在访问数据之前,Azure 存储管理员必须向管理标识授予访问数据的权限。 向托管标识授予权限的方式与向任何其他 Microsoft Entra 用户授予权限的方式相同。

  • 用户标识

    也称为“直通”,是一种授权类型。在使用这种授权类型的情况下,登录到无服务器 SQL 池的 Microsoft Entra 用户的标识会用来授予对数据的访问权限。 在访问数据之前,Azure 存储管理员必须向访问数据的 Microsoft Entra 用户授予权限。 此授权类型使用登录到无服务器 SQL 池的 Microsoft Entra 用户,因此不受 SQL 用户类型的支持。

数据库用户支持的授权类型如下表所示:

授权类型 SQL 用户 Microsoft Entra 用户
用户标识 不支持 支持
SAS 支持 支持
托管标识 不支持 支持

支持的存储和授权类型如下表所示:

授权类型 Blob 存储 ADLS Gen1 ADLS Gen2
用户标识 支持 - SAS 令牌可用于访问不受防火墙保护的存储 不支持 支持 - SAS 令牌可用于访问不受防火墙保护的存储
SAS 支持 受支持 支持
托管标识 支持 受支持 支持