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 s3 让Cognito用户管理对;“拥有”;S3文件夹_Amazon S3_Amazon Cognito_Amazon Iam - Fatal编程技术网

Amazon s3 让Cognito用户管理对;“拥有”;S3文件夹

Amazon s3 让Cognito用户管理对;“拥有”;S3文件夹,amazon-s3,amazon-cognito,amazon-iam,Amazon S3,Amazon Cognito,Amazon Iam,实际上,我要在这里提出两个问题: (一) 我试图找出是否有一种方法可以让Cognito用户管理对自己文件夹的访问。假设用户Dave希望与用户Anne共享其受保护的文件。我该怎么做呢 2) 一组用户如何访问bucket中相同的受限文件夹?在我的应用程序中,用户很少单独工作,他们会将文件上传到他们所属的组织 以下是我到目前为止得到的政策,但它不适合我。有没有一种方法可以直接在S3中实现我想要的功能,或者我必须进行Lambda/Dynamo/S3设置 我是否需要为我应用程序中的每个组织和用户制定唯一的

实际上,我要在这里提出两个问题:

(一) 我试图找出是否有一种方法可以让Cognito用户管理对自己文件夹的访问。假设用户Dave希望与用户Anne共享其受保护的文件。我该怎么做呢

2) 一组用户如何访问bucket中相同的受限文件夹?在我的应用程序中,用户很少单独工作,他们会将文件上传到他们所属的组织

以下是我到目前为止得到的政策,但它不适合我。有没有一种方法可以直接在S3中实现我想要的功能,或者我必须进行Lambda/Dynamo/S3设置

我是否需要为我应用程序中的每个组织和用户制定唯一的策略来实现这一目标?这不是有点过分了吗

如果能在这个话题上得到任何帮助,我将不胜感激

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::BUCKETNAME/user/${cognito-identity.amazonaws.com:sub}",
                "arn:aws:s3:::BUCKETNAME/user/${cognito-identity.amazonaws.com:sub}/*"
            ]
        }
    ]
}

您的用例超出了应该通过Bucket策略实现的范围

尝试向bucket策略添加异常和特殊情况将使规则管理变得复杂,并将开始达到极限--S3支持最大为20kb的bucket策略

一旦你了解了关于用户、对象、路径等的特定规则,那么你就应该真正通过你的中央应用程序来管理这些规则,然后通过必要时动态生成的预签名URL授予对对象的访问权


AmazonS3是一个高度可扩展、可靠的存储系统,但不要期望它具备您需要的所有功能。这就是需要你的应用程序代码的地方。

好的,很公平。我只是想知道我能在政策上走多远,所以我很感谢你的回答。