Sri*_*mal 9 security url amazon-s3
我打算将用户重定向到存储在S3中的敏感资源的预签名URL.这些是在检查用户权限后产生的,并且具有激进的超时(30秒).但我担心的是,我的客户端计算机上的某些恶意软件是否可能捕获该URL并仍然在URL的过期时间内下载该文件.或者我只是太偏执了?
如果之前已经回答过,请指出我的方向.感谢您的帮助.
Anyone who obtains the URL before expiry can use it to access the data. S3 supports bucket policies that limit the IP addresses that are allowed access to data:
http://docs.aws.amazon.com/AmazonS3/latest/dev/AccessPolicyLanguage_UseCases_s3_a.html
但是,在这种情况下,您担心客户端计算机上的恶意软件。所以那无济于事。您是否考虑过加密数据,以便只有客户端进程才能解密?
您仍然容易受到不安全/粗心的客户端以某种方式泄漏数据的影响。
我发现了这个 - http://docs.aws.amazon.com/AmazonS3/latest/dev/AuthUsingTempFederationTokenRuby.html 并尝试了一下。似乎有效。解释文档中的代码 -
# Start a session with restricted permissions.
sts = AWS::STS.new()
policy = AWS::STS::Policy.new
policy.allow(
:actions => ["s3:ListBucket"],
:resources => "arn:aws:s3:::#{bucket_name}"
).condition.add(:like, :referer, "domain.com")
session = sts.new_federated_session(
'User1',
:policy => policy,
:duration => 2*60*60)
Run Code Online (Sandbox Code Playgroud)
因此,我们创建的策略可以具有客户端下载的原始 IP 地址或/并且可以是设置为我的应用程序域的 aws:Referer 字段。我认为这至少对您的资源造成了一定程度的阻碍。我明白了,IP 地址或引用者很容易被欺骗。但总比没有任何保护好。
| 归档时间: |
|
| 查看次数: |
5054 次 |
| 最近记录: |