로컬 모니터링 도구에 대해 Microsoft Entra ID 사용

Azure Private 5G Core는 에지에서 배포를 모니터링하기 위한 분산 추적패킷 코어 대시보드 도구를 제공합니다. Microsoft Entra ID 또는 로컬 사용자 이름과 암호를 사용하여 이러한 도구에 액세스할 수 있습니다. 배포의 보안을 개선하려면 Microsoft Entra 인증을 설정하는 것이 좋습니다.

이 방법 가이드에서는 Microsoft Entra ID를 사용하여 로컬 모니터링 도구에 대한 액세스를 인증하는 사이트를 배포하거나 구성한 후 완료해야 하는 단계를 수행합니다. 로컬 사용자 이름 및 암호를 사용하여 분산 추적 및 패킷 코어 대시보드에 액세스하기로 결정한 경우 이 작업을 따를 필요가 없습니다.

주의

Azure Private 5G Core가 실행되는 Azure Stack Edge 디바이스에서 웹 프록시가 사용하도록 설정되면 로컬 모니터링 도구용 Microsoft Entra ID가 지원되지 않습니다. 웹 프록시를 통해 전송되지 않는 트래픽을 차단하는 방화벽을 구성한 경우 Microsoft Entra ID를 사용하도록 설정하면 Azure Private 5G Core 설치가 실패합니다.

필수 조건

  • 프라이빗 모바일 네트워크를 배포하기 위한 필수 작업 완료사이트에 필요한 정보 수집의 단계를 완료해야 합니다.
  • 인증 유형으로 Microsoft Entra ID가 설정된 사이트를 배포해야 합니다.
  • 관리 네트워크에서 설정한 로컬 모니터링 도구에 액세스하기 위한 IP 주소를 식별합니다.
  • Private Mobile Network를 만드는 데 사용한 활성 구독에 대한 액세스 권한이 있는 계정을 사용하여 Azure Portal에 로그인할 수 있는지 확인합니다. 이 계정은 Microsoft Entra ID에서 애플리케이션을 관리할 수 있는 권한이 있어야 합니다. 예를 들어 필요한 권한이 있는 Microsoft Entra 기본 제공 역할에는 애플리케이션 관리자, 애플리케이션 개발자 및 클라우드 애플리케이션 관리자가 포함됩니다. 이 액세스 권한이 없는 경우 테넌트 Microsoft Entra 관리자에게 문의하여 Microsoft Entra ID로 사용자 역할 할당에 따라 사용자에게 올바른 역할이 할당되었는지 확인할 수 있습니다.
  • 로컬 컴퓨터에 Azure Arc 지원 Kubernetes 클러스터에 대한 코어 kubectl 액세스 권한이 있는지 확인합니다. 그러려면 Core 네임스페이스 액세스에 따라 가져올 수 있는 코어 kubeconfig 파일이 필요합니다.

로컬 모니터링 IP에 대한 DNS(Domain System Name) 구성

애플리케이션을 등록하고 리디렉션 URI를 구성할 때 로컬 모니터링 도구에 액세스하기 위한 IP 주소가 아닌 도메인 이름을 포함하려면 리디렉션 URI가 필요합니다.

DNS 레코드를 만들려는 DNS 영역에 대한 신뢰할 수 있는 DNS 서버에서 도메인 이름을 관리 네트워크에서 설정한 로컬 모니터링 도구에 액세스하는 데 사용되는 IP 주소로 확인하도록 DNS 레코드를 구성합니다.

응용 프로그램 등록

이제 Microsoft Entra ID로 새 로컬 모니터링 애플리케이션을 등록하여 Microsoft ID 플랫폼과 신뢰 관계를 설정합니다.

배포에 여러 사이트가 포함된 경우 모든 사이트에 대해 동일한 두 개의 리디렉션 URI를 사용하거나 각 사이트에 대해 서로 다른 URI 쌍을 만들 수 있습니다. 사이트당 최대 2개의 리디렉션 URI를 구성할 수 있습니다. 배포용 애플리케이션을 이미 등록했으며 사이트 전체에서 동일한 URI를 사용하려는 경우 이 단계를 건너뛰어도 됩니다.

참고 항목

