简体   繁体   中英

Access Denied Excemtion when Using AWS Elastic Transcoder on website

I am getting an 403 error when trying to use AWS Elastic Transcoder on my test site and I can't seem to figure out where the problem lies. I have checked in my IAM policies and identity pools etc. to no avail.

The error:

GET https:// elastictranscoder.us-east-1.amazonaws.com/2012-09-25/pipelines/xxxxxxxxxxxxx-xxxxxx 403 (Forbidden) index.html:xxx AccessDeniedException: User: arn:aws:sts::xxxxxxxxxxxx:assumed-role/Cognito_Unauth_Role/CognitoIdentityCredentials is not authorized to perform: elastictranscoder:CreateJob on resource: arn:aws:elastictranscoder:us-east-1: xxxxxxxxxxxxx:pipeline/xxxxxxxxxxxxx-xxxxxx

 AWS.config.region = 'xx - xxx - x'; // Region AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: "xx-xxx-x:xxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx”, }); var elastictranscoder = new AWS.ElasticTranscoder(); var button = document.getElementById('button'); button.addEventListener('click', function() { var params = { PipelineId: 'xxxxxxxxxxxxxx', /* required */ Input: { Key: “xxxxxxxxxx / xxxxxxx.xxx” }, OutputKeyPrefix: 'xxxxxxx / ', Outputs: [{ Key: 'xxxx.xxx', PresetId: 'xxxxxxxxxxxx', }, ], }; elastictranscoder.createJob(params, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response }); }); 

Solution! turns out I didn't know that I needed to include the AWS access key and secret key in the options section of the elastic transcoder constructor.

 var elastictranscoder = new AWS.ElasticTranscoder(options = { accessKeyId: 'xxxxxxxxxxxxxx', secretAccessKey: 'xxxxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxx' } 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM