我在我的GCP项目中创建了一个GCS桶,我将保存一些html文件。用户将使用object URL从浏览器访问这些html文件。
我希望html url只能从属于我的组织的特定人员访问。即使有人从外部访问该URL,数据也不应该被访问。
怎么做呢?
在(1)中,您可以找到两种可用的方法来控制对Google Cloud Storage bucket内对象的访问:
-统一:您将根据您授予给他们的IAM角色提供对不同用户的访问(2)。同一桶内的所有对象将共享相同的策略(您也可以定义一组具有相同前缀的对象,而不是整个桶)
-细粒度的:除了IAM角色,您还可以使用访问控制列表(3)为每个对象定义特殊策略。这样,用户只能访问bucket中的部分对象。
一旦您根据要授予每个用户的所需权限定义了适当的策略,您将需要与他们共享对象的Authenticated URL,并且根据GCS UI,"只有授予权限的用户才能通过此链接访问对象"。
相反,如果您想使一个对象对Internet上的每个人都公开可用,您可以按照(4)为某个对象创建一个公共URL。这在(5)中也有描述:
您在云存储中执行的大多数操作必须是身份验证。唯一的例外是对象上的操作允许匿名访问。对象是可匿名访问的,如果"allUsers"组具有"READ"权限。