如何为外部Okta用户授权访问Azure AD托管的企业应用?
Azure AD企业应用对接外部Okta租户用户访问配置方案
适用于已在Azure AD侧部署企业应用、需为无本租户Azure AD账号的外部合作方Okta用户开放访问权限的场景,无需为合作方用户创建本租户原生Azure AD账号
配置前置准备
提前和合作方的Okta管理员对接,确认对方可以配合完成SAML应用配置即可,不需要对方购买、部署任何Azure相关服务。
步骤1:Azure AD侧添加Okta为外部联邦身份源
- 登录你的Azure AD管理中心,进入外部标识-所有身份提供商节点,选择添加
SAML/WS-Fed类型的身份提供商 - 按页面要求填写配置:
- 显示名称填方便内部识别的合作方标识,比如
XX公司Okta登录入口 - 元数据配置可以直接填合作方Okta侧提供的IdP元数据URL,也可以上传对方给到的元数据XML文件
- 域名后缀填写合作方的企业邮箱后缀,比如
@partner-company.com,配置后用户输入该后缀的邮箱登录时,系统会自动跳转到对方Okta认证页
- 显示名称填方便内部识别的合作方标识,比如
- 保存配置后,复制Azure AD侧自动生成的SP实体ID、断言消费ACS地址,后续发给合作方Okta管理员使用。
步骤2:合作方Okta侧SAML应用配置
把以下配置要求发给合作方Okta管理员操作即可:
- 在对方的Okta管理后台创建一个自定义SAML 2.0应用
- 单点登录URL、受众URI(实体ID)填你刚才从Azure AD复制的对应ACS地址和实体ID,名称ID格式选择
EmailAddress,名称ID值映射为Okta内用户的主邮箱字段 - 必须配置的属性声明如下,命名空间不能写错:
- 声明
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress映射到Okta用户的user.email字段 - 声明
http://schemas.microsoft.com/identity/claims/name映射到Okta用户的user.displayName字段
- 声明
- 配置完成后,将Okta侧的IdP签名证书、IdP登录URL补发给你(如果之前没提供完整元数据的话),同时给需要访问你方应用的用户分配这个Okta应用的权限。
步骤3:Azure AD侧企业应用授权配置
回到你之前创建好的目标企业应用,进入用户和组配置节点,按需选一种授权方式即可:
- 单用户授权:点击「添加用户/组」,用户类型选择外部用户,直接输入合作方对应用户的完整邮箱添加即可。系统会自动触发B2B协作逻辑,用户第一次登录时会自动完成邀请兑换,不需要手动点击邀请邮件确认。
- 整租户规则授权:如果合作方访问人数多,不想逐个添加用户,可以在企业应用的分配规则里配置身份提供商维度的授权:只要是从你刚添加的合作方Okta身份源完成认证的用户,满足你设置的属性规则(比如邮箱后缀匹配、所属Okta组匹配),就自动授予应用访问权限,无需提前录入用户信息。
步骤4:登录验证
- 打开你的企业应用访问地址,输入合作方测试用户的邮箱,系统识别到邮箱后缀绑定了Okta身份源后,会自动跳转到合作方的Okta登录页
- 用户在Okta侧完成自身的认证要求(比如MFA、密码校验)后,会自动跳转回Azure AD,Azure AD验证SAML断言合法后就会发放应用访问令牌,用户可直接进入应用。
常见踩坑提醒
- 两边配置的SAML签名证书要记录有效期,到期前1个月提前同步更新,不然会出现全域登录失败
- Okta侧配置的属性声明命名空间必须和要求完全一致,不能有多余空格、拼写错误,否则Azure AD会报断言无效,无法识别用户身份
- 如果你给Azure AD配置了全局条件访问策略,记得把该Okta身份源的外部用户纳入允许访问范围,避免被位置策略、MFA策略拦截
- 遵循最小权限原则,不要给合作方用户分配本租户的多余权限,仅开放目标应用的必要访问权限即可。
内容的提问来源于stack exchange,提问作者Mohan raj
相关产品推荐
相关产品推荐

