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