Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 来自S3或其他地方的共享内容_Security_Amazon S3_Sharing - Fatal编程技术网

Security 来自S3或其他地方的共享内容

Security 来自S3或其他地方的共享内容,security,amazon-s3,sharing,Security,Amazon S3,Sharing,如果您有一个应用程序,其中用户在S3存储桶中拥有数据,但可以选择与谁共享数据,那么保护这些数据的最佳技术是什么?例如,如果Instagram使用S3(或其他集中式存储提供商),那么Instagram将如何保护其图像数据,使您只能看到授权查看的图片 大型url字符串的模糊性似乎是一种方法,但我很好奇是否有更好的技术?默认情况下,Amazon S3中的所有对象都是私有的。然后您可以添加权限,以便人们可以访问您的对象。这可以通过以下方式完成: 适用于单个对象的访问控制列表 将规则应用于整个存储桶的存

如果您有一个应用程序,其中用户在S3存储桶中拥有数据,但可以选择与谁共享数据,那么保护这些数据的最佳技术是什么?例如,如果Instagram使用S3(或其他集中式存储提供商),那么Instagram将如何保护其图像数据,使您只能看到授权查看的图片


大型url字符串的模糊性似乎是一种方法,但我很好奇是否有更好的技术?

默认情况下,Amazon S3中的所有对象都是私有的。然后您可以添加权限,以便人们可以访问您的对象。这可以通过以下方式完成:

  • 适用于单个对象的访问控制列表
  • 将规则应用于整个存储桶的存储桶策略
  • IAM将权限应用于特定用户和组
  • 授予对单个对象临时访问权限的预签名URL
如果您希望“选择与谁共享”,有两种选择:

  • 如果此人在IAM中定义为用户,则为该用户分配权限
  • 如果IAM中未定义此人(如Instagram用户),则使用预签名URL
授予对S3对象的访问权,作为“覆盖”访问控制的一种方式。通常私有对象可以通过URL访问,方法是附加到期时间和签名。这是一种从AmazonS3提供私有内容的好方法

基本上,如果应用程序确定用户有权访问Amazon S3中的对象,它可以生成一个链接,提供对该对象的临时访问。具有该链接的任何人都可以访问该对象,但一旦时间段过期,该对象将不再工作

预签名URL可以通过AWS SDK生成(适用于最流行的编程语言)。也可以通过中的aws s3 presign命令生成

预先签名的URL甚至可以在网页中使用。例如,HTML可能使用
作为预签名URL引用图片。这样,页面上就可以显示私人图片,但搜索引擎将无法抓取该图片