是否可以根据来自的IP地址访问Google云端存储分区。
在Amazon s3上,您可以在访问策略中设置此项:
"Condition" : {
"IpAddress" : {
"aws:SourceIp" : ["192.168.176.0/24","192.168.143.0/24"]
}
}
我不想使用已签名的网址。
答案 0 :(得分:3)
答案 1 :(得分:2)
此页面上的更新答案仅部分正确,对于云存储对象的访问控制用例,不建议使用。
访问上下文管理器(ACM)定义了允许访问的规则(例如IP地址)。
VPC服务控件在项目周围创建一个“孤岛”,并且可以附加ACM规则。这些规则是“入口”规则,而不是“出口”规则,意思是“该IP上的任何人都可以使用正确的IAM权限进入项目中的所有资源”。
指定IP地址的ACM规则将允许该IP地址访问该项目拥有的所有Cloud Storage Objects和所有其他受保护的资源。这通常不是预期的结果。您不能将IP地址规则应用于对象,只能应用于项目中的所有对象。 VPC服务控件旨在防止数据从项目中移出,并非旨在允许不受信任的匿名用户访问项目的资源。
答案 2 :(得分:1)
VPC服务控件[1]允许用户定义Google Cloud Platform资源(例如Cloud Storage桶)(和其他一些资源)周围的安全范围,以将数据限制在VPC内并帮助减轻数据泄露风险。
答案 3 :(得分:1)
我最近代表客户使用了VPC服务控件来尝试完成此任务。您不能使用VPC服务控件将单个存储桶中的IP地址列入白名单。 Jterrace是对的。今天还没有这样的解决方案。但是,使用VPC服务控件,您可以在给定项目中整体围绕Google Cloud Storage(GCS)服务绘制服务范围,然后将访问级别应用于项目中的服务范围以允许ip地址/ ip地址范围访问服务(及其中的资源)。含义是,在项目范围内创建的所有新存储桶都将在服务范围内创建,并因此由应用于范围的访问级别进行调节。因此,您可能希望它成为该项目中的唯一存储桶。
请注意,服务范围仅影响您指定的服务。它并不能保护整个项目。
开发者权限:
完成此操作的步骤:
注意:最佳实践是尽可能使用服务帐户或用户/组ACL提供对存储桶的访问。我知道并非总是如此。