引用安全主体

Azure 数据资源管理器授权模型允许将 Microsoft Entra 用户和应用程序标识以及 Microsoft 帐户 (MSA) 用作安全主体。 本文概述了 Microsoft Entra ID 和 MSA 支持的主体类型,并演示如何在使用管理命令分配安全角色时正确引用这些主体。

Microsoft Entra ID

访问群集的建议方法是向 Microsoft Entra 服务进行身份验证。 Microsoft Entra ID 是一个标识提供者,能够对安全主体进行身份验证并与其他标识提供者(例如 Microsoft 的 Active Directory)进行协调。

Microsoft Entra ID 支持以下身份验证方案:

  • 用户身份验证(交互式登录):用于对人类主体进行身份验证。
  • 应用程序身份验证(非交互式登录):用于对必须在没有用户交互的情况下运行或进行身份验证的服务和应用程序进行身份验证。

注意

  • Microsoft Entra ID 不允许对服务帐户(根据定义,属于本地 AD 实体)进行身份验证。 AD 服务帐户的 Microsoft Entra 等效项是 Microsoft Entra 应用程序。
  • 仅支持安全组 (SG) 主体,不支持通讯组 (DG) 主体。 尝试为群集上的 DG 设置访问权限会导致错误。

引用 Microsoft Entra 主体和组

下表概述了用于引用 Microsoft Entra 用户和应用程序主体与组的语法。

假设你使用用户主体名称 (UPN) 引用某个用户主体,尝试从域名推断租户,并尝试查找该主体。 如果找不到该主体,则除了指定用户的 UPN 或对象 ID 外,还可以显式指定租户 ID 或名称。

同样,可以使用 UPN 格式的组电子邮件地址引用某个安全组,并尝试从域名推断租户。 如果找不到该组,则除了指定组显示名称或对象 ID 外,还可以显式指定租户 ID 或名称。

实体类型 Microsoft Entra 租户 语法
用户 隐式 aaduser=UPN
用户 显式 (ID) aaduser=UPN;TenantId

aaduser=ObjectID;TenantId
用户 显式(名称) aaduser=UPN;TenantName

aaduser=ObjectID;TenantName
隐式 aadgroup=GroupEmailAddress
显式 (ID) aadgroup=GroupDisplayName;TenantId

aadgroup=GroupObjectId;TenantId
显式(名称) aadgroup=GroupDisplayName;TenantName

aadgroup=GroupObjectId;TenantName
应用 显式 (ID) aadapp=ApplicationDisplayName;TenantId

aadapp=ApplicationId;TenantId
应用 显式(名称) aadapp=ApplicationDisplayName;TenantName

aadapp=ApplicationId;TenantName

注意

使用“应用”格式引用托管标识,其中 ApplicationId 是托管标识对象 ID 或托管标识客户端(应用程序)ID。

示例

以下示例使用用户 UPN 为主体定义在 Test 数据库上的用户角色。 未指定租户信息,因此群集将尝试使用 UPN 解析 Microsoft Entra 租户。

.add database Test users ('aaduser=imikeoein@fabrikam.com') 'Test user (AAD)'

以下示例使用组名称和租户名称将组分配到 Test 数据库上的用户角色。

.add database Test users ('aadgroup=SGDisplayName;fabrikam.com') 'Test group @fabrikam.com (AAD)'

以下示例使用应用 ID 和租户名称为应用分配 Test 数据库上的用户角色。

.add database Test users ('aadapp=4c7e82bd-6adb-46c3-b413-fdd44834c69b;fabrikam.com') 'Test app @fabrikam.com (AAD)'

Microsoft 帐户 (MSA)

支持 Microsoft 帐户 (MSA) 的用户身份验证。 MSA 是 Microsoft 管理的所有非组织用户帐户。 例如:hotmail.comlive.comoutlook.com

引用 MSA 主体

IdP 类型 语法
Live.com User msauser=UPN

示例

以下示例将 MSA 用户分配到 Test 数据库上的用户角色。

.add database Test users ('msauser=abbiatkins@live.com') 'Test user (live.com)'

以管理表的数据分区策略