你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为本地监视工具启用 Microsoft Entra ID

Azure 专用 5G 核心提供分布式跟踪数据包核心仪表板工具,用于监视边缘部署。 可以使用 Microsoft Entra ID 或本地用户名和密码访问这些工具。 建议设置 Microsoft Entra 身份验证以提高部署的安全性。

在本操作指南中,你将执行在部署或配置使用 Microsoft Entra ID 对本地监视工具的访问进行身份验证的网站后需要完成的步骤。 如果决定使用本地用户名和密码访问分布式跟踪和数据包核心仪表板,则无需遵循此步骤。

注意

在运行 Azure 专用 5G 核心的 Azure Stack Edge 设备上启用 Web 代理时,不支持用于本地监视工具的 Microsoft Entra ID。 如果已配置防火墙来阻止未通过 Web 代理传输的流量,则启用 Microsoft Entra ID 将导致 Azure 专用 5G Core 安装失败。

先决条件

  • 必须完成完成部署专用移动网络的先决条件任务收集站点所需信息中的步骤。
  • 必须部署一个站点,并将 Microsoft Entra ID 设置为身份验证类型。
  • 确定用于访问在管理网络中设置的本地监视工具的 IP 地址。
  • 确保可以使用一个有权访问用于创建专用移动网络的活动订阅的帐户登录到 Azure 门户。 此帐户必须有权管理 Microsoft Entra ID 中的应用程序。 具有所需权限的 Microsoft Entra 内置角色包括应用程序管理员、应用程序开发人员和云应用程序管理员等。 如果没有此访问权限,请联系租户 Microsoft Entra 管理员,以便他们可以按照使用 Microsoft Entra ID 分配用户角色所述来确认是否已为用户分配正确的角色。
  • 请确保本地计算机具有对已启用 Azure Arc 的 Kubernetes 群集的核心 kubectl 访问权限。 这需要一个核心 kubeconfig 文件,可以通过核心命名空间访问获取该文件。

为本地监视 IP 配置域名系统 (DNS)

注册应用程序并配置重定向 URI 时,需要确保重定向 URI 以包含域名(而不是 IP 地址),以便访问本地监视工具。

在要创建 DNS 记录的 DNS 区域的权威 DNS 服务器中,配置 DNS 记录,将域名解析为在管理网络中设置的用于访问本地监视工具的 IP 地址。

注册应用程序

现在,你将使用 Microsoft Entra ID 注册新的本地监视应用程序,以便与 Microsoft 标识平台建立信任关系。

如果部署包含多个站点,则可以对所有站点使用相同的两个重定向 URI,或为每个站点创建不同的 URI 对。 每个站点最多可以配置两个重定向 URI。 如果已经为部署注册了应用程序,并且想要在站点中使用相同的 URI,则可以跳过此步骤。

注意

这些说明假设你将单个应用程序同时用于分布式跟踪和数据包核心仪表板。 如果要授予不同用户组对这两个工具的访问权限,可以改为为数据包核心仪表板角色设置一个应用程序,并为分布式跟踪角色设置一个应用程序。

  1. 按照快速入门:将应用程序注册到 Microsoft 标识平台中的步骤操作,将本地监视工具的新应用程序注册到 Microsoft 标识平台。

    1. 在“添加重定向 URI”中,选择“Web”平台并添加以下两个重定向 URI,其中 <local monitoring domain> 是在为本地监视 IP 配置域名系统 (DNS) 中设置的本地监视工具的域名

      • https://<local monitoring domain>/sas/auth/aad/callback
      • https://<local monitoring domain>/grafana/login/azuread
    2. 在“添加凭据”中,按照步骤添加客户端密码。 请确保记录“值”列下的密码,因为此字段仅在刚创建密码后可用。 这是此过程稍后将需要的“客户端密码”值

  2. 按照应用角色 UI 使用以下配置为应用程序创建角色:

    • 在“允许的成员类型”中,选择“用户/组”
    • 在“值”中,为创建的每个角色输入“管理员”、“查看者”和“编辑者”中的一个。 对于分布式跟踪,还需要“sas.user”角色。
    • 在“是否要启用此应用角色?”中,请确保选中该复选框

    在管理对数据包核心仪表板和分布式跟踪工具的访问权限时,你将能够使用这些角色。

  3. 按照向角色分配用户和组中的步骤,将用户和组分配给所创建的角色。

收集 Kubernetes Secret 对象的信息

  1. 收集下表中的值。

    收集方式 Kubernetes 机密参数名称
    租户 ID 在 Azure 门户中,搜索“Microsoft Entra ID”。 可以在“概述”页中找到“租户 ID”字段 tenant_id
    应用程序 (客户端) ID 导航到刚刚创建的新的本地监视应用注册。 可以在“概述”页的“基本信息”标题下找到“应用程序(客户端) ID”字段 client_id
    授权 URL 在本地监视应用注册的“概述”页中,选择“终结点”。 复制“OAuth 2.0 授权终结点(v2)”字段的内容

    注意:
    如果字符串包含 organizations,请将 organizations 替换为租户 ID 值。 例如:
    https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize
    变为
    https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/oauth2/v2.0/authorize
    auth_url
    令牌 URL 在本地监视应用注册的“概述”页中,选择“终结点”。 复制“OAuth 2.0 令牌终结点(v2)”字段的内容

    注意:
    如果字符串包含 organizations,请将 organizations 替换为租户 ID 值。 例如:
    https://login.microsoftonline.com/organizations/oauth2/v2.0/token
    变为
    https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/oauth2/v2.0/token
    token_url
    客户端密码 在上一步中创建客户端密码时已收集。 client_secret
    分布式跟踪重定向 URI 根 记下重定向 URI 的以下部分:https://<local monitoring domain> redirect_uri_root
    数据包核心仪表板重定向 URI 根 记下数据包核心仪表板重定向 URI 的以下部分:https://<local monitoring domain>/grafana root_url

