為本機監視工具啟用 Microsoft Entra ID

Azure 私人 5G 核心提供分散式追蹤 (部分機器翻譯) 和封包核心儀表板 (部分機器翻譯) 工具來監視位於邊緣的部署。 您可以使用 Microsoft Entra ID 或本機使用者名稱和密碼來存取這些工具。 建議您設定 Microsoft Entra 驗證,以改善部署中的安全性。

在本操作指南中,您將執行部署或設定使用 Microsoft Entra ID 來驗證本機監視工具存取權的網站之後需要完成的步驟。 如果您決定使用本機使用者名稱和密碼來存取分散式追蹤和封包核心儀表板,則不需要遵循此指示。

警告

當 Microsoft Azure 私人 5G 核心執行所在的 Azure Stack Edge 裝置上已啟用 Web Proxy 時,不支援為本機監視工具使用 Microsoft Entra ID。 如果您已設定防火牆來封鎖未透過 Web Proxy 傳輸的流量,則啟用 Microsoft Entra ID 會導致 Azure 私人 5G 核心安裝失敗。

必要條件

  • 您必須已完成完成部署私人行動網路的必要條件工作 (部分機器翻譯) 和收集網站的必要資訊 (部分機器翻譯) 中的步驟。
  • 您必須已部署網站,並將 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,其中 [本機監視網域]<> 是您在設定本機監視 IP 的網域名稱系統 (DNS) 中設定之本機監視工具的網域名稱:

      • https://<本機監視網域>/sas/auth/aad/callback
      • https://<本機監視網域>/grafana/login/azuread
    2. 在 [新增認證] 中,遵循步驟以新增用戶端密碼。 請務必記錄 [值] 資料行下的祕密,因為此欄位只有在建立秘密之後可用。 這是您稍後在此程序中需要的 [用戶端密碼] 值。

  2. 遵循應用程式角色 UI,使用下列設定建立應用程式的角色:

    • 在 [允許的成員類型] 中,選取 [使用者/群組]
    • 在 [值] 中,輸入系統管理員檢視人員編輯人員,以取得您要建立的每個角色。 針對分散式追蹤,您也需要 sas.user 角色。
    • 在 [要啟用此應用程式角色嗎?] 中,確定已選取該核取方塊。

    管理對封包核心儀表板和分散式追蹤工具的存取權時,您將能夠使用這些角色。

  3. 遵循將使用者和群組指派給角色,將使用者和群組指派給您建立的角色。

收集 Kubernetes 祕密物件的資訊

  1. 收集下表中的值。

    如何收集 Kubernetes 祕密參數名稱
    租用戶識別碼 在 Azure 入口網站中,搜尋 Microsoft Entra ID。 您可以在 [概觀] 頁面中找到 [ 租使用者標識符 ] 字段。 tenant_id
    應用程式 (用戶端) 識別碼 瀏覽至您剛才建立的新本機監視應用程式註冊。 您可以在 [概觀] 頁面的 [基本] 標題底下,找到 [應用程式 (用戶端) 識別碼] 欄位。 client_id
    授權 URL 在本機監視應用程式註冊 [概觀] 頁面中,選取 [端點]。 複製 [OAuth 2.0 授權端點 (v2)] 欄位的內容。

    注意
    如果字串包含 organizations,請將 organizations 取代為租用戶識別碼值。 例如,
    https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize
    變成
    https://login.microsoftonline.com/72f998bf-86f1-31af-91ab-2d7cd001db56/oauth2/v2.0/authorize.
    auth_url
    權杖 URL 在本機監視應用程式註冊 [概觀] 頁面中,選取 [端點]。 複製 [OAuth 2.0 權杖端點 (v2)] 欄位的內容。

    注意
    如果字串包含 organizations,請將 organizations 取代為租用戶識別碼值。 例如,
    https://login.microsoftonline.com/organizations/oauth2/v2.0/token
    變成
    https://login.microsoftonline.com/72f998bf-86f1-31af-91ab-2d7cd001db56/oauth2/v2.0/token.
    token_url
    用戶端密碼 您在於上一個步驟中建立用戶端密碼時已收集此資訊。 client_secret
    分散式追蹤重新導向 URI 根目錄 記下重新導向 URI 的下列部分:https://<本機監視網域> redirect_uri_root
    封包核心儀表板重新導向 URI 根目錄 記下封包核心儀表板重新導向 URI 的下列部分:https://<本機監視網域>/grafana root_url

修改本機存取權

移至 Azure 入口網站,並瀏覽至您網站的封包核心控制平面資源。 選取刀鋒視窗的 [修改本機存取權] 索引標籤。

  1. 如果 [驗證類型] 設定為 [Microsoft Entra ID],請繼續建立 Kubernetes 祕密物件
  2. 否則:
    1. 從 [驗證類型],選取 [Microsoft Entra ID]
    2. 選取審查
    3. 選取 [提交]

建立 Kubernetes 祕密物件

若要在 Azure 私人 5G 核心應用程式上支援 Microsoft Entra ID,您需要包含 Kubernetes 祕密的 YAML 檔案。

  1. 將您在收集 Kubernetes 祕密物件的資訊中收集的每個值轉換成 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 祕密物件

如果您要在封包核心中斷或更新 Kubernetes 祕密物件 YAML 檔案之後為網站啟用 Microsoft Entra ID,則必須套用 Kubernetes 祕密物件。

  1. 登入 Azure Cloud Shell (部分機器翻譯),並選取 [PowerShell]。 如果這是您第一次透過 Azure Cloud Shell 存取您的叢集,請遵循存取您的叢集 (英文) 來設定 kubectl 存取權。

  2. 針對分散式追蹤和封包核心儀表板套用祕密物件,並指定核心 kubeconfig 檔案名稱。

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

  3. 使用下列命令來確認祕密物件是否已正確套用,並指定核心 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 祕密物件

如果您需要更新現有的 Kubernetes 祕密物件,請遵循此步驟;例如,更新您的重新導向 URI 或更新過期的用戶端密碼之後。

  1. 對您在建立 Kubernetes 祕密物件 (部分機器翻譯) 中建立的 Kubernetes 祕密物件 YAML 檔案進行必要變更。
  2. 套用 Kubernetes 祕密物件 (部分機器翻譯)。
  3. 驗證存取權 (部分機器翻譯)。

下一步

如果您尚未設計私人行動網路的原則控制設定,現在請開始進行。 這可讓您自訂封包核心執行個體如何對流量套用服務品質 (QoS) 特性。 您也可以封鎖或限制特定流程。