액세스_필터

용도

Explore: Explore_name {
access_filter: {
field: full_Scope_field
user_attribute: user_attribute_name
}
}
계층 구조
access_filter
기본값
없음

결제 가능
LookML 필드 이름 및 연결된 사용자 속성

특수 규칙
동일한 탐색에서 여러 access_filter 매개변수를 적용할 수 있습니다.

정의

access_filter를 사용하면 사용자별 데이터 제한을 적용할 수 있습니다. 대부분의 LookML 매개변수와 달리 제대로 작동하려면 Looker의 다른 설정과 함께 사용해야 합니다. access_filter 매개변수는 단일 탐색에만 사용할 수 있으므로 제한사항이 필요한 각 탐색에 access_filter 매개변수를 적용해야 합니다.

access_filter가 필요한 모든 탐색에 추가하는 것을 잊지 마세요. access_filter를 추가해야 하는 탐색에 추가하는 것을 잊어버리면 데이터가 제한되지 않으며 사용자는 해당 탐색 분석의 모든 데이터를 볼 수 있습니다.

access_filter의 동작은 사용자와 함께 앉아서 사용자가 쿼리를 실행하기 전에 탐색 UI에서 하나 이상의 필터를 적용해야 하는 것과 비슷합니다. 예를 들어 사용자가 일부 고객만 다룰 수 있으므로 해당 사용자에게 고객 이름 필터를 적용해야 합니다.

액세스 필터를 구현하려면 다음 단계를 따르세요.

  1. 제한이 필요한 필드를 결정합니다. 위의 예에서 사용자는 이름이라는 측정기준과 함께 고객 탐색 분석을 사용할 수 있습니다. 이 필드는 customer.name으로 참조합니다.
  2. 해당 탐색 분석과 상호작용하려면 모든 사용자에게 액세스 필터 값이 필요합니다. 이 예에서는 모든 사용자에게 표시될 수 있는 고객 이름 목록이 필요합니다. Looker의 사용자 속성 기능을 활용하여 각 사용자 또는 사용자 그룹에 이 값을 적용합니다. Looker의 사용자 속성 기능은 사용자 속성 문서 페이지에서 자세히 알아볼 수 있습니다. allowed_customers 사용자 속성을 만든다고 가정해 보겠습니다.
  3. 마지막으로 만든 사용자 속성을 필터로 사용해야 하는 필드에 연결합니다. 이 예에서는 다음과 같이 allowed_customers 사용자 속성을 customer.name 필드에 연결하려고 합니다.
explore: customer {
  access_filter: {
    field: customer.name
    user_attribute: allowed_customers
  }
}

Examples

사용자가 판매 지역에 대한 정보를 보도록 제한하기:

explore: customer {
  access_filter: {
    field: sales.region
    user_attribute: sales_region
  }
}

사용자가 고객 내 특정 부서에 대한 정보만 보도록 제한하기:

explore: customer {
  access_filter: {
    field: customer.name
    user_attribute: allowed_customers
  }
  access_filter: {
    field: product.department
    user_attribute: allowed_departments
  }
}

일반 과제

access_filter에는 전체 범위의 필드 이름이 필요합니다.

뷰 이름 없이 필드 이름을 작성하는 경우 Looker의 대부분 매개변수는 매개변수가 사용된 위치를 기반으로 뷰 이름을 가정합니다. 그러나 access_filter는 이러한 방식으로 작동하지 않으므로 뷰 이름과 필드 이름을 모두 써야 합니다.

예를 들어 정상적으로 작동하고 name가 고객 이름으로 해석될 수 있습니다.

explore: customer {
  access_filter: {
    field: name
    user_attribute: allowed_customers
  }
}

하지만 실제로는 그렇지 않으며 오류 메시지가 표시됩니다. 대신 다음과 같이 작성해야 합니다.

explore: customer {
  access_filter: {
    field: customer.name
    user_attribute: allowed_customers
  }
}

관리자가 UI에서 필터 값을 설정해야 함

access_filter를 사용하는 탐색에 액세스하는 모든 사용자는 참조된 사용자 속성에 값이 있어야 합니다. 이는 관리자 역할이 있는 사용자에게 모든 데이터를 볼 수 있음에도 적용됩니다. 사용자 속성 값을 설정하지 않은 사용자가 탐색 분석을 보려고 할 때 오류가 발생합니다.

  • 관리자 또는 다른 사용자에게 문자열 필드의 모든 값에 대한 액세스 권한을 부여하려면 사용자 속성 데이터 유형을 문자열 필터 (고급)로 설정하고 %, NULL 값을 사용합니다.

  • 관리자 또는 다른 사용자에게 숫자 필드의 모든 값에 대한 액세스 권한을 부여하려면 사용자 속성 데이터 유형을 숫자 필터 (고급)로 설정하고 <0, >=0, NULL 값을 사용합니다.