Amazon web services AWS/Cognito/IAM错误,角色未经授权
这条消息最初是在AWS开发者论坛上发布的,但似乎AWS的人群正在关注,所以我在这里复制它 大家好,我是一个绝对的AWS初学者,所以我会尽可能地说清楚 我试图使用JSAPI允许我网站上的任何用户将视频上传到S3(这很好),然后将上传的文件转换为其他格式(使用弹性转码器) 我已经建立了:Amazon web services AWS/Cognito/IAM错误,角色未经授权,amazon-web-services,amazon-s3,amazon-cognito,amazon-iam,amazon-elastic-transcoder,Amazon Web Services,Amazon S3,Amazon Cognito,Amazon Iam,Amazon Elastic Transcoder,这条消息最初是在AWS开发者论坛上发布的,但似乎AWS的人群正在关注,所以我在这里复制它 大家好,我是一个绝对的AWS初学者,所以我会尽可能地说清楚 我试图使用JSAPI允许我网站上的任何用户将视频上传到S3(这很好),然后将上传的文件转换为其他格式(使用弹性转码器) 我已经建立了: S3上的输入(非公共)和输出(公共)存储桶。输入接收用户提交的视频,该部分工作:) 弹性转码器管道(video-converter-test-pipeline-01) Cognito上的联合身份(video\u
- S3上的输入(非公共)和输出(公共)存储桶。输入接收用户提交的视频,该部分工作:)
- 弹性转码器管道(
)video-converter-test-pipeline-01
- Cognito上的联合身份(
)video\u converter\u test\u 02
- 在IAM上匹配身份验证和未授权角色(
和Cognito\u video\u converter\u test\u 02Auth\u角色
)Cognito\u video\u converter\u test\u 02Unauth\u角色
Cognito\u video\u converter\u test\u 02Unauth\u角色
有两个附加策略:
oneClick\u Cognito\u video\u converter\u test\u 02Unauth\u Role\u 1522923667877
,我自己制定的视频转换器策略
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "elastictranscoder:CreateJob",
"Resource": [
"arn:aws:elastictranscoder:*:*:pipeline/*",
"arn:aws:elastictranscoder:*:*:preset/*"
]
}
]
}
下面是我如何尝试使用JS API创建代码转换作业:
function createJob(uploadedFileKey) {
console.log("Create job", uploadedFileKey);
var params = {
PipelineId: PipelineId,
Input: {
Key: uploadedFileKey
},
Output: {
PresetId: PresetId
}
};
elastictranscoder.createJob(params, function (err, data) {
if (err) console.error(err, err.stack); // an error occurred
else console.log(data); // successful response
});
}
执行时,我得到以下错误:
错误:用户:arn:aws:sts::529773801731:假定角色/Cognito_视频_转换器_测试_02Unauth_角色/CognitoIdentityCredentials无权执行:elastictranscoder:CreateJob on resource:arn:aws:elastictranscoder:eu-west-1:529773801731:管道/1522763370759 mmowmr
我尝试使用IAM策略模拟器来理解错误,但在使用相同参数时,我得到了“允许”
我肯定我做错了什么,但我不明白是什么。我试过很多东西,但都没用。任何帮助都将不胜感激:)
提前谢谢,再见 我联系了AWS开发者支持,解决方案似乎是在IAM策略中包含以下内容:
{
"Sid": "VisualEditor3",
"Effect": "Allow",
"Action": "cognito-sync:*",
"Resource": "*"
},
{
"Sid": "VisualEditor3",
"Effect": "Allow",
"Action": "mobileanalytics:PutEvents",
"Resource": "*"
}
我联系了AWS开发人员支持,解决方案似乎在IAM策略中包含以下内容:
{
"Sid": "VisualEditor3",
"Effect": "Allow",
"Action": "cognito-sync:*",
"Resource": "*"
},
{
"Sid": "VisualEditor3",
"Effect": "Allow",
"Action": "mobileanalytics:PutEvents",
"Resource": "*"
}
你们真是太好了,但我最终还是使用了另一种视频转换服务,因为亚马逊太令人沮丧了。即使是你的建议(我再次感谢你的建议)也不令人沮丧:这个片段是从哪里来的,它意味着什么?另外,为什么AWS开发支持是解决这样一个问题的地方,不应该以某种方式记录下来吗?或者IAM策略模拟器没有完成它的工作。感到困惑:/我100%同意你的观点,并且由于这些原因,我将来可能会离开AWS。我也有同样的问题,AWS现在自动添加了这个策略,但我仍然遇到了这个问题。你真是太好了,但我最终使用了另一个视频转换服务,因为亚马逊太令人沮丧了。即使是你的建议(我再次感谢你的建议)也不令人沮丧:这个片段是从哪里来的,它意味着什么?另外,为什么AWS开发支持是解决这样一个问题的地方,不应该以某种方式记录下来吗?或者IAM策略模拟器没有完成它的工作。感到困惑:/我100%同意您的意见,并且由于这些原因,我将来可能会离开AWS。我也有同样的问题,AWS现在自动添加了此策略,但我仍然遇到了这个问题。