댓글 사용 중지:
사용
explore: explore_name {
access_filter: {
field: fully_scoped_field
user_attribute: user_attribute_name
}
}
|
계층 구조
access_filter |
기본값
없음
수락
LookML 필드 이름과 연결된 사용자 속성
특별 규칙
동일한 Explore에 여러 access_filter 매개변수를 적용할 수 있습니다.
|
정의
access_filter를 사용하면 사용자별 데이터 제한을 적용할 수 있습니다. 대부분의 LookML 매개변수와 달리 제대로 작동하려면 Looker의 다른 설정과 함께 사용해야 합니다. access_filter 매개변수는 단일 Explore에만 적용되므로 제한이 필요한 각 Explore에 access_filter 매개변수를 적용해야 합니다.
access_filter가 필요한 모든 Explore에access_filter를 추가해야 합니다.access_filter가 있어야 하는 Explore에access_filter를 추가하지 않으면 데이터가 제한되지 않으며 사용자가 해당 Explore의 모든 데이터를 볼 수 있습니다.
access_filter의 동작은 사용자와 함께 앉아 사용자가 쿼리를 실행하기 전에 Explore UI에서 하나 이상의 필터를 적용하도록 요구하는 것과 유사합니다. 예를 들어 사용자가 일부 고객만 처리하는 경우 사용자에게 고객 이름 필터를 적용하도록 요구할 수 있습니다.
액세스 필터를 구현하려면 다음 단계를 따라야 합니다.
- 제한이 필요한 필드를 결정합니다. 사용자에게 고객 이름 필터를 적용하도록 요구하는 예에서 사용자에게 이름이라는 측정기준이 있는 고객 Explore가 있을 수 있습니다. 이 필드를 참조하는 방법은
customer.name입니다. - 문제가 되는 탐색과 상호작용하는 모든 사용자에게 액세스 필터 값이 필요합니다. 예를 들어 모든 사용자에게 볼 수 있는 고객 이름 목록이 필요합니다. 사용자 속성 문서 페이지에서 자세히 알아볼 수 있는 Looker의 사용자 속성 기능을 사용하여 각 사용자 또는 사용자 그룹에 이러한 값을 적용합니다. allowed_customers 사용자 속성을 만든다고 가정해 보겠습니다.
- 마지막으로 만든 사용자 속성을 해당 값을 필터로 사용해야 하는 필드에 연결합니다. 이 예에서는 다음과 같이 allowed_customers 사용자 속성을
customer.name필드와 연결합니다.
explore: customer {
access_filter: {
field: customer.name
user_attribute: allowed_customers
}
}
예시
사용자가 자신의 판매 지역에 관한 정보만 볼 수 있도록 제한합니다.
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을 사용하는 Explore에 액세스하는 모든 사용자는 참조된 사용자 속성에 값이 있어야 합니다. 모든 데이터를 볼 수 있는 관리자 역할의 사용자에게도 적용됩니다. 사용자 속성 값이 설정되지 않은 사용자가 Explore를 보려고 하면 오류가 표시됩니다.
관리자 또는 다른 사용자에게 문자열 필드의 모든 값에 대한 액세스 권한을 부여하려면 사용자 속성 데이터 유형을 문자열 필터(고급)로 설정하고
%, NULL값을 사용합니다.관리자 또는 다른 사용자에게 숫자 필드의 모든 값에 대한 액세스 권한을 부여하려면 사용자 속성 데이터 유형을 숫자 필터(고급)로 설정하고
<0, >=0, NULL값을 사용합니다.
알아 두어야 할 사항
탐색에 access_filter가 포함되면 full_suggestions의 기본값이 yes로 전환됩니다.
Explore에 access_filter 매개변수가 포함되면 full_suggestions의 기본값이 yes로 전환됩니다. 이렇게 하면 탐색 분석 로직을 사용하여 추천 쿼리가 실행되므로 access_filter가 적용되어 반환되는 추천이 좁혀지고 추천 목록이 사용자가 액세스할 수 있는 데이터로만 제한됩니다.
full_suggestions을 no로 수동으로 설정하면 필터 추천 쿼리가 실행되지 않습니다.