다음을 통해 공유


Log Analytics 작업 영역에서 테이블 수준 읽기 권한 관리

테이블 수준 액세스 설정을 사용하면 특정 사용자 또는 그룹에 테이블의 데이터에 대한 읽기 전용 권한을 부여할 수 있습니다. 테이블 수준 읽기 권한이 있는 사용자는 작업 영역과 리소스 컨텍스트 모두에서 지정된 테이블의 데이터를 읽을 수 있습니다.

이 문서에서는 테이블 수준 읽기 권한을 관리하는 두 가지 방법을 설명합니다.

참고 항목

여기에 설명된 첫 번째 방법(현재 미리 보기)을 사용하는 것이 좋습니다. 미리 보기 동안 여기에 설명된 권장 메서드는 Microsoft Sentinel 검색 규칙에 적용되지 않으므로 의도한 것보다 많은 테이블에 액세스할 수 있습니다. 또는 테이블 수준 읽기 액세스를 설정하는 레거시 방법을 사용할 수 있습니다. 단, 레거시 방법은 사용자 지정 로그 테이블과 관련된 몇 가지 제한 사항이 있습니다. 두 메서드 중 하나를 사용하기 전에 테이블 수준 액세스 고려 사항 및 제한 사항을 참조하세요.

테이블 수준 읽기 권한 설정(미리 보기)

테이블 수준 읽기 액세스 권한을 부여하려면 사용자에게 다음 두 가지 역할을 할당해야 합니다.

  • 작업 영역 수준 - 작업 영역 세부 정보를 읽고 작업 영역에서 쿼리를 실행할 수 있지만 테이블에서 데이터를 읽을 수 없는 제한된 권한을 제공하는 사용자 지정 역할.
  • 테이블 수준 - 특정 테이블로 범위가 지정된 읽기 권한자 역할.

사용자 또는 그룹에 Log Analytics 작업 영역에 대한 제한된 권한을 부여하려면 다음을 수행합니다.

  1. 작업 영역 수준에서 사용자 지정 역할 만들어 테이블의 데이터에 대한 읽기 권한은 제공하지 않고 사용자가 작업 영역 세부 정보를 읽고 작업 영역에서 쿼리를 실행할 수 있도록 합니다.

    1. 작업 영역으로 이동하여 액세스 제어(IAM)>역할을 선택합니다.

    2. 읽기 권한자 역할을 마우스 오른쪽 단추로 클릭하고 복제를 선택합니다.

      읽기 권한자 역할에 대해 복제 단추가 강조 표시된 액세스 제어 화면의 역할 탭을 보여 주는 스크린샷.

      그러면 사용자 지정 역할 만들기 화면이 열립니다.

    3. 화면의 기본 사항 탭에서

      1. 사용자 지정 역할 이름 값을 입력하고 필요에 따라 설명을 제공합니다.
      2. 기준 권한처음부터 시작으로 설정합니다.

      사용자 지정 역할 이름 및 설명 필드가 강조 표시된 사용자 지정 역할 만들기 화면의 기본 탭을 보여 주는 스크린샷.

    4. JSON 탭 >편집을 선택합니다.

      1. "actions" 섹션에서 다음 작업을 추가합니다.

        "Microsoft.OperationalInsights/workspaces/read",
        "Microsoft.OperationalInsights/workspaces/query/read" 
        
      2. "not actions" 섹션에서 다음을 추가합니다.

        "Microsoft.OperationalInsights/workspaces/sharedKeys/read"
        

      JSON 파일의 작업 섹션이 강조 표시된 사용자 지정 역할 만들기 화면의 JSON 탭을 보여 주는 스크린샷.

    5. 화면 아래쪽에서 저장>검토 + 만들기를 선택한 다음, 다음 페이지에서 만들기를 선택합니다.

  2. 관련 사용자에게 사용자 지정 역할을 할당합니다.

    1. 액세스 제어(AIM)>추가>역할 할당 추가를 선택합니다.

      역할 할당 추가 단추가 강조 표시된 액세스 제어 화면을 보여 주는 스크린샷.

    2. 사용자가 만든 사용자 지정 역할을 선택하고 다음을 선택합니다.

      사용자 지정 역할과 다음 단추가 강조 표시된 역할 할당 추가 화면을 보여 주는 스크린샷.

      그러면 사용자 지정 역할 할당 추가 화면의 멤버 탭이 열립니다.

    3. + 멤버 선택을 클릭하여 멤버 선택 화면을 엽니다.

      멤버 선택 화면을 보여 주는 스크린샷.

    4. 사용자를 검색하여 선택하고 선택을 클릭합니다.

    5. 검토 및 할당을 선택합니다.

이제 사용자는 작업 영역 세부 정보를 읽고 쿼리를 실행할 수 있지만 테이블에서 데이터를 읽을 수는 없습니다.

