Azure Active Directory B2C 部署计划
Azure Active Directory B2C (Azure AD B2C) 是一种标识和访问管理解决方案,可以简化与基础结构的集成。 使用以下指南来帮助了解整个 Azure AD B2C 部署的要求和合规性。
规划 Azure AD B2C 部署
要求
- 评估关闭系统的主要原因
- 对于新应用程序,请规划客户标识访问管理 (CIAM) 系统的设计
- 请参阅规划和设计
- 确定客户的位置并在相应的数据中心创建租户
- 确认应用程序类型和受支持的技术:
- 若要从标识提供者 (IdP) 迁移,请执行以下操作:
- 选择协议
- 如果使用 Kerberos、Microsoft Windows NT LAN Manager (NTLM) 和 Web Services 联合身份验证 (WS-Fed),请观看视频《将应用程序和标识迁移到 Azure AD B2C》
迁移后,应用程序就可以支持新式标识协议,例如 Open Authorization (OAuth) 2.0 和 OpenID Connect (OIDC)。
利益干系人
技术项目的成功取决于管理期望、结果和责任。
- 确定应用程序架构师、技术项目经理和所有者
- 创建通讯组列表 (DL),以便与 Microsoft 帐户或工程团队通信
- 提出问题、获取答案和接收通知
- 确定组织外部的合作伙伴或资源以支持你
了解更多:包括合适的利益干系人
沟通
主动并定期与用户就挂起的和当前更改进行沟通。 告知他们体验的更改方式、更改时间,并提供支持联系人。
时间线
帮助设定现实的期望,并制定应变计划以满足关键里程碑:
- 试点日期
- 发布日期
- 影响交付的日期
- 依赖项
实施 Azure AD B2C 部署
- 部署应用程序和用户标识 - 部署客户端应用程序并迁移用户标识
- 客户端应用程序载入和可交付结果 - 载入客户端应用程序并测试解决方案
- 安全性 - 增强标识解决方案的安全性
- 合规性 - 满足法规要求
- 用户体验 - 启用用户友好的服务
部署身份验证和授权
- 在应用程序与 Azure AD B2C 交互之前,请在你管理的租户中注册它们
- 对于授权,请使用 Identity Experience Framework (IEF) 示例用户旅程
- 对云原生环境使用基于策略的控制
- 转到
openpolicyagent.org
来了解 Open Policy Agent (OPA)
- 转到
通过 Microsoft Identity PDF 了解更多信息,通过 Azure AD B2C 获得专业知识,这是一门面向开发人员的课程。
角色、权限、委派和调用的清单
- 确定访问应用程序的角色
- 定义当前和将来如何管理系统权限和权利
- 确认你有权限存储,以及是否有权限添加到目录
- 定义管理委托管理的方式
- 例如,客户的客户管理
- 验证应用程序是否调用 API 管理器 (APIM)
- 在向应用程序颁发令牌之前,可能需要从 IDP 调用
部署应用程序和用户标识
Azure AD B2C 项目从一个或多个客户端应用程序开始。
- Azure Active Directory B2C 的新应用注册体验
- 有关实现,请参阅 Azure Active Directory B2C 代码示例
- 根据自定义用户流设置用户旅程
应用程序部署清单
- CIAM 部署中包含的应用程序
- 正在使用的应用程序
- 例如,Web 应用程序、API、单页 Web 应用 (SPA) 或本机移动应用程序
- 正在使用的身份验证:
- 例如,使用安全断言标记语言 (SAML) 进行联合身份验证或使用 OIDC 进行联合身份验证的表单
- 如果是 OIDC,请确认响应类型:code 或 id_token
- 确定前端和后端应用程序的托管位置:本地、云或混合云
- 确认正在使用的平台或语言:
- 例如,ASP.NET、Java 和 Node.js
- 验证用户属性的存储位置
- 例如,轻型目录访问协议 (LDAP) 或数据库
用户标识部署清单
- 确认访问应用程序的用户数量
- 确定所需的 IdP 类型:
- 例如,Active Directory 联合身份验证服务 (AD FS)
- 请参阅 Active Directory 联合身份验证服务
- 概述应用程序、Azure AD B2C 和 IdP(如果适用)所需的声明架构
- 请参阅 ClaimsSchema
- 确定在登录和注册过程中要收集的信息
客户端应用程序载入和可交付结果
使用以下清单载入应用程序
区域 | 说明 |
---|---|
应用程序目标用户组 | 在最终客户、业务客户或数字服务之间进行选择。 确定员工是否需要登录。 |
应用程序业务价值 | 了解业务需求或目标,以确定最佳 Azure AD B2C 解决方案以及与其他客户端应用程序的集成。 |
标识组 | 根据要求将身份分组,如企业对消费者 (B2C)、企业对企业(B2B)、企业对员工 (B2E) 和企业对机器 (B2M),用于 Iot 设备登录和服务帐户。 |
标识提供者 (IDP) | 请参阅添加标识提供程序。 例如,对于客户到客户 (C2C) 移动应用使用简单的登录过程。 具有数字服务的 B2C 具有合规性要求。 考虑电子邮件登录。 |
法规约束 | 确定对远程配置文件或隐私策略的需求。 |
登录和注册流 | 在注册期间确认电子邮件验证或电子邮件验证。 有关检查进程,请参阅工作原理:Microsoft Entra 多重身份验证。 |
应用程序和身份验证协议 | 实现客户端应用程序,例如 Web 应用程序、单页应用程序 (SPA) 或本机。 客户端应用程序和 Azure AD B2C 的身份验证协议:OAuth、OIDC 和 SAML。 |
用户迁移 | 确认是否将用户迁移到 Azure AD B2C:实时 (JIT) 迁移和批量导入/导出。 |
使用以下清单进行交付。
区域 | 说明 |
---|---|
协议信息 | 收集两个变体的基本路径、策略和元数据 URL。 指定示例登录、客户端应用程序 ID、机密和重定向等属性。 |
应用程序示例 | 请参阅 Azure Active Directory B2C 代码示例。 |
渗透测试 | 将渗透测试告知运营团队,然后测试用户流,包括 OAuth 实现。 请参阅渗透测试和渗透测试参与规则。 |
单元测试 | 单元测试和生成令牌。 请参阅 Microsoft 标识平台和 OAuth 2.0 资源所有者密码凭据。 重复使用令牌,以减少对对基础结构的调查。 在 Azure Active Directory B2C 中设置资源所有者密码凭据流。 不得使用 ROPC 流对应用中的用户进行身份验证。 |
负载测试 | 了解 Azure AD B2C 服务限制和局限性。 计算每月预期的身份验证和用户登录数。 评估高负载流量持续时间和业务原因:假日、迁移和事件。 确定注册、流量和地理分布的预期峰值速率,例如每秒。 |
安全性
使用以下清单增强应用程序安全性。
- 身份验证方法,例如多重身份验证:
- 对于触发高价值事务或其他风险事件的用户,建议使用多重身份验证。 例如,银行、财务和签出流程。
- 确认使用反机器人机制
- 在登录或注册过程中确认所需的条件状态
合规性
为了帮助遵守法规要求并增强后端系统安全性,可以使用虚拟网络 (VNet)、IP 限制和 Web 应用程序防火墙等。 请考虑以下要求:
- 监管合规性要求
- 例如,支付卡行业数据安全标准 (PCI DSS)
- 若要详细了解 PCI 安全标准委员会,请转到 pcisecuritystandards.org
- 数据存储到单独的数据库存储中
- 确定是否无法将此信息写入目录
用户体验
使用以下清单来帮助定义用户体验要求。
- 使用屏幕截图和用户情景展示应用程序最终用户体验
- 例如,登录、注册、注册/登录 (SUSI)、配置文件编辑和密码重置的屏幕截图
- 在 CIAM 解决方案中使用查询字符串参数查找传递的提示
- 对于高度的用户体验自定义,请考虑使用前端开发人员
- 在 Azure AD B2C 中,可以自定义 HTML 和 CSS
- 请参阅 JavaScript 的使用准则
- 对于单页应用程序,使用另一个加载到
<iframe>
元素中的“登录”HTML 页
监视审核和日志记录
使用以下清单进行监视、审核和日志记录。
资源
- 注册 Microsoft Graph 应用程序
- 使用 Microsoft Graph 管理 Azure AD B2C
- 使用 Azure PowerShell 管理 Azure AD B2C 自定义策略