修改本地访问

转到 Azure 门户并导航到站点的“数据包核心控制平面”资源。 选择边栏选项卡的“修改本地访问”选项卡

  1. 如果“身份验证类型”设置为“Microsoft Entra ID”,请继续创建 Kubernetes Secret 对象
  2. 否则:
    1. 从“身份验证类型”下拉列表中选择“Microsoft Entra ID”
    2. 选择“查看”。
    3. 选择“提交”。

创建 Kubernetes Secret 对象

若要在 Azure 专用 5G 核心应用程序中支持 Microsoft Entra ID,需要一个包含 Kubernetes 机密的 YAML 文件。

  1. 将在收集 Kubernetes Secret 对象信息中收集的每个值转换为 Base64 格式。 例如,可以在 Azure Cloud Shell Bash 窗口中运行以下命令

    echo -n <Value> | base64
    
  2. 创建 secret-azure-ad-local-monitoring.yaml 文件,其中包含 Base64 编码值,用于配置分布式跟踪和数据包核心仪表板。 分布式跟踪的机密必须命名为 sas-auth-secrets,数据包核心仪表板的机密必须命名为 grafana-auth-secrets

    apiVersion: v1
    kind: Secret
    metadata:
        name: sas-auth-secrets
        namespace: core
    type: Opaque
    data:
        client_id: <Base64-encoded client ID>
        client_secret: <Base64-encoded client secret>
        redirect_uri_root: <Base64-encoded distributed tracing redirect URI root>
        tenant_id: <Base64-encoded tenant ID>
    
    ---
    
    apiVersion: v1
    kind: Secret
    metadata:
        name: grafana-auth-secrets
        namespace: core
    type: Opaque
    data:
        GF_AUTH_AZUREAD_CLIENT_ID: <Base64-encoded client ID>
        GF_AUTH_AZUREAD_CLIENT_SECRET: <Base64-encoded client secret>
        GF_AUTH_AZUREAD_AUTH_URL: <Base64-encoded authorization URL>
        GF_AUTH_AZUREAD_TOKEN_URL: <Base64-encoded token URL>
        GF_SERVER_ROOT_URL: <Base64-encoded packet core dashboards redirect URI root>
    

应用 Kubernetes Secret 对象

如果要为站点启用 Microsoft Entra ID,或在数据包核心中断后,或在更新 Kubernetes Secret 对象 YAML 文件后,需要应用 Kubernetes Secret 对象。

  1. 登录到 Azure Cloud Shell,然后选择“PowerShell”。 如果是第一次通过 Azure Cloud Shell 访问群集,请按照访问群集中的步骤配置 kubectl 访问。

  2. 为分布式跟踪和数据包核心仪表板应用 Secret 对象,指定核心 kubeconfig 文件名。

    kubectl apply -f $HOME/secret-azure-ad-local-monitoring.yaml --kubeconfig=<core kubeconfig>

  3. 使用以下命令验证 Secret 对象是否已正确应用,并指定核心 kubeconfig 文件名。 应会看到正确的“名称”、“命名空间”和“类型”值以及编码值的大小

    kubectl describe secrets -n core sas-auth-secrets --kubeconfig=<core kubeconfig>

    kubectl describe secrets -n core grafana-auth-secrets --kubeconfig=<core kubeconfig>

  4. 重启分布式跟踪和数据包核心仪表板 Pod。

    1. 获取数据包核心仪表板 Pod 的名称:

      kubectl get pods -n core --kubeconfig=<core kubeconfig>" | grep "grafana"

    2. 复制上一步的输出并将其替换为以下命令,以重启 Pod。

      kubectl delete pod sas-core-search-0 <packet core dashboards pod> -n core --kubeconfig=<core kubeconfig>

验证访问权限

按照访问分布式跟踪 Web GUI访问数据包核心仪表板中的步骤,检查是否可以使用 Microsoft Entra ID 访问本地监视工具。

更新 Kubernetes Secret 对象

如果需要更新现有的 Kubernetes Secret 对象,例如在更新重定向 URI 或续订过期的客户端密码后,请执行此步骤。

  1. 对在创建 Kubernetes Secret 对象中创建的 Kubernetes Secret 对象 YAML 文件进行所需的更改。
  2. 应用 Kubernetes Secret 对象
  3. 验证访问权限

后续步骤

如果尚未为专用移动网络设计策略控制配置,现在请这样做。 这样就可以自定义数据包核心实例对流量应用服务质量 (QoS) 特征的方式。 还可以阻止或限制特定的流。