我想使用角色为Bigtable实现基于行的访问控制,以便每行可以允许一个到多个角色。我不知道如何轻松地把它变成钥匙。
有哪些模式可用于实现此类内容?
我当前的用例是使用我的其他索引作为密钥的一部分进行前缀范围查找。
答案 0 :(得分:3)
不幸的是,当前Bigtable不支持基于行的本机ACL功能。这实际上取决于您的用例,但是有几种方法可以自己实现。以下您会发现一些可能的建议:
答案 1 :(得分:0)
roles := []bigtable.Filter{bigtable.ColumnFilter("public"),
bigtable.ColumnFilter("admin")}
acl := bigtable.InterleaveFilters(roles...)
table.ReadRows(context.Background(), rr, func(r bigtable.Row) bool {
// do something
}, bigtable.RowFilter(acl))