媒体转换服务上的 AWS IAM 角色策略问题 [无法打开输入文件 [无法读取数据:AssumeRole 失败]]]
Posted
技术标签:
【中文标题】媒体转换服务上的 AWS IAM 角色策略问题 [无法打开输入文件 [无法读取数据:AssumeRole 失败]]]【英文标题】:AWS IAM Role Policy Issue on Media Convert Service [ Cannot open input file [Failed to read data: AssumeRole failed]]] 【发布时间】:2021-10-05 19:02:10 【问题描述】:我正在努力使用 AWS IAM 角色策略,我正在关注 Lambda 函数的教程,以便在上传新文件时从 s3 存储桶事件中读取并将其发送到 AWS MediaConvert 以转换视频文件。 Lambda 函数能够在测试中从 s3 读取,但它在 MediaConvert 的工作失败。
我已经为角色设置了策略,并且还提供了内联策略,但我仍然无法让它发挥作用。
AWS Elemental MediaConvert Screenshot
为 IAM ROLE 设置的策略
IAM Policies
内联策略的 Json
lambda-s3-policy-inlinepolicy
"Version": "2012-10-17",
"Statement": [
"Sid": "ExampleStmt",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::aws-mybucket-01/*"
]
]
政策摘要 PolicySummaryImg
VodLambdaRole
"Version": "2012-10-17",
"Statement": [
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "*",
"Effect": "Allow",
"Sid": "Logging"
,
"Action": [
"iam:PassRole"
],
"Resource": [
"arn:aws:iam::myAccountID:role/my-lambda-role"
],
"Effect": "Allow",
"Sid": "PassRole"
,
"Action": [
"mediaconvert:*"
],
"Resource": [
"*"
],
"Effect": "Allow",
"Sid": "MediaConvertService"
,
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Resource": "arn:aws:iam::myAccountID:role/my-lambda-role"
]
PolicySummary
【问题讨论】:
我有点困惑......你提到了一个 AWS Lambda 函数,但错误出现在 MediaConvert 控制台中。那么错误的根源在哪里? (我熟悉 IAM,但不熟悉 MediaConvert。)MediaConvert 是访问 S3 对象本身,还是触发 AWS Lambda 函数来访问 S3 对象? mediaConvert 访问 s3 对象本身,并在转换视频后将其输出到 s3 存储桶。错误源自 MediaConvert - 错误 1434,即 IAM 问题 【参考方案1】:确保分配给 MediaConvert 作业的 IAM 角色具有信任 MediaConvert 的信任策略:
"Version": "2012-10-17",
"Statement": [
"Sid": "",
"Effect": "Allow",
"Principal":
"Service": "mediaconvert.amazonaws.com"
,
"Action": "sts:AssumeRole"
]
这通常在您在管理控制台中创建 IAM 角色并选择 MediaConvert 作为服务时自动生成。
【讨论】:
谢谢约翰,它成功了。我必须将 mediaconvert 添加到信任策略中 太棒了!请将此标记为已接受的答案,以便未来的读者可以识别解决方案。以上是关于媒体转换服务上的 AWS IAM 角色策略问题 [无法打开输入文件 [无法读取数据:AssumeRole 失败]]]的主要内容,如果未能解决你的问题,请参考以下文章
AWS IAM 策略允许用户创建具有特定策略/角色的 IAM 用户