限制Cognito用户访问其资源?

时间:2020-02-05 17:09:48

标签: amazon-web-services amazon-s3 amazon-ec2 amazon-cognito

我有一个使用的应用程序

  • 通过“认知用户池/身份池”对用户进行身份验证并使用自定义URL提供对AWS控制台的访问权限

我希望那些用户只能看到他们的资源,我做了很多研究,但是找不到任何解决方案

对于S3,我尝试了此策略,但仍然显示访问被拒绝。这将给出什么实际值“ $ {cognito-identity.amazonaws.com:sub}”。

SELECT RTRIM(SUBSTRING(CASE WHEN d1.code = 'X' THEN ', One'   ELSE '' END
                      +CASE WHEN d2.Code = 'Y' THEN ', Two'   ELSE '' END
                      +CASE WHEN d3.code = 'Z' THEN ', Three' ELSE '' END
                      +'  ' ,3 ,17)) AS PlzHelp

对于EC2,我正在使用以下策略,如果我对它的某些值进行了硬编码,但我希望对Cognito用户而言这是动态的。我尝试放置但不起作用。

 {
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": ["s3:ListBucket"],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::mybucket"],
      "Condition": {"StringLike": {"s3:prefix": ["${cognito-identity.amazonaws.com:sub}/*"]}}
    },
    {
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::mybucket/${cognito-identity.amazonaws.com:sub}/*"]
    }
  ]
   }

要引用我的申请,以下是我的Code的链接。任何线索将不胜感激。

0 个答案:

没有答案