amazon-web-services - S3 需要哪些权限才能让 AWS MediaConverter 有权写入文件?
问题描述
我们正在使用 AWS MediaConverter 将视频转换为 mp4 格式。但是 MediaConvrter 在工作中给出了这个错误:
Unable to write to output file [s3://{path_to_file}]: [Failed to write data: Access Denied]
显然,MediaConverter 没有对 bucker 的写访问权限,但我不知道如何授予它们。
我们对 S3 有以下政策:
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::{CloudFront-origin}"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::{S3-bucket}/*"
},
{
"Sid": "2",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::{role-for-our-API}",
"arn:aws:iam::{MediaConverter-role}"
]
},
"Action": "*",
"Resource": "arn:aws:s3:::{S3-bucket}/*"
}
]
}
我们的 ACL 仅为 Bucket Owner 提供写入、列表权限。以前每个人都可以列出和写入对象并且 MediaConverter 工作,但我们发现我们不能接受每个人的列出和写入权限。
每个点都关闭了阻止公共访问。
我们用于 API 的 IAM 用户和用于 MediaConverter 的角色拥有 S3 (AmazonS3FullAccess) 的所有权限。
感谢任何帮助,谢谢。
解决方案
我有同样的问题。我使用的是我修改过的默认 MediaConvert 角色,它没有我想要做的事情的权限。
因此,我为 MediaConvert 创建了一个新角色。
命名它MediaConvertRole
。
政策
注意:点击“附加政策”按钮,这些是亚马逊提供的预制政策。您不必自己从头开始创建这些。
- AmazonS3FullAccess
谁的政策看起来像这样:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:*",
"s3-object-lambda:*"
],
"Resource": "*"
}
]
}
- AmazonAPIGatewayInvokeFullAccess
谁的政策看起来像这样:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"execute-api:Invoke",
"execute-api:ManageConnections"
],
"Resource": "arn:aws:execute-api:*:*:*"
}
]
}
创建 MediaConvert 作业时,请确保选择正确的角色:
推荐阅读
- reactjs - 如何在 reactbootstrap 表搜索栏中添加 autocomplete=off 属性?
- javascript - 在单击 ReactJS 时添加输入
- javascript - 如何在 Javascript 的拼接数组中使用 .findIndex() 方法?
- javascript - 如何在 express 节点 js 中添加 sameSite=none 和安全
- postgresql - 如何在 Postgresql 中将 10.5 个月转换为 315 天?
- python - 在 sympy 中用隐函数求解 KKT 方程
- javascript - 基于 3 个多选选项隐藏表格行
- python - 如何使用 pandas 打开和修改 Excel 文件中的值
- linux-kernel - 有没有办法监控内核模块何时出现错误并相应地执行操作?
- javascript - cypress-file-upload attachFile 不是函数