【问题标题】:Matching Google Cloud Storage ID to a user email address将 Google Cloud Storage ID 与用户电子邮件地址匹配
【发布时间】:2017-06-05 16:35:09
【问题描述】:

我正在寻找一种方法来确定谁将文件上传到 Cloud Storage 存储分区。所有有权写入存储桶的用户都是同一 G Suite 域中经过身份验证的用户。

Cloud Storage 中的对象 ACL 显示一个所有者标识符字符串,如下所示:

{
  "entity": "user-84fac329bceSAMPLE777d5d22b8SAMPLE77d85ac2SAMPLE2dfcf7c4adf34da46",
  "entityId": "84fac329bceSAMPLE777d5d22b8SAMPLE77d85ac2SAMPLE2dfcf7c4adf34da46",
  "role": "OWNER"
}

但是,似乎没有一种简单的方法可以将此 ID 映射回用户的电子邮件地址(或确定我知道其电子邮件地址的用户的 Cloud Storage ID,除非使用该用户帐户上传文件并查询对象 ACL)。

这是真的吗?还是我只是没有看到这样做的方法?

感谢您的帮助!

【问题讨论】:

    标签: google-cloud-storage


    【解决方案1】:

    虽然我无法为您提供具体的时间表,但我们正在积极致力于弃用规范 ID。在不久的将来,这应该不再是问题。

    与此同时,还有..选项。

    首先:用户可以在此页面上找到他们的规范 ID(不幸的是,它会让您选择一个项目,因为该页面还显示项目角色的规范 ID)。 https://console.cloud.google.com/storage/settings

    但是,如果您确实需要找出随机规范 id 的电子邮件地址,您应该能够执行这个有点丑陋的解决方法。

    1) 通过 ACL API 将用户添加到存储桶策略

        gsutil acl ch -u <canonical_id>:READ gs://<bucket>
    

    2) 获取存储桶 IAM 策略

        gsutil iam get gs://<bucket>
    

    条目应显示为电子邮件地址。

    {
      "bindings": [
        {
          "members": [
            "projectOwner:<project-id>", 
            "projectEditor:<project-id>",
          ], 
          "role": "roles/storage.legacyBucketOwner"
        }, 
        {
          "members": [
            "projectViewer:<project-id>", 
            "user:<user email here>"
          ], 
          "role": "roles/storage.legacyBucketReader"
        }
      ], 
      "etag": "CAI="
    }
    

    【讨论】:

    • 花了几个小时试图找到规范的 id 非常感谢这个评论!显然 GCP 的文档需要改进
    【解决方案2】:

    再次尝试获取 ACL。我今天刚在 2017 年 7 月 5 日尝试过,返回的 ACL 包括电子邮件地址。 Google 似乎已更新 API,将旧的 Google Cloud Storage ID 替换为用户的电子邮件地址。

    {
      "email": "email@domain.com",
      "entity": "user-email@domain.com",
      "role": "OWNER"
    }
    

    【讨论】:

    • 有趣的是,gsutil 和 UI 都显示了用户的电子邮件地址(当我问这个问题时,情况并非如此)。 storage.objectaccesscontrols JSON API 现在再次显示旧的云存储 ID,尽管我上周也确认它显示的是用户电子邮件。
    猜你喜欢
    • 2016-03-20
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    相关资源
    最近更新 更多