预订演示
前页 后页

演练:使用 Azure 的OpenID

本演练帮助您设置Enterprise Architect以使用 Azure 用户通过OpenID log到具有单点登录 (SSO) 的模型。

细节将详细介绍获得工作示例所需的最低设置。 Azure 中提供了许多额外的选项,可以根据组织的要求进行自定义。

本指南需要Enterprise Architect版本 16 或更高版本才能处理 ID 令牌中的声明,并允许根据其组成员身份自动创建新用户。

为Enterprise Architect添加应用注册

  1. 登录到 Azure 门户: https ://portal.azure.com/。
  2. 单击侧面菜单下拉菜单,然后单击“Azure活动目录”。
    Shows the selection of Azure Active Directory menu
  3. 单击“应用程序注册”和“新注册”按钮。
    Shows how to create a new App Registration in Azure
  4. 填写表格。
  5. 为应用程序命名 - 当最终用户同意应用程序时,这将对他们可见(如果适用,管理员可以为应用程序提供全局同意)。
  6. 选择“单租户”单选按钮(除非您了解“多租户”的用法)。
  7. 重定向 URI:
    - 从下拉选项中选择“公共客户端/本机(移动和桌面)”选项
    -类型in 'http:// localhost :8888/openid/callback'
    - 点击注册按钮。
    Shows details to be entered when creating a new 'app registration' in Azure for use with OpenID

应用程序详细信息:URL、客户端 ID

创建新的应用程序注册后,您应该会看到应用程序的详细信息。复制“应用程序(客户端)ID”。这将被粘贴到Enterprise Architect (此过程中的第 6 步)。

Details of the App Registration in Azure

  1. 打开Enterprise Architect并打开模型;假设模型已设置为使用模型安全性。
  2. 使用有权编辑用户和组的帐户(例如“admin”)登录。
  3. 单击“设置 > 安全 > 用户”功能区选项。
  4. 在“全局选项”面板中选择“接受OpenID身份验证”复选框。
  5. 单击配置OpenID按钮。
    Configure Enterprise Architect model to use OpenID
  6. 粘贴复制的 'Application (client) ID' 到 'Client ID' 场地。
    The OpenID configuration settings for Azure
  7. 将“配置文件”添加到“范围” 字段以允许传回用户的全名。
  8. 将“offline_access”添加到“范围” 字段以允许用户使用“刷新令牌”自动刷新他们的身份验证令牌。
  9. 在本演练中,我们将匹配“upn”;在“声明与本地用户匹配”字段中输入“用户”。
  10. (可选)将“groups”添加到“Claim to Match to Local Groups”字段。请参阅本主题后面的“自动创建或修改窗口或OpenID用户”选项部分,了解如何使用组根据其OpenID组成员身份自动创建或修改用户。
  11. 选中“用于声明的使用ID 令牌”复选框。取消选中“使用用户信息进行声明”复选框。

    (注记:在版本 16 或更高版本中,可以直接从 ID 令牌而不是通过用户信息现在获取声明。这有很多优点,包括更符合标准(用户现在信息端点中的声明是可选的并且不可在 Azure 中自定义)以及减少对OpenID提供程序的 Internet 调用次数。)
  12. 在 Azure 中,单击“端点” 这列出了应用程序可以连接到 Azure 的 URL“端点”。
  13. 复制“ OpenID 连接元数据文档”的 URL,但排除“.well-known/openid-configuration”部分。
  14. 在Enterprise Architect中,将 URL 粘贴到“ OpenID URL”字段中。
    Shows the endpoints for an Azure App Registration

添加 API 权限

  1. 单击“API 权限”。
  2. 点击“添加权限”。
    Select 'API permissions', 'Add a permission'
  3. 单击“Microsoft Graph”。
    Select 'Microsoft Graph'
  4. 单击“委派权限”。
    Select 'Delegated permissions'
  5. 选择“OpenId 权限”下的所有权限:“电子邮件”、“offline_access”、“openid”和“个人资料”。
    Select all OpenID API permissions

声称与本地用户匹配