사용자에게 특정 테이블에 대한 읽기 권한을 부여하려면

  1. Log Analytics 작업 영역 메뉴에서 테이블을 선택합니다.

  2. 테이블 오른쪽에 있는 줄임표(...)를 선택하고 액세스 제어(IAM)를 선택합니다.

    테이블 수준 액세스 제어 단추가 강조 표시된 Log Analytics 작업 영역 테이블 관리 화면을 보여 주는 스크린샷.

  3. 액세스 제어(IAM) 화면에서 추가>역할 할당 추가를 선택합니다.

  4. 읽기 권한자 역할을 선택하고 다음을 선택합니다.

  5. + 멤버 선택을 클릭하여 멤버 선택 화면을 엽니다.

  6. 사용자를 검색하여 선택하고 선택을 클릭합니다.

  7. 검토 및 할당을 선택합니다.

이제 사용자는 이 특정 테이블에서 데이터를 읽을 수 있습니다. 필요에 따라 사용자에게 작업 영역의 다른 테이블에 대한 읽기 권한을 부여합니다.

테이블 수준 읽기 권한을 설정하는 레거시 방법

또한 테이블 수준 레거시 방법은 Azure 사용자 지정 역할을 사용하여 특정 사용자 또는 그룹에게 작업 영역의 특정 테이블에 대한 액세스 권한을 부여할 수 있도록 합니다. Azure 사용자 지정 역할은 사용자의 액세스 모드에 관계없이 작업 영역 컨텍스트 또는 리소스 컨텍스트 액세스 제어 모드가 있는 작업 영역에 적용됩니다.

특정 테이블에 대한 액세스를 정의하려면 사용자 지정 역할을 만듭니다.

  • 역할 정의의 작업 섹션에서 사용자 권한을 설정합니다.
  • Microsoft.OperationalInsights/workspaces/query/*를 사용하여 모든 테이블에 대한 액세스 권한을 부여합니다.
  • 작업에서 와일드카드를 사용할 때 특정 테이블에 대한 액세스를 제외하려면 역할 정의의 NotActions 섹션에서 제외된 테이블을 나열합니다.

다음은 특정 테이블에 대한 액세스 권한을 부여하고 거부하는 사용자 지정 역할 작업의 예제입니다.

HeartbeatAzureActivity 테이블에 대한 액세스 권한을 부여합니다.

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/Heartbeat/read",
    "Microsoft.OperationalInsights/workspaces/query/AzureActivity/read"
  ],

SecurityBaseline 테이블에만 액세스 권한을 부여합니다.

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/SecurityBaseline/read"
],

SecurityAlert 테이블을 제외한 모든 테이블에 대한 액세스 권한을 부여합니다.

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/*/read"
],
"notActions":  [
    "Microsoft.OperationalInsights/workspaces/query/SecurityAlert/read"
],

사용자 지정 테이블은 텍스트 로그HTTP 데이터 수집기 API와 같은 데이터 원본에서 수집한 데이터를 저장합니다. 테이블 유형을 식별하려면 Log Analytics에서 테이블 정보를 확인합니다.

테이블 수준 액세스의 레거시 방법을 사용하면 테이블 수준에서 개별 사용자 지정 로그 테이블에 대한 액세스 권한을 부여할 수 없지만 모든 사용자 지정 로그 테이블에 대한 액세스 권한을 부여할 수 있습니다. 모든 사용자 지정 로그 테이블에 대한 액세스 권한이 있는 역할을 만들려면 다음 작업을 사용하여 사용자 지정 역할을 만듭니다.

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/Tables.Custom/read"
],

테이블 수준 액세스 고려 사항 및 제한 사항

  • Log Analytics UI에서 테이블 수준 사용자는 작업 영역에서 모든 테이블의 목록을 볼 수 있지만 액세스 권한이 있는 테이블에서만 데이터를 검색할 수 있습니다.
  • ‘*/read’ 작업을 포함하는 표준 읽기 권한자 또는 기여자 역할은 테이블 수준 액세스 제어를 재정의하고 사용자에게 모든 로그 데이터에 대한 액세스 권한을 부여합니다.
  • 테이블 수준 액세스 권한이 있지만 작업 영역 수준 권한이 없는 사용자는 API에서는 로그 데이터에 액세스할 수 있지만 Azure Portal에서는 액세스할 수 없습니다.
  • 구독의 관리자와 소유자는 다른 권한 설정에 관계 없이 모든 데이터 형식에 액세스할 수 있습니다.
  • 작업 영역 소유자는 테이블당 액세스 제어를 위해 다른 사용자와 같은 방식으로 처리됩니다.
  • 할당 수를 줄이기 위해 개별 사용자 대신 보안 그룹에 역할을 할당합니다. 이 연습은 기존 그룹 관리 도구를 사용하여 액세스를 구성하고 확인하는 데도 도움이 됩니다.

다음 단계