Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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
Javascript 使用S3前缀策略。Cognito用户。Getobject返回被拒绝的权限_Javascript_Amazon Web Services_Amazon Iam_Amazon Cognito - Fatal编程技术网

Javascript 使用S3前缀策略。Cognito用户。Getobject返回被拒绝的权限

Javascript 使用S3前缀策略。Cognito用户。Getobject返回被拒绝的权限,javascript,amazon-web-services,amazon-iam,amazon-cognito,Javascript,Amazon Web Services,Amazon Iam,Amazon Cognito,我无法使用凭据AWS.config.credentials=new AWS.CognitoIdentityCredentials使用S3获取对象。我能够成功地列出对象。但是,我无法获取对象。请帮帮我。在这一部分挣扎了好几个小时。 这个问题和他相似,但他没有得到任何答案。 使用策略: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Acti

我无法使用凭据AWS.config.credentials=new AWS.CognitoIdentityCredentials使用S3获取对象。我能够成功地列出对象。但是,我无法获取对象。请帮帮我。在这一部分挣扎了好几个小时。 这个问题和他相似,但他没有得到任何答案。 使用策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "mobileanalytics:PutEvents",
                "cognito-sync:*",
                "cognito-identity:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Action": [
                "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::sailesh-test"
            ],
            "Condition": {
                "StringLike": {
                    "s3:prefix": [
                        "${cognito-identity.amazonaws.com:sub}/*"
                    ]
                }
            }
        },
        {
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:*"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::sailesh-test/${cognito-identity.amazonaws.com:sub}/*"
            ]
        }
    ]
}
Javascript代码: 这是我的javascript代码。这是客户端代码。所以,我没有改变这些值

var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
    cognitoUser.authenticateUser(authenticationDetails, {
        onSuccess: function (result) {
            console.log('access token + ' + result.getAccessToken().getJwtToken());
            AWS.config.region = 'us-east-1';
            AWS.config.credentials = new AWS.CognitoIdentityCredentials({
                IdentityPoolId : 'us-east-1:2a3a8b94-7eda-48ee-9541-1fb01f579475', 
                Logins : {
                    'cognito-idp.us-east-1.amazonaws.com/us-east-1_MsXMDEqlB' : result.getIdToken().getJwtToken()
                }
            });
            AWS.config.update({region: 'us-east-1'});
            console.log(result);
            var cognitoidentity = new AWS.CognitoIdentity();
            var params = {
                IdentityPoolId: 'us-east-1:2a3a8b94-7eda-48ee-9541-1fb01f579475',
                Logins: {
                    'cognito-idp.us-east-1.amazonaws.com/us-east-1_MsXMDEqlB' : result.getIdToken().getJwtToken()
                }
            };
            cognitoidentity.getId(params, function(err, data) {
                if (err) console.log(err, err.stack); // an error occurred
                else     console.log(data);           // returns us-east-1:5fe83d89-f0ef-42fa-a64a-4b1720f4e9da
            });
            var s3 = new AWS.S3();
            var params = {
                Bucket: 'sailesh-test', /* required */
                Key: 'us-east-1:5fe83d89-f0ef-42fa-a64a-4b1720f4e9da/sung.txt'
            };
            s3.getObject(params, function(err, data) {
                if (err) console.log(err, err.stack); // an error occurred
                else     console.log(data);           // successful response
            });
            s3.listObjects({Bucket: 'sailesh-test'}, function(err, data) {
                if (err) console.log(err);
                else console.log(data);
            });
            /*var ec2 = new AWS.EC2();
            var params = {
                ImageId: 'ami-c481fad3',
                MaxCount: 1,
                MinCount: 1,
                DryRun: true
            };
            ec2.runInstances(params, function(err, data) {
                if (err) console.log(err, err.stack); // an error occurred
                else     console.log(data);           // successful response
            });*/

        },

        onFailure: function(err) {
            alert(err);
        }

我想这是你的授权角色吧?当你在联邦身份控制台的身份浏览器中访问你的身份id时,它是否有链接到它的登录名?@james chintha你能解决你的问题吗?