如果从OpenID提供者返回的声明与Enterprise Architect模型中的用户登录匹配, Enterprise Architect将log用户。应注意使用安全声明;也就是说,最终用户不能修改,只能由 Azure 系统的管理员修改。默认情况下,普通用户无法修改 UPN。

应该考虑使用哪个声明来匹配Enterprise Architect中的本地用户登录。 Microsoft 建议应使用稳定的GUID (例如“sub”或“oid”)以避免任何可能影响电子邮件、用户名或 UPN 的名称更改问题。但是,UPN 允许人类可读的用户登录,这可能更可取。

无需进一步配置,您就可以匹配 'oid' 或 'sub' 声明(由 Microsoft 推荐),因为它们总是在 ID 令牌中传回。要启用与用户的 UPN 或电子邮件地址的匹配,需要进一步配置。

如果要使用允许在Enterprise Architect中自动创建用户的选项,则还需要用户具有名字和姓氏,并将这些在令牌中传递回Enterprise Architect 。这些是需要手动选择的可选声明。

  1. 单击“令牌配置”。
  2. 单击“添加可选声明”。
    Select 'Token configuration', 'Add optional claim'
  3. 选择“身份证”。
  4. 选择“family_name,given_name”。
  5. (可选)选择将用于匹配Enterprise Architect中的用户登录名的另一个声明。公共选项为“upn”、“email”、“verified_primary_email”。
    对于本演练,选择“upn”。
  6. 点击添加”。
    Select the required additional claims to be added to the ID token

将用户添加到 Azure

本演练将添加一个用户来演示OpenID身份验证。完整的用户设置不在本指南的范围内。

  1. 返回主“活动目录”部分,单击“用户”。
  2. 点击“新用户”。
    Select 'Users', click 'New user'
  3. 填写新用户的详细信息。这里我们创建一个简单的测试用户:
    -注记下密码
    - 点击“创建”
    Fill in the details for the new user

在Enterprise Architect中测试配置

这足以在Enterprise Architect中获得一个简单的示例。

  1. 返回Enterprise Architect ,单击配置OpenID ... 窗口中的测试按钮。
  2. 点击“使用OpenID登录”。
    Test the connection in Entperprise Architect
    这将弹出您的互联网浏览器并要求您log到您的 Microsoft账户(适用于 Azure)。
  3. 以新创建的用户身份登录。 (请注记,您的凭据可能已被浏览器log ;在执行此测试之前,请退出所有 Microsoft 服务并关闭您的浏览器。)
  4. 系统可能会提示您创建新密码。再次,为注记的登录记录新密码。
  5. 系统将提示您同意允许新的 Azure 应用访问您的个人资料。
    (注记,Azure 中的管理员可以代表所有用户同意应用程序。)
    The Azure consent screen to allow the Azure App access to your profile
  6. 浏览器现在将显示成功消息。您可以关闭浏览器并返回Enterprise Architect 。
  7. Enterprise Architect将显示一条成功消息,其中包含声明中匹配的详细信息。
    Success message in the browser after logging in to Azure
  8. 单击成功消息上的确定按钮。
  9. 点击确定按钮 在配置OpenID窗口中保存设置。

将匹配用户添加到Enterprise Architect

使用匹配的“登录”字段将新用户添加到Enterprise Architect 。

  1. 选择“设置 > 安全 > 用户”功能区选项。
  2. 复制 Azure 用户的用户主体名称(UPN) 并将其粘贴到“登录”字段中。
  3. 名称中的类型(这不需要与 Azure 用户的名称匹配)。
  4. 单击保存按钮。
    Add a matching user to Enterprise Architect

测试登录模型

  1. 关闭并重新打开Enterprise Architect 。
  2. 打开模型。
  3. 显示相同的OpenID身份验证屏幕;点击“使用OpenID登录”。
    Login screen for OpenID in Enterprise Architect
    注意:如果出现标准登录 EA存储库对话框而不是OpenID身份验证对话框,请取消选择隐藏OpenID登录窗口选项:
  4. 如果需要,请在 Internet 浏览器中log Azure,然后关闭浏览器并返回到您现在以新用户身份登录的Enterprise Architect 。
  5. 您还可以在Enterprise Architect的右上角确认登录用户。登录用户的名称与用户安全选项的下拉菜单一起出现。
    The logged in user is displayed top-right of Enterprise Architect
  6. 系统输出窗口将细节说明您尝试的登录。请注记“组”不匹配,因为在演练中此时尚未配置。
    System Output after successful login with Azure OpenID
