2017-06-05 3 views
1

ファイルをCloud Storageバケットにアップロードしたユーザーを特定する方法を探しています。バケットに書き込むためのアクセス権を持つすべてのユーザーは、同じGスイートドメイン内の認証されたユーザーです。Google Cloud Storage IDとユーザーのメールアドレスを一致させる

クラウドストレージ内のオブジェクトのACLは、次のような所有者識別子の文字列を示しています

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

しかし、戻って、ユーザのメールアドレスにこのIDをマップする簡単な方法があることが表示されません。 (または、そのユーザーアカウントを使用してファイルをアップロードし、オブジェクトACLを照会することを除いて、電子メールを知っているユーザーのクラウドストレージIDを特定する)。

これは本当ですか?あるいは、私はこれを行う方法を見ていないだけですか?

ありがとうございました!

答えて

1

再度ACLを取得してみてください。私は今、今日07/05/2017を試しました。返されたACLには電子メールアドレスが含まれていました。 GoogleのAPIが更新され、古いGoogle Cloud Storage IDがユーザーのメールアドレスに置き換えられたようだ。興味深いことに

{ 
    "email": "[email protected]", 
    "entity": "[email protected]", 
    "role": "OWNER" 
} 
+1

、gsutilのとUIの両方が(私が質問をしたときに、これはそうではありませんでした)ユーザーの電子メールアドレスを表示します。先週、storage.objectaccesscontrols JSON APIに古いクラウドストレージIDが表示されましたが、先週もユーザーのメールが表示されていました。 – Mary

1

私はあなたに特定のタイムラインを与えることはできませんが、正式なIDを非難するように積極的に取り組んでいます。これはもう近い将来問題ではありません。

一方、オプションがあります。

最初:ユーザーはこのページで正規のIDを見つけることができます(残念ながら、このページにはプロジェクトロールの標準IDも表示されるため、プロジェクトを選択するようになります)。 https://console.cloud.google.com/storage/settings

しかし、ランダムな正準IDの電子メールアドレスを実際に探す必要がある場合は、これをややこしい回避策にする必要があります。

1)

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

2 ACL APIを介してバケットポリシーにユーザーを追加)エントリはメールアドレスとして表示されるはずです

gsutil iam get gs://<bucket> 

バケットIAMポリシーを取得します。

{ 
    "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=" 
} 
関連する問題