diff --git a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md index f9cbac36a..19c0037ce 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md +++ b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md @@ -11,12 +11,13 @@ Azure Service Bus 是一个基于云的 **消息服务**,旨在实现 **应用 1. **Namespaces:** 消息系统中的命名空间是一个逻辑容器,用于组织和管理消息组件、队列和主题。它提供一个隔离的环境,应用程序可以在其中发送、接收和处理消息。队列和主题在 Service Bus 命名空间内共享相同的基础设施和配置,但它们独立操作而不相互交互。 2. **Queues:** 其目的是存储消息,直到接收者准备好。 - 消息是有序的、带时间戳的,并且持久存储。 -- 以拉取模式(按需检索)交付。 +- 以拉取模式(按需检索)交付给一个消费者。 +- 可以配置为在消息共享时自动删除,或在“Peek lock”模式下,消费者需要确认可以删除。如果没有确认,消息将返回队列。 - 支持点对点通信。 -3. **Topics:** 发布-订阅消息,用于广播。 +3. **Topics:** 发布-订阅消息用于广播。 - 多个独立的订阅接收消息的副本。 +- 每个订阅就像主题内部的一个队列。 - 订阅可以有规则/过滤器来控制交付或添加元数据。 -- 支持多对多通信。 服务总线端点/连接字符串是: ```bash @@ -28,15 +29,22 @@ https://.servicebus.windows.net:443/ - **消息会话**:确保FIFO处理并支持请求-响应模式。 - **自动转发**:在同一命名空间内在队列或主题之间转移消息。 -- **死信处理**:捕获无法送达的消息以供审查。 -- **定时交付**:延迟消息处理以进行未来任务。 +- **死信处理**:捕获无法投递的消息以供审查。 +- **定时投递**:延迟消息处理以进行未来任务。 - **消息延迟**:推迟消息检索直到准备好。 - **事务**:将操作分组为原子执行。 - **过滤器和操作**:应用规则以过滤或注释消息。 -- **空闲时自动删除**:在不活动后删除队列(最小:5分钟)。 -- **重复检测**:在重发期间删除重复消息。 +- **空闲自动删除**:在不活动后删除队列(最小:5分钟)。 +- **重复检测**:在重发期间移除重复消息。 - **批量删除**:批量删除过期或不必要的消息。 +### 本地身份验证 + +**`--disable-local-auth`** az cli 参数用于控制是否为您的 Service Bus 命名空间启用 **本地身份验证**(允许使用共享访问签名(SAS)密钥)。 + +- 当 disable 设置为 **true**:禁用使用 SAS 密钥的本地身份验证,允许使用 Entra ID 身份验证。 +- 当 disable 设置为 **false(默认)**:同时提供 SAS 本地身份验证和 Entra ID 身份验证,您可以使用包含 SAS 密钥的连接字符串访问您的 Service Bus 资源。 + ### 授权规则 / SAS 策略 SAS 策略定义了 Azure Service Bus 实体命名空间(最重要的一个)、队列和主题的访问权限。每个策略具有以下组件: @@ -45,19 +53,12 @@ SAS 策略定义了 Azure Service Bus 实体命名空间(最重要的一个) - 管理:授予对实体的完全控制,包括配置和权限管理。 - 发送:允许向实体发送消息。 - 监听:允许从实体接收消息。 -- **主密钥和次密钥**:这些是用于生成安全令牌以进行访问身份验证的加密密钥。 +- **主密钥和次密钥**:这些是用于生成安全令牌以进行身份验证访问的加密密钥。 - **主连接字符串和次连接字符串**:预配置的连接字符串,包括端点和密钥,便于在应用程序中使用。 - **SAS 策略 ARM ID**:用于程序识别的策略的 Azure 资源管理器(ARM)路径。 需要注意的是,一个命名空间只有一个 SAS 策略,这会影响其中的每个实体,而队列和主题可以拥有各自的单独 SAS 策略,以便进行更细粒度的控制。 -### "--disable-local-auth" - ---disable-local-auth 参数用于控制是否为您的 Service Bus 命名空间启用本地身份验证(即使用共享访问签名(SAS)密钥)。以下是您需要了解的内容: - -- 设置为 true 时:禁用使用 SAS 密钥的本地身份验证,并允许 Azure Active Directory(Azure AD)身份验证。 -- 设置为 false 时:本地(SAS)身份验证和 Azure AD 身份验证均可用,您可以使用包含 SAS 密钥的连接字符串访问您的 Service Bus 资源。 - ### 枚举 {{#tabs }} @@ -142,7 +143,6 @@ Get-AzServiceBusTopic -ResourceGroupName -NamespaceName