diff --git a/src/pentesting-cloud/azure-security/az-basic-information/README.md b/src/pentesting-cloud/azure-security/az-basic-information/README.md
index 9bf418b40..5191e9a2f 100644
--- a/src/pentesting-cloud/azure-security/az-basic-information/README.md
+++ b/src/pentesting-cloud/azure-security/az-basic-information/README.md
@@ -9,12 +9,12 @@
### 管理组
- 它可以包含**其他管理组或订阅**。
-- 这允许在管理组级别**应用治理控制**,如RBAC和Azure Policy,并让所有组内的订阅**继承**这些控制。
+- 这允许在管理组级别**应用治理控制**,如RBAC和Azure Policy,并使其**继承**到组内的所有订阅。
- **单个目录**最多可以支持**10,000个管理组**。
- 管理组树可以支持**最多六个层级的深度**。此限制不包括根级别或订阅级别。
- 每个管理组和订阅只能支持**一个父级**。
- 即使可以创建多个管理组,**只有1个根管理组**。
-- 根管理组**包含**所有**其他管理组和订阅**,并且**不能被移动或删除**。
+- 根管理组**包含**所有**其他管理组和订阅**,并且**无法移动或删除**。
- 单个管理组内的所有订阅必须信任**相同的Entra ID租户**。
.png)
https://td-mainsite-cdn.tutorialsdojo.com/wp-content/uploads/2023/02/managementgroups-768x474.png
@@ -42,7 +42,7 @@ Azure 资源 ID 的格式如下:
- `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}`
-对于在订阅 ID `12345678-1234-1234-1234-123456789012` 下的资源组 `myResourceGroup` 中名为 myVM 的虚拟机,Azure 资源 ID 看起来像这样:
+对于在资源组`myResourceGroup`下,订阅 ID 为`12345678-1234-1234-1234-123456789012`的名为 myVM 的虚拟机,Azure 资源 ID 看起来像这样:
- `/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM`
@@ -108,7 +108,7 @@ Entra 域服务通过提供**与传统 Windows Active Directory 环境兼容的
- **访客用户对目录对象的属性和成员资格的访问有限(默认)**。这限制了访客访问仅限于他们自己的用户资料。对其他用户和组信息的访问不再允许。
- **访客用户访问限制为仅限于他们自己目录对象的属性和成员资格**是最严格的。
- **访客可以邀请**选项:
-- **组织中的任何人都可以邀请访客用户,包括访客和非管理员(最包容) - 默认**
+- **组织中的任何人都可以邀请访客用户,包括访客和非管理员(最具包容性) - 默认**
- **成员用户和分配给特定管理员角色的用户可以邀请访客用户,包括具有成员权限的访客**
- **只有分配给特定管理员角色的用户可以邀请访客用户**
- **组织中的任何人都不能邀请访客用户,包括管理员(最严格)**
@@ -133,7 +133,7 @@ Entra 域服务通过提供**与传统 Windows Active Directory 环境兼容的
### **服务主体**
-**服务主体**是为**应用程序**、托管服务和自动化工具创建的**身份**,用于访问 Azure 资源。此访问权限由分配给服务主体的角色**限制**,使您能够控制**可以访问哪些资源**以及访问的级别。出于安全原因,始终建议**使用服务主体与自动化工具**,而不是允许它们使用用户身份登录。
+**服务主体**是为**应用程序**、托管服务和自动化工具访问 Azure 资源而创建的**身份**。此访问权限由分配给服务主体的角色**限制**,使您能够控制**可以访问哪些资源**以及访问的级别。出于安全原因,始终建议**使用服务主体与自动化工具**,而不是允许它们使用用户身份登录。
可以通过生成**密钥**(密码)、**证书**或授予对第三方平台(例如 GitHub Actions)的**联合**访问来**直接以服务主体身份登录**。
@@ -146,13 +146,13 @@ Entra 域服务通过提供**与传统 Windows Active Directory 环境兼容的
#### 关键组件:
-1. **应用程序 ID(客户端 ID):** 您的应用在 Azure AD 中的唯一标识符。
+1. **应用程序 ID(客户端 ID):** Azure AD 中应用程序的唯一标识符。
2. **重定向 URI:** Azure AD 发送身份验证响应的 URL。
3. **证书、密钥和联合凭据:** 可以生成密钥或证书以作为应用程序的服务主体登录,或授予对其的联合访问(例如 GitHub Actions)。
1. 如果生成了**证书**或**密钥**,则可以通过知道**应用程序 ID**、**密钥**或**证书**以及**租户**(域或 ID)来**以服务主体身份登录**。
-4. **API 权限:** 指定应用可以访问的资源或 API。
-5. **身份验证设置:** 定义应用支持的身份验证流程(例如,OAuth2、OpenID Connect)。
-6. **服务主体**:创建应用时会创建服务主体(如果是从网络控制台创建)或在新租户中安装时。
+4. **API 权限:** 指定应用程序可以访问的资源或 API。
+5. **身份验证设置:** 定义应用程序支持的身份验证流程(例如,OAuth2、OpenID Connect)。
+6. **服务主体**:创建应用程序时会创建服务主体(如果是从 Web 控制台创建)或在新租户中安装时创建。
1. **服务主体**将获得其配置的所有请求权限。
### 默认同意权限
@@ -161,11 +161,11 @@ Entra 域服务通过提供**与传统 Windows Active Directory 环境兼容的
- **不允许用户同意**
- 所有应用程序都需要管理员批准。
-- **允许用户对来自经过验证的发布者的应用程序进行同意,仅限于选定的权限(推荐)**
+- **允许用户对来自经过验证的发布者的应用程序进行同意,针对选定的权限(推荐)**
- 所有用户可以对被分类为“低影响”的权限进行同意,适用于来自经过验证的发布者或在此组织中注册的应用程序。
- **默认**低影响权限(尽管您需要接受将其添加为低影响):
- User.Read - 登录并读取用户资料
-- offline_access - 保持对用户已授予访问权限的数据的访问
+- offline_access - 维护对用户已授予访问权限的数据的访问
- openid - 登录用户
- profile - 查看用户的基本资料
- email - 查看用户的电子邮件地址
@@ -187,7 +187,7 @@ Azure Active Directory 中的托管身份提供了一种**自动管理应用程
- **系统分配**。某些 Azure 服务允许您**直接在服务实例上启用托管身份**。当您启用系统分配的托管身份时,会在资源所在的订阅中创建一个**服务主体**。当**资源**被**删除**时,Azure 会自动为您**删除**该**身份**。
- **用户分配**。用户也可以生成托管身份。这些身份是在订阅内的资源组中创建的,并且将在 EntraID 中创建一个服务主体。然后,您可以将托管身份分配给一个或**多个 Azure 服务实例**(多个资源)。对于用户分配的托管身份,**身份与使用它的资源是分开管理的**。
-托管身份**不会生成永久凭据**(如密码或证书)以访问与其附加的服务主体。
+托管身份**不会生成永久凭据**(如密码或证书)以访问与其关联的服务主体。
### 企业应用程序
@@ -212,40 +212,34 @@ Azure Active Directory 中的托管身份提供了一种**自动管理应用程
- 将“用户管理员”角色授予区域 IT 员工,范围限制在其区域的 AU。
- 结果:区域 IT 管理员可以管理其区域内的用户帐户,而不影响其他区域。
-### Entra ID 角色
+### Entra ID 角色和权限
- 为了管理 Entra ID,有一些**内置角色**可以分配给 Entra ID 主体以管理 Entra ID
- 在 [https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference](https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference) 中查看角色
+- EntraID 标记为**`PRIVILEGED`**的角色应谨慎分配,因为正如微软在文档中所解释的那样 [在文档中](https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference):特权角色分配如果不以安全和预期的方式使用,可能会导致权限提升。
- 权限最高的角色是**全局管理员**
-- 在角色描述中可以看到其**细粒度权限**
+- 角色组**细化权限**,可以在其描述中找到。
+- 可以**创建自定义角色**,以获得所需的权限。尽管由于某种原因,并非所有细化权限都可供管理员创建自定义角色。
+- Entra ID 中的角色与 Azure 中的角色完全**独立**。唯一的关系是,具有 Entra ID 中**全局管理员**角色的主体可以提升为 Azure 中的**用户访问管理员**角色。
+- 在 Entra ID 角色中**不可能使用通配符**。
-## 角色与权限
+## Azure 角色和权限
-**角色**是**分配**给**主体**的**范围**:`principal -[HAS ROLE]->(scope)`
-
-**分配给组的角色**会被组内的所有**成员继承**。
-
-根据角色分配的范围,**角色**可能会**继承**到范围容器内的**其他资源**。例如,如果用户 A 在订阅上有一个**角色**,他将在订阅内的所有资源组和资源组内的**所有资源**上拥有该**角色**。
-
-### 经典角色
-
-| **所有者** |
- 对所有资源具有完全访问权限
- 可以管理其他用户的访问权限
| 所有资源类型 |
-| ----------------------------- | ---------------------------------------------------------------------------------------- | ------------------ |
-| **贡献者** | | 所有资源类型 |
-| **读取者** | • 查看所有资源 | 所有资源类型 |
-| **用户访问管理员** | | 所有资源类型 |
+- **角色**是**分配**给**主体**的,具有**范围**:`principal -[HAS ROLE]->(scope)`
+- **分配给组的角色**会被组内的所有**成员**继承。
+- 根据角色分配的范围,**角色**可能会**继承**到范围容器内的**其他资源**。例如,如果用户 A 在订阅上具有**角色**,他将在订阅内的所有资源组和资源组内的**所有资源**上拥有该**角色**。
### 内置角色
-[来自文档: ](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles)[Azure 基于角色的访问控制(Azure RBAC)](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview) 有几个 Azure **内置角色**,您可以将其**分配**给**用户、组、服务主体和托管身份**。角色分配是您控制**对 Azure 资源的访问**的方式。如果内置角色不满足您组织的特定需求,您可以创建自己的 [**Azure 自定义角色**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles)**。**
+[来自文档:](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles)[Azure 基于角色的访问控制(Azure RBAC)](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview) 有几个 Azure **内置角色**,您可以将其**分配**给**用户、组、服务主体和托管身份**。角色分配是您控制**对 Azure 资源的访问**的方式。如果内置角色不满足您组织的特定需求,您可以创建自己的 [**Azure 自定义角色**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles)。
-**内置**角色仅适用于**它们所针对的资源**,例如检查这两个**内置角色**在计算资源上的示例:
+**内置**角色仅适用于**它们所针对的资源**,例如检查这两个关于**计算**资源的**内置角色**示例:
-| [磁盘备份读取者](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#disk-backup-reader) | 提供备份库执行磁盘备份的权限。 | 3e5e47e6-65f7-47ef-90b5-e5dd4d455f24 |
+| [磁盘备份读取器](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#disk-backup-reader) | 提供备份库执行磁盘备份的权限。 | 3e5e47e6-65f7-47ef-90b5-e5dd4d455f24 |
| ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------ |
-| [虚拟机用户登录](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-user-login) | 在门户中查看虚拟机并以普通用户身份登录。 | fb879df8-f326-4884-b1cf-06f3ad86be52 |
+| [虚拟机用户登录](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-user-login) | 在门户中查看虚拟机并以常规用户身份登录。 | fb879df8-f326-4884-b1cf-06f3ad86be52 |
-这些角色也可以**分配给逻辑容器**(如管理组、订阅和资源组),受影响的主体将在这些容器内的资源上拥有它们。
+这些角色也可以**分配给逻辑容器**(如管理组、订阅和资源组),受影响的主体将在**这些容器内的资源上**拥有它们。
- 在这里找到 [**所有 Azure 内置角色**](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles) 的列表。
- 在这里找到 [**所有 Entra ID 内置角色**](https://learn.microsoft.com/en-us/azure/active-directory/roles/permissions-reference) 的列表。
@@ -254,14 +248,14 @@ Azure Active Directory 中的托管身份提供了一种**自动管理应用程
- 也可以创建 [**自定义角色**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles)
- 它们是在一个范围内创建的,尽管一个角色可以在多个范围内(管理组、订阅和资源组)
-- 可以配置自定义角色将具有的所有细粒度权限
+- 可以配置自定义角色将具有的所有细化权限
- 可以排除权限
-- 拥有被排除权限的主体即使在其他地方授予权限也无法使用该权限
+- 拥有排除权限的主体即使在其他地方授予权限也无法使用该权限
- 可以使用通配符
- 使用的格式是 JSON
- `actions` 指的是对资源进行管理操作的权限,例如创建、更新或删除资源定义和设置。
- `dataActions` 是对资源内数据操作的权限,允许您读取、写入或删除资源中包含的实际数据。
-- `notActions` 和 `notDataActions` 用于从角色中排除特定权限。但是,**它们并不拒绝这些权限**,如果其他角色授予它们,主体将拥有这些权限。
+- `notActions` 和 `notDataActions` 用于从角色中排除特定权限。但是,**它们不会拒绝这些权限**,如果其他角色授予它们,主体将拥有这些权限。
- `assignableScopes` 是可以分配角色的范围数组(如管理组、订阅或资源组)。
自定义角色的权限 JSON 示例:
@@ -296,16 +290,16 @@ Azure Active Directory 中的托管身份提供了一种**自动管理应用程
```
### 权限顺序
-- 为了让一个 **主体对资源有某些访问权限**,他需要被授予一个明确的角色(以任何方式)**授予他该权限**。
+- 为了让一个 **主体对资源有某种访问权限**,他需要被授予一个明确的角色(以任何方式)**授予他该权限**。
- 明确的 **拒绝分配优先于** 授予权限的角色。
.png)
https://link.springer.com/chapter/10.1007/978-1-4842-7325-8_10
### 全局管理员
-全局管理员是 Entra ID 的一个角色,授予 **对 Entra ID 租户的完全控制**。然而,默认情况下,它并不授予对 Azure 资源的任何权限。
+全局管理员是 Entra ID 的一个角色,授予 **对 Entra ID 租户的完全控制**。然而,它默认不授予对 Azure 资源的任何权限。
-拥有全局管理员角色的用户可以在根管理组中 **“提升”到用户访问管理员 Azure 角色**。因此,全局管理员可以管理 **所有 Azure 订阅和管理组的访问**。\
+拥有全局管理员角色的用户可以在根管理组中 '**提升' 为用户访问管理员 Azure 角色**。因此,全局管理员可以管理 **所有 Azure 订阅和管理组的访问**。\
此提升可以在页面底部完成:[https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/\~/Properties](https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/Properties)
@@ -318,7 +312,7 @@ Azure Active Directory 中的托管身份提供了一种**自动管理应用程
与角色分配一样,**拒绝分配** 用于 **控制对 Azure 资源的访问**。然而,**拒绝分配** 用于 **明确拒绝对资源的访问**,即使用户通过角色分配获得了访问权限。**拒绝分配** 优先于 **角色分配**,这意味着如果用户通过角色分配获得了访问权限,但也通过拒绝分配被明确拒绝访问,则拒绝分配将优先。
-与角色分配一样,**拒绝分配** 应用于某个范围,指示受影响的主体和被拒绝的权限。此外,在拒绝分配的情况下,可以 **防止拒绝被子资源继承**。
+与角色分配一样,**拒绝分配** 适用于某个范围,指示受影响的主体和被拒绝的权限。此外,在拒绝分配的情况下,可以 **防止拒绝被子资源继承**。
### Azure 策略
@@ -335,7 +329,7 @@ Azure 策略是 **主动的**:它们可以阻止不合规资源的创建或更
**一些示例:**
-1. **确保符合特定 Azure 区域的合规性**:此策略确保所有资源在特定 Azure 区域中部署。例如,一家公司可能希望确保其所有数据都存储在欧洲以符合 GDPR。
+1. **确保符合特定 Azure 区域的合规性**:此策略确保所有资源在特定 Azure 区域部署。例如,一家公司可能希望确保其所有数据存储在欧洲以符合 GDPR。
2. **强制命名标准**:策略可以强制 Azure 资源的命名约定。这有助于根据名称组织和轻松识别资源,这在大型环境中非常有用。
3. **限制某些资源类型**:此策略可以限制某些类型资源的创建。例如,可以设置策略以防止创建某些 VM 大小等昂贵资源类型,以控制成本。
4. **强制标签策略**:标签是与 Azure 资源关联的键值对,用于资源管理。策略可以强制要求所有资源必须存在某些标签,或具有特定值。这对于成本跟踪、所有权或资源分类非常有用。
@@ -375,10 +369,10 @@ Azure 策略 JSON 示例:
**RBAC**(基于角色的访问控制)是我们在前面的部分中已经看到的内容:**将角色分配给主体以授予其对资源的访问权限**。\
然而,在某些情况下,您可能希望提供 **更细粒度的访问管理** 或 **简化** **数百个** 角色 **分配** 的管理。
-Azure **ABAC**(基于属性的访问控制)在 Azure RBAC 的基础上,通过在特定操作的上下文中添加 **基于属性的角色分配条件** 来构建。_角色分配条件_ 是您可以选择性地添加到角色分配中的 **额外检查**,以提供更细粒度的访问控制。条件过滤掉作为角色定义和角色分配一部分授予的权限。例如,您可以 **添加一个条件,要求对象具有特定标签才能读取该对象**。\
-您 **不能** 明确 **拒绝** **使用条件** 对特定资源的 **访问**。
+Azure **ABAC**(基于属性的访问控制)在 Azure RBAC 的基础上,通过在特定操作的上下文中添加 **基于属性的角色分配条件** 来构建。_角色分配条件_ 是您可以选择性地添加到角色分配中的 **额外检查**,以提供更细粒度的访问控制。条件过滤作为角色定义和角色分配的一部分授予的权限。例如,您可以 **添加一个条件,要求对象具有特定标签才能读取该对象**。\
+您 **不能** 明确 **拒绝** **对特定资源的访问** **使用条件**。
-## 参考
+## 参考文献
- [https://learn.microsoft.com/en-us/azure/governance/management-groups/overview](https://learn.microsoft.com/en-us/azure/governance/management-groups/overview)
- [https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/organize-subscriptions](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/organize-subscriptions)
diff --git a/src/pentesting-cloud/azure-security/az-services/az-azuread.md b/src/pentesting-cloud/azure-security/az-services/az-azuread.md
index 1cf1a107a..9d09d0113 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-azuread.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-azuread.md
@@ -4,7 +4,7 @@
## 基本信息
-Azure Active Directory (Azure AD) 是微软基于云的身份和访问管理服务。它在使员工能够登录并访问资源方面发挥着重要作用,这些资源包括组织内部和外部的 Microsoft 365、Azure 门户以及众多其他 SaaS 应用程序。Azure AD 的设计重点在于提供基本的身份服务,尤其包括 **身份验证、授权和用户管理**。
+Azure Active Directory (Azure AD) 是微软的基于云的身份和访问管理服务。它在使员工能够登录并访问资源方面发挥着重要作用,这些资源包括组织内部和外部的 Microsoft 365、Azure 门户以及众多其他 SaaS 应用程序。Azure AD 的设计重点在于提供基本的身份服务,尤其包括 **身份验证、授权和用户管理**。
Azure AD 的关键特性包括 **多因素身份验证** 和 **条件访问**,以及与其他 Microsoft 安全服务的无缝集成。这些特性显著提升了用户身份的安全性,并使组织能够有效实施和执行其访问政策。作为微软云服务生态系统的基本组成部分,Azure AD 对于基于云的用户身份管理至关重要。
@@ -365,7 +365,7 @@ $password = "ThisIsTheNewPassword.!123" | ConvertTo- SecureString -AsPlainText
```
### MFA & Conditional Access Policies
-强烈建议为每个用户添加 MFA,然而,一些公司可能不会设置它,或者可能会通过条件访问进行设置:用户在特定位置、浏览器或 **某些条件** 下登录时将 **需要 MFA**。如果这些策略配置不正确,可能会容易受到 **绕过**。请检查:
+强烈建议为每个用户添加 MFA,然而,一些公司可能不会设置它,或者可能会通过条件访问进行设置:用户将被 **要求 MFA 如果** 从特定位置、浏览器或 **某些条件** 登录。如果这些策略配置不正确,可能会容易受到 **绕过**。检查:
{{#ref}}
../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md
@@ -482,7 +482,7 @@ Get-AzureADGroup -ObjectId | Get-AzureADGroupAppRoleAssignment | fl *
#### 将用户添加到组
-组的拥有者可以将新用户添加到组中
+组的所有者可以将新用户添加到组中
```bash
Add-AzureADGroupMember -ObjectId -RefObjectId -Verbose
```
@@ -735,6 +735,13 @@ az ad app owner list --id --query "[].[displayName]" -o table
az ad app list --show-mine
# Get apps with generated secret or certificate
az ad app list --query '[?length(keyCredentials) > `0` || length(passwordCredentials) > `0`].[displayName, appId, keyCredentials, passwordCredentials]' -o json
+# Get Global Administrators (full access over apps)
+az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/1b2256f9-46c1-4fc2-a125-5b2f51bb43b7/members"
+# Get Application Administrators (full access over apps)
+az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/1e92c3b7-2363-4826-93a6-7f7a5b53e7f9/members"
+# Get Cloud Applications Administrators (full access over apps)
+az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/0d601d27-7b9c-476f-8134-8e7cd6744f02/members"
+
```
{{#endtab }}
@@ -792,7 +799,7 @@ Get-AzureADApplication -ObjectId | Get-AzureADApplicationOwner |fl *
> 应用在请求令牌时用来证明其身份的秘密字符串是应用密码。\
> 因此,如果找到这个 **密码**,你可以作为 **服务主体** **访问** **租户**。\
> 请注意,这个密码仅在生成时可见(你可以更改它,但无法再次获取)。\
-> **应用** 的 **所有者** 可以 **添加密码**(以便他可以冒充它)。\
+> **应用程序** 的 **所有者** 可以 **添加密码**(以便他可以冒充它)。\
> 作为这些服务主体的登录 **不会被标记为风险**,并且 **不会有 MFA**。
可以在 [https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications](https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications) 找到属于 Microsoft 的常用应用 ID 列表。
@@ -980,7 +987,7 @@ Get-AzureADMSRoleDefinition | ?{$_.IsBuiltin -eq $False} | select DisplayName
# 被分配角色的用户(全局管理员)
Get-AzureADDirectoryRole -Filter "DisplayName eq 'Global Administrator'" | Get-AzureADDirectoryRoleMember
Get-AzureADDirectoryRole -ObjectId | fl
-# 行政单位的角色(谁对行政单位及其成员拥有权限)
+# 管理单位的角色(谁对管理单位及其成员拥有权限)
Get-AzureADMSScopedRoleMembership -Id | fl *
```
@@ -993,7 +1000,7 @@ Get-AzureADMSScopedRoleMembership -Id | fl *
{{#tab name="az cli" }}
```bash
-# 如果你知道如何做到这一点,请发送 PR!
+# 如果你知道如何做到这一点,请发送一个 PR!
```
{{#endtab }}