此时,如果您要手动将用户添加到Enterprise Architect ,则无需再完成任何步骤。

如果要启用“自动创建或修改窗口或OpenID用户”选项,请继续下一个 部分。

'自动创建或修改窗口或OpenID用户' 选项

此选项允许您在 Azure 中设置组,并将组链接到Enterprise Architect中的本地组。然后可以在用户首次尝试log时自动创建用户。新用户和现有用户将在log时更新其组成员身份,以匹配 Azure 中的链接组。

将组声明添加到 ID 令牌

与添加 UPN 和名称声明的方式类似,将组声明添加到 ID 令牌。

  1. 单击“Azure > Azure活动目录> 应用注册”选项。
  2. 单击您的新应用程序。
  3. 从侧边栏中选择“令牌配置”。
  4. 点击“添加群组声明”。
  5. 选择“安全组”。
  6. 展开 ID 部分。
  7. [可选] 与选择与Enterprise Architect登录名匹配的声明一样,应考虑用于将组与Enterprise Architect中的本地组匹配的声明。此处的默认选择是“组 ID”。这是一个可以轻松复制的GUID string ,即使组名更改也将保持不变。但是,在Enterprise Architect中查看链接时,不太清楚哪个组匹配,因此 sAMAccountName 设置之一可能更合适。在本指南中,我们将使用默认选择“组 ID”
  8. 单击添加按钮。
    Add the group claim to the ID Token

加新Azure Group

在‘青色活动目录’中:

  1. 从侧边栏菜单中选择组”。
    Select the 'Group' menu from the sidebar
  2. 单击“新组”。
    Click 'New group' to add a new group
  3. 将“组类型”设置为“安全”。
  4. 组名称中的类型,例如“EA 用户”、“EA管理员”或“EA 只读”。
  5. 单击“未选择成员”以将测试用户添加到组中。
    Fill in the details of the new group
  6. 选择测试用户并单击“选择”。
    Select the users to be added to the group
  7. 点击“创建” 完成创建新组。
  8. 刷新组列表(最多可能需要 30 秒)。
  9. 复制组的“物件Id”以供下一步使用。
    Copy the Object ID of the new group
  10. 请参阅前面的应用程序详细信息:URL、客户端 ID部分。

Enterprise Architect中的链接组

  1. 开放Enterprise Architect 。
  2. 打开模型;取消OpenID登录并以管理员身份登录。
  3. 选择“设置 > 安全 > 组”功能区选项。
  4. 创建新组。名称和描述不需要与 Azure 中的名称匹配。
  5. 将粘贴组的“物件ID”粘贴到“ OpenID Group”字段中。
  6. 单击“保存”按钮以创建新组。
    Link the Azure group to a new Enterprise Architect group

启用“自动创建或修改窗口或OpenID用户”选项:

  1. 关闭“组”选项卡。
  2. 选择“设置 > 安全 > 用户”功能区选项。
  3. 选择“自动创建或修改窗口或OpenID用户”选项。
    Tick the option to 'Automatically create or modify Windows or OpenID users'

现在是重新测试OpenID配置以检查 ID 令牌中是否存在组声明以及组链接是否正确的好时机。

  1. 单击“配置OpenID ...”选项。
  2. 如果 'groups' 尚未显示在 'Claim to Match to Local Groups' 字段中,请输入。
  3. 点击测试按钮。
  4. 点击“使用OpenID登录”。
  5. 如果浏览器需要,请登录到 Azure。
结果将显示在Enterprise Architect中,显示用户名以及 Azure 组和它链接到的本地Enterprise Architect组 Results of OpenID test

终点测试

测试“自动创建或修改窗口或OpenID用户” 选项:

  1. 关闭并重新打开Enterprise Architect 。
  2. 使用OpenID登录模型。系统输出窗口将指示任何用户的自动创建,以及基于链接的OpenID组的任何组分配。
    The System Output window showing automatica group assignment from linked OpenID groups