lookml-access-grants 详细介绍
用途
该技能用于在 LookML 中创建 Access Grants(访问授权),以实现行级或对象级安全控制。它适用于需要根据用户属性限制数据或对象可见性的场景。
主要能力
- 在 Model 层定义 Access Grant,将 user_attribute 与一组 allowed_values 关联。
- 通过 required_access_grants: [grant_name] 在 Explore、Join、View 或 Field 层应用授权。
- 支持字段级安全,例如在 dimension 上设置 required_access_grants。
- 用户必须匹配所有列出的授权才能看到对应对象。
使用方式
- 定义 Access Grant(在 model 文件中):
access_grant: can_view_finance {
user_attribute: department
allowed_values: ["finance", "executive"]
}
- 应用 Access Grant:
- 在 view 文件中:
view: finance_data {
required_access_grants: [can_view_finance]
# ...
}
- 在字段级:
dimension: salary {
type: number
sql: ${TABLE}.salary ;;
required_access_grants: [can_view_finance]
}
可在 Explore、Join、View 或 Field 层使用 required_access_grants。
适用场景
- 需要根据用户属性(如部门)控制数据行或对象可见性的 Looker 项目。
- 实现字段级安全,例如隐藏薪资等敏感字段。
限制与最佳实践
- 精确匹配:allowed_values 必须与用户属性值完全一致,不支持通配符或部分匹配。
- 叠加性:授权是累加的。若某 View 需要 Grant A 而某 Field 需要 Grant B,则用户需同时具备两者才能看到该字段。
- 用户必须匹配所有列出的授权才能看到对应对象。
其余平台、收费、价格或具体使用步骤暂未提供。