配置动态成员身份
Microsoft Teams 通过使用动态成员资格支持与 Microsoft 365 组关联的团队。
可以使用动态成员身份通过一个或多个规则来定义团队成员,这些规则检查 Microsoft Entra ID 中的某些用户属性。 当用户属性发生变化或用户加入和离开租户时,系统会自动移除用户或将其添加到指定团队。 可能的应用场景包括:
- 医院可以为护士、医生和外科医生创建不同的团队来广播通信。 如果医院依赖临时员工,此功能尤其重要。
- 一个大学可以为大学内的所有教职员工(包括经常变动的临时教职员工)创建团队。
- 一家航空公司希望为经常变动的机组人员创建一个团队,其中的机组人员会根据需要自动分配或删除。
借助此功能,给定团队的成员将基于一组特定条件自动更新,而不是手动管理成员资格。
注意
使用动态组需要范围内任何用户的 Microsoft Entra ID P1 许可证。
动态成员资格更改在团队的 Microsoft 365 组中生效后,可能需要几分钟到 2 个小时才能反映出来。 对于团队中的动态组成员资格,必须考虑以下事项:
- 规则可定义团队的团队成员,但不能定义团队所有者。
- 所有者无法添加用户作为团队成员,也无法将其删除,因为成员由动态组规则定义。
- 成员无法离开由动态组支持的团队。
启用动态成员资格
若要在团队中启用动态成员身份,必须使用 Microsoft Entra 管理中心 或 PowerShell 修改基础 Microsoft 365 组成员身份规则。 如果修改成员资格,将不会更改对组的引用。 如果该组用于访问,由动态成员资格规则添加的每个成员都可以访问该组的资源。
目前无法直接创建具有动态成员资格的团队。 可以创建一个团队,然后更改关联的 Microsoft 365 组的成员资格规则,也可以创建具有动态用户成员资格类型的 Microsoft 365 组,然后从现有 Microsoft 365 组创建团队。
警告
将现有静态组更改为动态组时,将从该组中删除所有现有成员,然后处理成员资格规则以添加新成员。 如果该组用于控制对应用或资源的访问权限,请注意,在完全处理成员资格规则之前,原始成员可能会失去访问权限。 应事先测试新的成员资格规则,以确保该组中成员资格符合预期。
使用 Microsoft Entra 管理中心
执行以下步骤,将现有团队的组成员资格更改为基于规则的动态成员资格。
使用 Microsoft Entra 组织中的全局管理员、用户管理员或组管理员帐户登录到 Microsoft Entra 管理中心。
在左窗格菜单中,选择“组”。
从“所有组”列表中,打开要更改的组。
选择“属性”。 在所选组的“属性”页上,选择“动态用户的成员资格类型”。
选择“添加动态查询”,然后提供规则。
创建规则后,单击“保存”返回到“属性”页。
在该组的“属性”页上,选择“保存”以保存更改。 该组的成员资格类型将立即在组列表中更新。
使用 Microsoft Graph PowerShell
若要更改组的成员身份类型,请使用 Microsoft Graph PowerShell。
注意: Azure AD 和 MSOnline PowerShell 模块已计划弃用,并且已更改 PowerShell 命令以反映 Microsoft Graph PowerShell。
使用以下命令将组切换为动态成员资格:
Set-MgGroup -Id $groupId -GroupTypes $groupTypes.ToArray() -MembershipRuleProcessingState "On" -MembershipRule $dynamicMembershipRule
若要创建 $groupTypes
变量,必须获取现有组的组类型,并向其添加字符串“dynamicMembership”。
$groupTypes = (Get-MgGroup -Id $groupId).GroupTypes
$groupTypes.Add("DynamicMembership")
创建动态成员资格规则
可以从一个或多个表达式生成规则。 单个表达式的格式为属性+运算符+值。 例如:user.department -eq "Sales"
。 如果要向单个规则添加多个表达式,可以使用相同的运算符将它们组合在一起,并将每个表达式放在其圆括号中:
(user.department -eq "Sales") -and (user.department -eq "Marketing")
有三种类型的属性可用于构造成员资格规则。
Boolean
String
字符串集合
支持的运算符包括:
运算符 | 语法 |
---|---|
不等于 | -ne |
等于 | -eq |
开头不为 | -notStartsWith |
起始为 | startsWith |
不包含 | -notContains |
Contains | -contains |
不匹配 | -notMatch |
匹配 | -match |
位置 | -in |
不含于 | -notIn |
表达式中使用的值可能由多种类型组成,其中包括:
字符串
布尔值 – true、false
数字
数组 – 数字数组、字符串数组
在表达式中指定值时,必须使用正确的语法以避免错误。 一些语法提示包括:
除非值为字符串,否则双引号是可选的。
字符串和正则表达式操作不区分大小写。
当字符串值包含双引号时,应使用字符 (“) (例如,
user.department -eq "Sales"
当”Sales“为值时)对两个引号进行转义。你还可以执行 Null 检查,将 null 用作值,例如,
user.department -eq null
。
有关详细信息,请参阅 Microsoft Entra ID 中组的动态成员身份规则。