Azure AD 基础 #
什么是 Azure Active Directory? #
Azure Active Directory (Azure AD) 是微软提供的云端身份和访问管理服务。
text
┌─────────────────────────────────────────────────────────────┐
│ Azure AD 概览 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 核心功能 │
│ ├── 身份管理:用户、组、外部用户 │
│ ├── 身份验证:登录、MFA │
│ ├── 访问控制:RBAC、条件访问 │
│ ├── 应用集成:SSO、企业应用 │
│ └── 安全监控:身份保护、审计日志 │
│ │
│ 与 AD DS 对比 │
│ ├── Azure AD: 云原生、REST API、SAML/OAuth │
│ └── AD DS: 本地、LDAP、Kerberos │
│ │
│ 版本 │
│ ├── 免费: 基础功能 │
│ ├── P1: 条件访问、自助密码重置 │
│ └── P2: 身份保护、PIM │
│ │
└─────────────────────────────────────────────────────────────┘
用户管理 #
创建用户 #
bash
# 创建用户
az ad user create \
--display-name "John Doe" \
--user-principal-name john.doe@mycompany.onmicrosoft.com \
--password "P@ssw0rd123!" \
--force-change-password-next-login true
# 查看用户
az ad user show --id john.doe@mycompany.onmicrosoft.com
# 列出所有用户
az ad user list --output table
用户属性 #
text
┌─────────────────────────────────────────────────────────────┐
│ 用户属性 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 基本信息 │
│ ├── 显示名称 │
│ ├── 用户主体名称 (UPN) │
│ ├── 邮件 │
│ ├── 职位 │
│ └── 部门 │
│ │
│ 联系信息 │
│ ├── 电话号码 │
│ ├── 办公室位置 │
│ └── 街道地址 │
│ │
│ 设置 │
│ ├── 帐户状态 │
│ ├── 使用位置 │
│ └── 密码策略 │
│ │
└─────────────────────────────────────────────────────────────┘
组管理 #
创建组 #
bash
# 创建安全组
az ad group create \
--display-name "IT Team" \
--mail-nickname "ITTeam"
# 添加成员到组
az ad group member add \
--group "IT Team" \
--member-id <user-object-id>
# 查看组成员
az ad group member list \
--group "IT Team" \
--output table
组类型 #
text
┌─────────────────────────────────────────────────────────────┐
│ 组类型 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 安全组 │
│ ├── 用于权限分配 │
│ ├── 支持 Azure AD 角色 │
│ └── 可用于条件访问 │
│ │
│ Microsoft 365 组 │
│ ├── 协作功能 │
│ ├── 共享邮箱、日历 │
│ ├── SharePoint 站点 │
│ └── Teams 集成 │
│ │
│ 动态组 │
│ ├── 基于规则自动添加成员 │
│ ├── 需要高级 P1 许可证 │
│ └── 示例: 部门=IT 自动加入 IT 组 │
│ │
└─────────────────────────────────────────────────────────────┘
动态组规则 #
text
// 示例动态组规则
// 所有 IT 部门用户
(user.department -eq "IT")
// 所有经理
(user.jobTitle -contains "Manager")
// 所有上海办公室用户
(user.physicalDeliveryOfficeName -eq "Shanghai")
// 复合规则
(user.department -eq "IT" -and user.country -eq "China")
企业应用 #
添加企业应用 #
bash
# 列出可用的应用模板
az ad app template list --output table
# 从模板创建应用
az ad app create --template-id <template-id> --display-name "My App"
# 添加企业应用
az ad sp create --id <app-id>
单点登录 (SSO) #
text
┌─────────────────────────────────────────────────────────────┐
│ SSO 协议 │
├─────────────────────────────────────────────────────────────┤
│ │
│ SAML │
│ ├── 广泛支持 │
│ ├── 基于 XML │
│ └── 适合传统企业应用 │
│ │
│ OAuth 2.0 / OpenID Connect │
│ ├── 现代协议 │
│ ├── 基于 JSON │
│ └── 适合现代 Web 和移动应用 │
│ │
│ 密码 SSO │
│ ├── 表单填充 │
│ ├── 无需协议支持 │
│ └── 适合旧应用 │
│ │
│ 链接 SSO │
│ ├── 仅链接到应用 │
│ └── 最简单方式 │
│ │
└─────────────────────────────────────────────────────────────┘
应用注册 #
注册应用 #
bash
# 注册应用
az ad app create \
--display-name "My API" \
--identifier-uris "api://myapi"
# 创建服务主体
az ad sp create --id <app-id>
# 添加 API 权限
az ad app permission add \
--id <app-id> \
--api 00000003-0000-0000-c000-000000000000 \
--api-permissions e1fe6dd8-ba31-4d61-89e7-88639da4683d=Scope
# 授予管理员同意
az ad app permission admin-consent --id <app-id>
外部用户 #
B2B 协作 #
bash
# 邀请外部用户
az ad user create \
--display-name "External User" \
--user-principal-name extuser_partner.com#EXT#@mycompany.onmicrosoft.com \
--mail extuser@partner.com
# 查看外部用户
az ad user list --filter "userType eq 'Guest'" --output table
管理角色 #
内置角色 #
text
┌─────────────────────────────────────────────────────────────┐
│ 常用内置角色 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 全局管理员 │
│ └── 所有管理功能的完全访问 │
│ │
│ 用户管理员 │
│ └── 管理用户和组 │
│ │
│ 安全管理员 │
│ └── 管理安全策略 │
│ │
│ 应用程序管理员 │
│ └── 管理应用注册和企业应用 │
│ │
│ 云应用管理员 │
│ └── 管理企业应用 │
│ │
│ 身份验证管理员 │
│ └── 管理身份验证方法 │
│ │
└─────────────────────────────────────────────────────────────┘
分配角色 #
bash
# 列出角色定义
az role definition list --output table
# 分配角色
az role assignment create \
--assignee <user-object-id> \
--role "User Administrator" \
--scope /
最佳实践 #
安全建议 #
text
┌─────────────────────────────────────────────────────────────┐
│ 安全最佳实践 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. 限制全局管理员数量 │
│ └── 建议 2-4 人 │
│ │
│ 2. 启用 MFA │
│ └── 所有管理员账户 │
│ │
│ 3. 使用条件访问 │
│ └── 基于风险和位置 │
│ │
│ 4. 定期审查权限 │
│ └── 访问评审 │
│ │
│ 5. 监控审计日志 │
│ └── 检测异常活动 │
│ │
│ 6. 启用自助密码重置 │
│ └── 减少支持负担 │
│ │
└─────────────────────────────────────────────────────────────┘
下一步 #
现在你已经了解了 Azure AD 的基础,接下来学习 Azure AD 高级功能 掌握条件访问和身份保护!
最后更新:2026-03-29