amazon-web-services - 如何允许 cognito 用户访问他们自己的 S3 文件夹

标签 amazon-web-services amazon-s3 boto3 amazon-cognito amazon-iam

我想要的是让 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”。

非常感谢任何帮助。

最佳答案

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

关于amazon-web-services - 如何允许 cognito 用户访问他们自己的 S3 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53101155/

相关文章:

amazon-s3 - AWS Lambda - 有没有办法在事件发生时将参数传递给 lambda 函数

iOS NSURLErrorDomain 代码=-1200 "An SSL error has occurred and a secure connection to the server cannot be made."

amazon-s3 - 使用 AWS-cdk 和 aws lambda 时日志传送权限不足

python - Boto 3 卡在 Lambda 中

python-3.x - 使用 boto3 验证 AWS 凭证

powershell - 如何从 PowerShell 输出中删除大括号

c# - 通过 Amazon SES SMTP 错误发送电子邮件

email - AWS Elastic Beanstalk - 邮件(发送和接收电子邮件)

amazon-web-services - 获得许可被拒绝(公钥)。在 AWS EC2 实例中设置 hadoop 集群时出错

javascript - ExtJS 亚马逊 SDK