齐柏林飞艇数据模型如何描述复杂的GCP IAM策略?

时间:2020-10-26 17:55:30

标签: acl google-iam google-cloud-iam

根据本文,我对实施桑给巴尔论文(link)感兴趣:

Google的Cloud IAM系统是在Zanzibar的ACL存储和评估系统之上构建的。

但是我不了解数据模型如何处理GCP IAM策略:

示例:

  • 数据集D在项目P中,该项目P在文件夹F中
  • 开发人员“ dev”是G组的成员,G在文件夹B上具有BQ阅读器角色。

Zepeling如何发现开发人员具有有效的bigquery.dataset.read权限来执行所需的操作?

这是我对数据模型的猜测:


+----------------------------------+------------+---------------------+----------------------------------------------------------------+
|             object               |  relation  |      usertset       |                           semantics                            |
+----------------------------------+------------+---------------------+----------------------------------------------------------------+
| group:G                          | member     | dev                 | "dev is member of group G"                                     |
| project:P                        | parent     | folder:F#..         | "project P belongs to folder F"                                |
| dataset:D                        | parent     | project:P#..        | "dataset D belongs to project P"                               |
|                                  |            |                     |                                                                |
| permission:bigquery.dataset.read | permission | role:BigQueryViewer | "BigQueryViewer role has the bigquery.dataset.read permission" |
| role:BigQueryViewer              | role       | group:G             | "group G has the BigQueryViewer role"                          |
+----------------------------------+------------+---------------------+----------------------------------------------------------------+


但这无法正常工作,因为我无法正确表达“组G在文件夹B上具有BigQueryViewer角色”。缺了点什么。 GCP IAM是否定义其他关系?

0 个答案:

没有答案