Skip to main content

Enterprise Server 3.20 目前作为发布候选版本提供。

配置交互式地图

可以在 Web 界面中为 你的 GitHub Enterprise Server 实例 启用交互式地图的显示。

谁可以使用此功能?

People with access to the 管理控制台 can configure interactive maps.

关于交互式地图

可以允许 你的 GitHub Enterprise Server 实例 用户使用 GeoJSON 或 TopoJSON 语法创建交互式地图。 有关创建交互式地图的详细信息,请参阅“创建关系图”。

若要启用交互式地图,必须为Azure Maps提供身份验证凭据。

先决条件

  • 若要为实例配置交互式映射,必须对Microsoft Entra ID中的租户具有管理访问权限。 有关详细信息,请联系负责 Microsoft 资源的管理员,或在 Microsoft Learn 上查看 快速入门:在 Microsoft Entra ID 中创建新租户

  • 必须知道 Entra ID 中租户的租户 ID。 有关详细信息,请参阅 Microsoft Learn 上的文章《在 Azure 门户中获取订阅和租户 ID》。

  • 你的实例必须能够访问 https://login.microsoftonline.com。

生成 Azure 地图凭据

若要为Azure Maps生成凭据,必须在 Entra ID 中为租户创建应用程序,提供对Azure Maps帐户的应用程序访问权限,并配置基于角色的访问控制(RBAC)。

  1. 在 Entra ID 租户上注册新应用程序。 有关详细信息,请参阅 Microsoft Learn 上的快速入门:将应用程序注册到 Microsoft 标识平台

    • 指定支持的帐户类型时,请选择仅限此组织目录中的帐户
  2. 添加客户端密码。 有关详细信息,请参阅 Microsoft Learn 上的快速入门:将应用程序注册到 Microsoft 标识平台

  3. 将机密的值存储在安全位置,以便在 你的 GitHub Enterprise Server 实例 上配置身份验证时可以参考。 离开页面后,Entra 永远不会显示该值。

  4. 通过Azure Maps配置对机密的访问。

    1. 查看在 Entra ID 租户上配置的应用程序的详细信息时,在左侧边栏中单击“API 权限”****。
    2. 单击“添加权限”。****
    3. 单击Azure Maps
    4. 选择“委托权限”。
    5. 在“选择权限”下,选择“user_impersonation”。
    6. 要保持权限,单击“添加权限”****。
  5. 登录到Azure Maps帐户。 如果没有帐户,可以创建一个。 有关详细信息,请参阅 Azure Maps Account 网站。

  6. 为Azure Maps配置 RBAC。 有关详细信息,请参阅 Microsoft Learn 上的使用 Azure Maps 进行身份验证使用 Azure 门户分配 Azure 角色

    • 在 Entra ID 租户中,从 访问控制(IAM),必须将“Azure Maps 数据读取者”的角色分配给“用户、组或服务主体”,选择在此前说明中创建的应用程序,然后填写表单。

启用交互式地图

在 Entra ID 租户上创建应用程序并生成用于 Azure Maps 的凭据后,可以在 你的 GitHub Enterprise Server 实例 上配置交互式地图。

  1. 在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击“”。

  2. 如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。1. 在“ 站点管理”边栏中,单击“管理控制台”****。1. 在“Settings”边栏中,单击“Privacy”并取消选中“Private mode”********。

  3. 若要启用交互式地图,请选择“启用 GeoJSON 渲染”。

  4. 生成一个 32 个字符的字符串,用作机密,以防止跨网站请求伪造 (CSRF)。 例如,可以访问管理 shell 并使用 你的 GitHub Enterprise Server 实例 上的 openssl 生成字符串。 有关详细信息,请参阅“访问管理 shell (SSH)”。

    Shell
    openssl rand -hex 32
    

    将字符串存储在方便下一步参考的安全位置。

  5. 在标题下方,键入或粘贴Azure Maps的身份验证详细信息。

    • 如果实例运行 GitHub Enterprise Server 3.20,则在“Azure Maps API Token”下,键入或粘贴令牌。

    • 如果实例运行 GitHub Enterprise Server 3.20 或更高版本,则在标题下方键入或粘贴以下信息。

      • 若要更改呈现的地图的样式,可选择在“Basemap ID”下键入要使用的样式的 ID。

      • 在标题下,键入或粘贴你的身份验证详细信息。

        说明详细信息
        Azure地图客户端 IDAzure Maps 帐户的客户端 IDMicrosoft Learn 上管理 Azure Maps 中的身份验证
        Azure 应用程序客户端 ID你在 Entra ID 租户上创建的应用程序的应用程序(客户端)ID
           [创建一个Microsoft Entra应用程序和服务主体,以访问Microsoft Learn上的资源](https://learn.microsoft.com/entra/identity-platform/howto-create-service-principal-portal#sign-in-to-the-application) |
        

        | Azure租户 ID | Entra ID 上的租户 ID | 先决条件 | | Azure App客户端密码 | 为 Entra ID 租户上的应用程序生成的客户端密钥 | 为 Azure Maps 生成凭据 | CSRF 密钥 | 用于防止 CSRF 攻击的 32 个字符字符串 | 请参阅上一步。 |

  6. 在“设置”边栏下,单击“保存设置”。

    注意

    保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。

  7. 等待配置运行完毕。

禁用交互式地图

  1. 在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击“”。

  2. 如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。1. 在“ 站点管理”边栏中,单击“管理控制台”****。1. 在“Settings”边栏中,单击“Privacy”并取消选中“Private mode”********。

  3. 要禁用交互式地图,请取消勾选“启用 GeoJSON 渲染”。

  4. 在“设置”边栏下,单击“保存设置”。

    注意

    保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。

  5. 等待配置运行完毕。