尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Azure Local离线模式身份规划(系列篇之三)

Azure Local离线模式身份规划(系列篇之三)
📅 发布时间:2026/7/4 19:55:30

1. 身份架构概述

Disconnected Operations不依赖 Microsoft Entra ID,而是在本地构建完整的身份认证体系。

整个身份系统由三个组件组成:

  • Active Directory Domain Services (AD DS):提供用户、组及组成员信息
  • Active Directory Federation Services (AD FS):提供 OpenID Connect(OIDC)身份认证
  • LDAP v3(推荐 LDAPS):负责同步用户组及成员信息

整个身份体系完全运行在本地数据中心,无需连接 Azure 公有云。


2. 支持的身份组件

组件用途说明
Active Directory Domain Services(AD DS)用户、组、组成员管理仅支持 Universal Group Scope
Active Directory Federation Services(AD FS)OIDC 身份认证必须能够访问https://<ADFS-FQDN>/adfsMetadata Endpoint
LDAP v3同步组与成员默认端口 3268(LDAP)或 3269(LDAPS),推荐使用 3269(SSL/TLS)

⚠️重要:当前 Azure Local Disconnected Operations不支持 Microsoft Entra ID(原 Azure Active Directory)作为身份提供程序。身份认证必须通过 AD FS + Active Directory 实现。


3. 身份认证流程

[用户登录] │ ▼ [Local Portal] │ ▼ OpenID Connect [AD FS] │ ▼ 用户身份认证 [返回 Access Token] │ ▼ [Appliance Control Plane] │ ▼ LDAP(每 6 小时同步) [Active Directory]

身份职责划分:

功能组件
用户认证AD FS(OIDC)
用户组同步LDAP
用户信息来源Active Directory
权限控制Azure RBAC

4. Root Operator 与权限模型

部署过程中必须指定一个 Root Operator(Initial Operator)。

Root Operator 自动拥有 Operator Subscription 权限,可继续创建其他 Operator。

其职责包括:

  • 创建 Operator
  • 创建订阅(Subscription)
  • 创建 Service Principal(SPN)
  • 管理 Identity 配置
  • 管理诊断与日志
  • 管理 RBAC

微软官方特别说明:"Role assignments and policies aren't inherited from the Operator Subscription to individual subscriptions. Each subscription has its own RBAC scope."

因此:每个 Subscription 都拥有独立的 RBAC 权限边界,权限不会自动继承。


5. Operator 权限

5.1 身份管理

操作Operator
创建 Operator✅
创建 SPN✅
删除 SPN✅
修改 SPN✅
查询 SPN✅
查看同步后的组成员✅
查看 Identity 配置✅
查看同步状态✅

5.2 Subscription 管理

操作Operator
创建 Alias✅
删除 Alias✅
创建 Subscription✅
删除 Subscription✅
查询 Subscription✅
修改 Subscription Owner✅
重命名 Subscription✅
Resume Subscription✅

5.3 运维与诊断

操作Operator
收集日志✅
下载日志✅
配置 Diagnostics✅
配置 Syslog Forwarding✅

5.4 权限限制

以下操作不允许:

  • ❌ 删除 Operator Subscription
  • ❌ Operator 自动继承所有 Subscription 权限

需要注意:SPN Owner 可以删除自己拥有的 SPN——这是独立于 Operator 的权限模型。


6. Identity 同步机制

部署完成后:

  1. 首次完成身份同步
  2. 后续默认每 6 小时自动同步一次

同步内容包括:

  • 用户组
  • 用户成员关系
  • Group Membership

同步状态可通过 Operator API 查询:

Get-ApplianceExternalIdentityObservability

7. 部署前需要准备的身份参数

参数说明示例
AuthorityOIDC Metadata URIhttps://adfs.contoso.com/adfs
ClientIdAD FS 注册应用 IDxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
LDAP CredentialLDAP 只读账户ldap / ******
LDAPS Certificate ChainLDAPS 证书链见 PKI 章节
OIDC Certificate ChainAD FS 证书链见 PKI 章节
LDAP ServerLDAP Server FQDNldap.contoso.com
LDAP PortLDAP 端口3269(推荐)
Root Operator UPN初始 Operatoroperator@contoso.com
Sync Group IdentifierRoot Group GUIDxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Automation Certificate自动化部署证书(可选)PowerShell 创建

8. Identity 配置示例

$ldapPass = 'retracted' | ConvertTo-SecureString -AsPlainText -Force $idpConfig = @{ authority = 'https://adfs.contoso.com/adfs' clientId = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' rootOperatorUserPrincipalName = 'operator@contoso.com' ldapServer = 'ldap.contoso.com' ldapCredential = New-Object PSCredential("ldap", $ldapPass) syncGroupIdentifier = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' }

9. 自动化部署(Automation Certificate)

如果希望整个部署流程无人值守,可配置 Automation Certificate。

Azure CLI 示例:

az login \ --service-principal \ --username <ApplicationId> \ --certificate <CertificatePath> \ --tenant <TenantId>

PowerShell 示例:

Connect-AzAccount ` -ServicePrincipal ` -CertificateThumbprint $CertThumbprint ` -Tenant $TenantId ` -ApplicationId $ApplicationId

⚠️重要:Automation Certificate等同于部署环境的最高权限凭据。如果证书永久丢失,将无法继续自动化管理,严重情况下可能需要重新部署 Disconnected Operations。

建议:

  • 使用企业 PKI 签发
  • 离线备份
  • 妥善保管私钥

10. 部署前 Identity 检查清单

检查项是否必须
LDAP Server 已部署✅
LDAP Endpoint 可访问✅
AD FS 已部署✅
OIDC Metadata 可访问✅
Appliance 能解析 LDAP FQDN✅
Appliance 能解析 AD FS FQDN✅
LDAP 只读账户已创建✅
已确定 Root Operator✅
已确定同步 Root Group✅
已准备所有 Identity 参数✅

11. 官方未明确说明但需要注意的事项

微软官方文档未明确说明以下内容:

  • AD FS 的最低版本要求(通常建议 Windows Server 2019 或更新版本)
  • 是否支持 LDAP StartTLS(官方仅说明 LDAP/LDAPS,推荐使用 LDAPS 3269)
  • Operator 数量是否存在上限
  • Operator Subscription 是否涉及独立授权或计费
  • Universal Group Scope 的设计原因(官方仅要求必须使用 Universal Group,未进一步解释)

相关新闻

  • 质量门脚本:用Python给AI输出加上自动质检(附完整源码)
  • ClaudeMax实战压测:什么场景下它才不可替代?
  • JVM是什么?

最新新闻

  • FluidNet边界条件处理:复杂几何体流体交互的技术挑战
  • 归藏提示词库复古滤镜应用:诺基亚手机照片滤镜的现代创意用法终极指南
  • 如何用WeChatMsg永久保存微信聊天记录:终极免费解决方案
  • autopprof社区贡献指南:如何参与开源项目开发
  • 三步让模糊视频变高清:Video2X AI视频增强全攻略
  • ofa.js 插槽系统:灵活的内容分发机制完全指南

日新闻

  • STM32F745VG与MC6470 IMU的高性能姿态控制系统设计
  • 机器不消费,人何以生存
  • AI项目操作手册编写规范与最佳实践

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号