关于交互式地图
可以允许 你的 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)。
-
在 Entra ID 租户上注册新应用程序。 有关详细信息,请参阅 Microsoft Learn 上的快速入门:将应用程序注册到 Microsoft 标识平台。
- 指定支持的帐户类型时,请选择仅限此组织目录中的帐户。
-
添加客户端密码。 有关详细信息,请参阅 Microsoft Learn 上的快速入门:将应用程序注册到 Microsoft 标识平台。
-
将机密的值存储在安全位置,以便在 你的 GitHub Enterprise Server 实例 上配置身份验证时可以参考。 离开页面后,Entra 永远不会显示该值。
-
通过Azure Maps配置对机密的访问。
- 查看在 Entra ID 租户上配置的应用程序的详细信息时,在左侧边栏中单击“API 权限”****。
- 单击“添加权限”。****
- 单击Azure Maps。
- 选择“委托权限”。
- 在“选择权限”下,选择“
user_impersonation”。 - 要保持权限,单击“添加权限”****。
-
登录到Azure Maps帐户。 如果没有帐户,可以创建一个。 有关详细信息,请参阅 Azure Maps Account 网站。
-
为Azure Maps配置 RBAC。 有关详细信息,请参阅 Microsoft Learn 上的使用 Azure Maps 进行身份验证和使用 Azure 门户分配 Azure 角色。
- 在 Entra ID 租户中,从 访问控制(IAM),必须将“Azure Maps 数据读取者”的角色分配给“用户、组或服务主体”,选择在此前说明中创建的应用程序,然后填写表单。
启用交互式地图
在 Entra ID 租户上创建应用程序并生成用于 Azure Maps 的凭据后,可以在 你的 GitHub Enterprise Server 实例 上配置交互式地图。
-
在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击“”。
-
如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。1. 在“ 站点管理”边栏中,单击“管理控制台”****。1. 在“Settings”边栏中,单击“Privacy”并取消选中“Private mode”********。
-
若要启用交互式地图,请选择“启用 GeoJSON 渲染”。
-
生成一个 32 个字符的字符串,用作机密,以防止跨网站请求伪造 (CSRF)。 例如,可以访问管理 shell 并使用 你的 GitHub Enterprise Server 实例 上的
openssl生成字符串。 有关详细信息,请参阅“访问管理 shell (SSH)”。Shell openssl rand -hex 32
openssl rand -hex 32将字符串存储在方便下一步参考的安全位置。
-
在标题下方,键入或粘贴Azure Maps的身份验证详细信息。
-
如果实例运行 GitHub Enterprise Server 3.20,则在“Azure Maps API Token”下,键入或粘贴令牌。
-
如果实例运行 GitHub Enterprise Server 3.20 或更高版本,则在标题下方键入或粘贴以下信息。
-
若要更改呈现的地图的样式,可选择在“Basemap ID”下键入要使用的样式的 ID。
-
在标题下,键入或粘贴你的身份验证详细信息。
值 说明 详细信息 Azure地图客户端 ID Azure Maps 帐户的客户端 ID Microsoft 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 个字符字符串 | 请参阅上一步。 |
-
-
-
在“设置”边栏下,单击“保存设置”。
注意
保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。
-
等待配置运行完毕。
禁用交互式地图
-
在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击“”。
-
如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。1. 在“ 站点管理”边栏中,单击“管理控制台”****。1. 在“Settings”边栏中,单击“Privacy”并取消选中“Private mode”********。
-
要禁用交互式地图,请取消勾选“启用 GeoJSON 渲染”。
-
在“设置”边栏下,单击“保存设置”。
注意
保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。
-
等待配置运行完毕。