代码之家  ›  专栏  ›  技术社区  ›  SaravanaKumar Prithiviraj

如何在bigquery资源中检测权限删除

  •  0
  • SaravanaKumar Prithiviraj  · 技术社区  · 3 年前

    在删除bigquery表权限时找不到审核日志。我只能在云日志中找到bigquery set Iam策略日志,但在审核日志中没有删除Iam策略。关于删除bigquery表上的用户权限的审核有什么帮助吗?

    0 回复  |  直到 3 年前
        1
  •  0
  •   Zef D.    3 年前

    setIamPolicy 是用于所有IAM策略更改的方法,包括删除用户绑定的方法。

    如果用户A删除了用户B的绑定,他们只是发布了一个新的策略文档,将用户B排除在外;日志将只显示新策略,而不包含有关差异的信息。

    旧政策

    bindings:
    - members:
       - user:user-a@acme.com
       - user:user-b@acme.com
       role: roles/roles/bigquery.dataOwner
    

    新政策

    bindings:
    - members:
       - user:user-a@acme.com
       role: roles/roles/bigquery.dataOwner
    

    要查看IAM删除事件,您必须查询 赛迪亚姆政策 并评估所有政策变化。如果你想追踪 具体的 用户主体已从策略中完全删除,您可以使用 AND NOT 用于识别策略排除特定用户的更改的查询:

    protoPayload.methodName="google.iam.v1.IAMPolicy.SetIamPolicy"
    protoPayload.serviceName="bigquery.googleapis.com"
    AND NOT protoPayload.serviceData.setIamPolicyRequest.policy.bindings.members="user:<USER TO AUDIT POLICY REMOVALS>"
    

    这种方法需要注意的一点是:此筛选器不会检测用户部分从策略中删除的情况(例如,仅删除了一个角色)。