身份和访问管理(IAM) | Mendix评估指南

Skip navigation

身份和访问管理(IAM)

Mendix提供了敏捷企业在引入新业务应用程序时所需的身份和访问管理(IAM)功能。评估指南的这一部分介绍了企业如何确保合适的个人能够正确访问使用Mendix开发的低代码应用程序和Mendix平台服务。

How Are Users Authenticated When Accessing My Mendix App?

Mendix平台为您的应用程序用户身份验证提供了三种方法。根据您的偏好,您可以在Mendix marketplace的应用程序中为每种方法添加模块。
第一种方法是在Mendix应用程序中进行“本地”身份验证。通过这种方法,应用程序的用户由应用程序管理。用户根据其密码进行身份验证,该密码也存储在应用程序中。在这种方法中,应用程序是自支持的,独立于任何现有的IAM基础设施。
Mendix marketplace还提供了一些模块,用于将多因素身份验证添加到本地登录过程中。
第二种方法是让用户使用其Mendix凭据通过单点登录(SSO)通过Mendix身份提供商进行身份验证。这是将应用程序部署到Mendix云的公民开发者的默认选项。在Mendix Studio中,发布应用程序时会自动配置Mendix SSO。这将使您在应用程序中使用Mendix帐户激活SSO的时间减少到零。
第三种方法是将应用程序与应用程序外部的第三方身份提供商(IDP)集成。

我的Mendix应用程序如何使用第三方身份管理解决方案实现单点登录(SSO)?

拥有本地Active Directory的客户可以使用Microsoft的Active Directory联合服务(ADFS)在其Mendix应用程序中获取SSO。如果您有此功能,您可以在应用程序中包含SAML SSO模块。不用说,平台支持的SAML SSO模块可以与支持SAML 2.0协议的任何IDP一起使用。

部署到SAP BTP的Mendix应用程序可以具有带有SAP IDP的SSO。Mendix提供了一个平台支持的XSUAA连接器,用于在Mendix应用程序中实现此联合。SAP集成一节提供了更多详细信息。

Mendix市场还为OAuth协议提供社区支持的模块。这些应用程序用于面向消费者的应用程序,以实现与“社交”身份提供商(如谷歌、微软、LinkedIn、Twitter或Facebook)的单点登录。

Mendix如何支持Home Realm Discovery?

Mendix可以与多个(外部)身份提供者建立联盟,那么Mendix如何知道在何处对用户进行身份验证?这背后的逻辑称为Home Realm Discovery或IdP Discovery。
为了访问Mendix平台,我们有以下选项来控制用户的身份验证位置:
  • 在登录页面上,用户可以输入他们的电子邮件地址。如果电子邮件域是联合的,Mendix会将用户重定向到为该电子邮件域配置的IDP(带上您自己的IDP或BYOIDP)。
  • 如果用户的电子邮件域没有此类SSO,则将使用用户的Mendix凭据通过Mendix IdP对用户进行身份验证。
  • 用户可以自己选择SAP IDP或西门子DISW IDP,而不是输入他们的电子邮件地址。如果选择SAP,Mendix将显示用户可能拥有SAP身份的地区列表。
使用SAML SSO模块访问应用程序时,可以将SAML SSO模块配置为向用户显示SAML IDP列表。

如何为我的应用定义用户角色?

Mendix应用程序为Mendix开发人员提供了充分的灵活性,可以以任何方式定义和实现用户角色。

Mendix平台还支持模块角色。这些角色与应用程序中的模块相关。

用户角色聚合多个模块角色,授予数据、页面和微流(逻辑)的访问权限。每个用户角色可以由一个或多个模块角色组成,一个模块角色可以包含在多个用户角色中。当基于Mendix Marketplace的模块创建应用程序时,Mendix开发人员可以在其Mendix应用程序的用户角色中包含开箱即用模块角色的选择。

模块角色的示例有“订单输入”或“批准”。

对于访问管理,仅与用户角色相关。应用程序的最终用户只知道他们的用户角色。模块角色的概念仅与应用程序的开发人员相关;它们是应用程序内部的。

