如何允许Cognito用户访问他们自己的S3文件夹

5
我希望让AWS Cognito用户的群组(家庭)读/写S3存储桶,这些存储桶仅对该用户家族可用。
我使用Boto3 Python库创建了一个用户。现在我需要授予该用户对其在存储桶中文件夹的访问权限。
我发现了一些帖子,建议创建如下的存储桶策略:
policy = {
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "Grant user access to his folder",
        "Effect": "Allow",
        "Principal": "*",
        "Action": ["s3:PutObject"],
        "Resource": "arn:aws:s3:::BUCKET/users/${cognito-identity.amazonaws.com:sub}",
        "Condition": {
            "StringLike": {
                "cognito-identity.amazonaws.com:sub": [
                    "us-east-1:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
                    "us-east-1:yyyyyyyy-xxxx-xxxx-xxxx-xxxxxxxxxx"
                ]
            }
        }
    }
]}

但是事实证明,我们不能在存储桶的策略条件中指定"cognito-identity.amazonaws.com:sub"。
非常感谢您的帮助。

我目前也在为此苦恼。你找到解决这个问题的办法了吗?这个策略不应该附加在存储桶上而是应该附加在 Cognito 用户上吗? - Lonergan6275
@Lonergan6275 不,我没有。 - Alexey Kislitsin
1个回答

1

我认为您上面的策略需要在经过身份验证的用户的IAM角色中,而不是作为存储桶策略的一部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接