이러한 지침에서는 분산 추적 및 패킷 코어 대시보드 모두에 단일 애플리케이션을 사용하고 있다고 가정합니다. 이러한 두 도구에 대해 서로 다른 사용자 그룹에 대한 액세스 권한을 부여하려는 경우 패킷 코어 대시보드 역할에 대해 하나의 애플리케이션과 분산 추적 역할에 대한 애플리케이션을 대신 설정할 수 있습니다.

  1. 빠른 시작: Microsoft ID 플랫폼에 애플리케이션 등록에 따라 로컬 모니터링 도구에 대한 새 애플리케이션을 Microsoft ID 플랫폼에 등록합니다.

    1. 리디렉션 URI 추가에서 플랫폼을 선택하고 다음 두 개의 리디렉션 URI를 추가합니다. 여기서 <로컬 모니터링 도메인>로컬 모니터링 IP에 대한 DNS(Domain System Name) 구성에서 설정한 로컬 모니터링 도구의 도메인 이름입니다.

      • https://<로컬 모니터링 도메인>/sas/auth/aad/callback
      • https://<로컬 모니터링 도메인>/grafana/login/azuread
    2. 자격 증명 추가에서 단계에 따라 클라이언트 비밀을 추가합니다. 이 필드는 비밀을 만든 직후에만 사용할 수 있으므로 열 아래에 비밀을 기록해야 합니다. 이것은 이 절차의 뒷부분에서 필요한 클라이언트 비밀 값입니다.

  2. 앱 역할 UI에 따라 다음 구성을 사용하여 애플리케이션에 대한 역할을 만듭니다.

    • 허용되는 멤버 유형에서 사용자/그룹을 선택합니다.
    • 에 만들려는 각 역할에 대한 관리자, 보기 권한자편집자 중 하나를 입력합니다. 분산 추적의 경우 sas.user 역할도 필요합니다.
    • 이 앱 역할을 사용하도록 설정하시겠습니까?에서 확인란이 선택되어 있는지 확인합니다.

    패킷 핵심 대시보드 및 분산 추적 도구에 대한 액세스를 관리할 때 이러한 역할을 사용할 수 있습니다.

  3. 역할에 사용자 및 그룹 할당에 따라 만든 역할에 사용자 및 그룹을 할당합니다.

Kubernetes 비밀 개체에 대한 정보 수집

  1. 아래 표의 값을 수집하세요.

    수집 방법 Kubernetes 비밀 매개 변수 이름
    테넌트 ID Azure Portal에서 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/72f998bf-86f1-31af-91ab-2d7cd001db56/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/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 Portal로 이동하여 사이트의 Packet Core 컨트롤 플레인 리소스로 이동합니다. 블레이드의 로컬 액세스 수정 탭을 선택합니다.

  1. 인증 유형Microsoft Entra ID로 설정된 경우 계속해서 Kubernetes 보안 비밀 개체 만들기를 진행합니다.
  2. 그렇지 않은 경우:
    1. 인증 유형 드롭다운에서 Microsoft Entra ID를 선택합니다.
    2. 검토를 선택합니다.
    3. 제출을 선택합니다.

Kubernetes 비밀 개체 만들기

Azure Private 5G Core 애플리케이션에서 Microsoft Entra ID를 지원하려면 Kubernetes 비밀이 포함된 YAML 파일이 필요합니다.

  1. Kubernetes 비밀 개체에 대한 정보 수집에서 수집한 각 값을 Base64 형식으로 변환합니다. 예를 들어 Azure Cloud Shell Bash 창에서 다음 명령을 실행할 수 있습니다.

    echo -n <Value> | base64
    
  2. Base64로 인코딩된 값을 포함하는 secret-azure-ad-local-monitoring.yaml 파일을 만들어 분산 추적 및 패킷 코어 대시보드를 구성합니다. 분산 추적에 대한 비밀의 이름은 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:
        client_id: <Base64-encoded client ID>
        client_secret: <Base64-encoded client secret>
        auth_url: <Base64-encoded authorization URL>
        token_url: <Base64-encoded token URL>
        root_url: <Base64-encoded packet core dashboards redirect URI root>
    

Kubernetes 비밀 개체 적용

사이트에 대해 Microsoft Entra ID를 사용하도록 설정하는 경우, 패킷 코어 중단 후 또는 Kubernetes 비밀 개체 YAML 파일을 업데이트한 후에 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>

액세스 확인

분산 추적 웹 GUI에 액세스패킷 코어 대시보드에 액세스에 따라 Microsoft Entra ID를 사용하여 로컬 모니터링 도구에 액세스할 수 있는지 확인합니다.

Kubernetes 비밀 개체 업데이트

기존 Kubernetes 비밀 개체를 업데이트해야 하는 경우, 예를 들어 리디렉션 URI를 업데이트하거나 만료된 클라이언트 비밀을 갱신한 후 이 단계를 수행합니다.

  1. Kubernetes 비밀 개체 만들기에서 만든 Kubernetes 비밀 개체 YAML 파일을 필요에 맞게 변경합니다.
  2. Kubernetes 비밀 개체 적용.
  3. 액세스 확인

다음 단계

아직 그렇게 하지 않았다면 이제 프라이빗 모바일 네트워크에 대한 정책 제어 구성을 설계해야 합니다. 이를 통해 패킷 코어 인스턴스가 QoS(서비스 품질) 특성을 트래픽에 적용하는 방법을 사용자 지정할 수 있습니다. 특정 흐름을 차단하거나 제한할 수도 있습니다.