在“如何为我的应用定义用户角色?”中有更多关于这方面的信息,安全模型部分。

如何将用户角色分配给Mendix应用程序的用户?

用户角色的分配可以由具有管理员权限的用户在应用程序逻辑中“本地”完成,也可以由应用程序外部的中央IAM系统完成。

如果您选择在应用程序中进行本地自助用户管理,则可以使用Mendix委托管理概念。在构建应用程序并创建应用程序的用户角色时,创建者可以在任何用户角色中包含用户管理模块角色,这样,具有该用户角色的用户就可以管理具有该选定角色的其他用户的访问权限。所谓的MxAdmin用户是本地“root”用户,具有将用户角色分配给Mendix应用程序的其他用户的管理权限。对于本地用户管理,您可以使用管理模块,也可以自己构建用户管理功能。当您将应用程序部署到Mendix云时,Mendix会为MxAdmin用户创建密码。

如果选择集中管理用户并使用SAML模块,则可以为任何登录的用户设置默认角色。还可以实现自定义逻辑,根据从SAML身份提供者接收的属性分配用户角色。

我如何给予我的员工访问Mendix平台的权限以便开始应用程序开发?

员工可以通过在Mendix网站上进行简单注册,或通过单击同事电子邮件中的邀请链接,访问Mendix开发平台。Mendix平台将具有相同电子邮件域的用户放在同一家公司,在那里他们可以开始协作。用户只需选择密码、确认他们的业务电子邮件地址、回答一些问题就可以开始使用Mendix,并在他们作为Mendix开发人员的过程中获得指导。还可以邀请其他公司的用户与您协作。

另请参见入门部分

我怎样控制开发人员如何为我的Mendix应用程序开发做出贡献?

Mendix平台具有一系列开发角色,可通过Mendix开发者门户分配这些角色。对于您正在开发的每个应用程序,您都可以组建自己的应用程序团队,并为团队成员分配应用程序团队角色,或发送邀请给其他开发人员加入您的应用程序团队。

如何为我的开发人员实施强(多因素)身份验证?

Mendix应用常见的密码复杂性规则,并允许您配置密码过期期限,在此期限之后,开发人员必须更改其密码。在Mendix云中对敏感活动(包括生产环境中的所有操作)应用双因素身份验证。

此外,Mendix允许您携带自己的IDP(BYOIDP)进入平台。基于OpenID Connect(OIDC)协议,您可以在Mendix平台和企业身份提供商(IDP)系统(如Azure Active Directory)之间建立身份联盟。这为您的Mendix开发人员提供了单一登录体验,并让您控制用户的身份验证方式;您的公司IDP可以强制执行您的密码策略和多因素身份验证。与您的IDP联合的功能目前是一项私有测试功能。

如何防止开发人员在离开我的公司后继续访问Mendix平台?

Mendix Control Center允许Mendix管理员取消激活其公司空间中的任何用户帐户。这将阻止该用户访问任何Mendix平台服务。

当您在Mendix平台和您的企业IDP之间建立了身份联盟时,在您的IDP中阻止开发人员将完全阻止其对Mendix平台的访问。这样,您的中央身份管理流程也可以应用于Mendix平台。

有关更多信息,请参阅如何在Mendix平台内管理我的公司?平台安全部分。

Mendix拥有哪些特权帐户?

最具特权的帐户是具有Mendix管理员权限的用户帐户。Mendix管理员在公司层面监督公司创建的各种Mendix应用程序。Mendix管理员可以使用Mendix Control Center激活(取消)用户、编辑其项目角色、设置应用程序访问组以及管理公司租户级别的设置。

对于使用Mendix开发的每个应用程序,都会指定一个技术联系人。技术联系人是应用程序的第一个联系人,并控制部署设置。

对于部署在Mendix云上的每个应用程序,Mendix都会创建一个“本地”管理员用户MxAdmin,该用户将获得应用程序开发人员创建的管理用户角色。开发人员完全控制此管理用户角色中包含的模块角色;它可能实际上没有任何管理权限,对于出于访问治理原因不想使用本地管理员用户的公司,它甚至可能是一个“空”用户角色