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
Amazon web services 如何与组织中的用户共享私有S3对象或文件夹?_Amazon Web Services_Amazon S3_Software Design_System Design - Fatal编程技术网

Amazon web services 如何与组织中的用户共享私有S3对象或文件夹?

Amazon web services 如何与组织中的用户共享私有S3对象或文件夹?,amazon-web-services,amazon-s3,software-design,system-design,Amazon Web Services,Amazon S3,Software Design,System Design,网站上的用户将视频和图像上传到S3存储桶中。然后,每个用户只需输入类似于谷歌文档的电子邮件,就可以与网站上的其他用户共享他们的视频/图像 S3允许生成预签名URL,但URL的最大有效期为7天。如何永久共享S3对象 我知道S3没有文件夹的概念,但有没有办法与用户共享文件夹 首先,定义用户的含义是值得的 IAM用户通常应用于您自己组织内的员工,用于创建和管理AWS资源。不应为应用程序的最终用户创建IAM用户 因此,下面提到的“用户”都是指应用程序用户 应用程序的一般流程为: 用户通过您实现的任何身份

网站上的用户将视频和图像上传到S3存储桶中。然后,每个用户只需输入类似于谷歌文档的电子邮件,就可以与网站上的其他用户共享他们的视频/图像

S3允许生成预签名URL,但URL的最大有效期为7天。如何永久共享S3对象


我知道S3没有文件夹的概念,但有没有办法与用户共享文件夹

首先,定义用户的含义是值得的

IAM用户通常应用于您自己组织内的员工,用于创建和管理AWS资源。不应为应用程序的最终用户创建IAM用户

因此,下面提到的“用户”都是指应用程序用户

应用程序的一般流程为:

用户通过您实现的任何身份验证方法登录到您的应用程序 如果用户希望访问特定文件,或者您希望显示包含文件链接的网页,则应用程序应验证用户是否有权访问该对象 如果允许访问,应用程序应生成一个AmazonS3预签名URL,该URL允许对对象进行有时间限制的访问预签名URL仅适用于特定对象。无法为文件夹生成预签名的URL。 这些预签名URL通常在用户请求文件或显示引用文件的页面时按需生成 上述流程的一个示例是照片共享应用程序,其中用户可以彼此共享照片。共享过程可能非常复杂,包括公共照片、私人照片、与其他用户共享照片子集的用户,因此应用程序将负责确定访问权限,而不是IAM

如果希望提供到对象的永久链接,则需要实现自己的逻辑。链接应该引用所需的对象,并且应该特定于请求访问的用户。您的申请将:

验证该用户是否仍有权访问对象权限自链接生成后可能已更改 如果允许用户访问,可以直接提供对象的内容,也可以将请求重定向到一个短期的预签名URL
这种永久链接需要由您的应用程序具体实现。它类似于DropBox生成的链接。访问验证由应用程序执行,而不是由Amazon S3执行。

如果要手动授予用户访问权限,请在aws S3控制台中选择对象后转到“权限”选项卡,然后单击“其他aws帐户访问”下的“添加帐户”,并输入用户的电子邮件地址。假设用户也有一个aws帐户。回答得很好。