终止支持通知:2025 年 11 月 13 日, AWS 我们将停止对亚马逊 Elastic Transcoder 的支持。2025 年 11 月 13 日之后,您将无法再访问 Elastic Transcoder 控制台或 Elastic Transcoder 资源。
有关过渡到的更多信息 AWS Elemental MediaConvert,请访问此博客文章
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
控制 Elastic Transcoder 的访问权限
Amazon Elastic Transcoder 允许你 AWS Identity and Access Management 使用 (IAM) 来控制用户可以使用 Elastic Transcoder 做什么,并控制 Elastic Transcoder 对 Elastic Transcoder 所需的其他服务的访问权限。 AWS 使用 IAM 策略控制访问,该策略是一个可与 IAM 用户、IAM 群组或角色关联的权限集合。
控制 Elastic Transcoder 的访问权限
要提供访问权限,请为您的用户、群组或角色添加权限:
-
中的用户和群组 AWS IAM Identity Center:
创建权限集合。按照《AWS IAM Identity Center 用户指南》中创建权限集的说明进行操作。
-
通过身份提供商在 IAM 中托管的用户:
创建适用于身份联合验证的角色。按照《IAM 用户指南》中针对第三方身份提供商创建角色(联合身份验证)的说明进行操作。
-
IAM 用户:
-
创建您的用户可以担任的角色。按照《IAM 用户指南》中为 IAM 用户创建角色的说明进行操作。
-
(不推荐使用)将策略直接附加到用户或将用户添加到用户组。按照《IAM 用户指南》中向用户添加权限(控制台)中的说明进行操作。
-
要控制 Elastic Transcoder 对其他 AWS 服务的访问权限,您可以创建服务角色。在创建管道时您可以分配这些 IAM 角色,并为 Elastic Transcoder 本身授予权限以执行与转码关联的任务。
为 AWS 服务 (IAM 控制台)创建角色
登录 AWS Management Console 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/
。 -
在 IAM 控制台的导航窗格中,选择角色,然后选择创建角色。
-
对于 Trusted entity type(可信实体类型),选择 AWS 服务。
-
对于服务或使用案例,请选择服务,然后选择使用案例。用例由服务定义以包含服务要求的信任策略。
-
选择下一步。
-
对于权限策略,选项取决于您选择的使用案例:
-
如果服务定义了角色的权限,则您无法选择权限策略。
-
从一组有限的权限策略中进行选择。
-
从所有权限策略中进行选择。
-
不选择任何权限策略,创建角色后创建策略,然后将这些策略附加到该角色。
-
-
(可选)设置权限边界。这是一项高级特征,可用于服务角色,但不可用于服务相关角色。
-
打开设置权限边界部分,然后选择使用权限边界控制最大角色权限。
IAM 包含您账户中的 AWS 托管策略和客户托管策略列表。
选择要用于权限边界的策略。
-
-
选择下一步。
-
对于角色名称,选项取决于服务:
-
如果服务定义角色名称,则您无法编辑角色名称。
-
如果服务定义角色名称的前缀,您可以输入可选的后缀。
-
如果服务未定义角色名称,您可以为该角色命名。
重要
命名角色时,请注意以下事项:
-
角色名称在您内部必须是唯一的 AWS 账户,并且不能因大小写而变得唯一。
例如,不要同时创建名为
PRODROLE
和prodrole
的角色。当角色名称在策略中使用或者作为 ARN 的一部分时,角色名称区分大小写,但是当角色名称在控制台中向客户显示时(例如,在登录期间),角色名称不区分大小写。 -
创建角色后,您无法编辑该角色的名称,因为其他实体可能会引用该角色。
-
-
-
(可选)对于描述,输入角色的描述。
-
(可选)要编辑角色的使用案例和权限,请在步骤 1:选择可信实体或步骤 2:添加权限部分中选择编辑。
-
(可选)为了帮助识别、组织或搜索角色,请以键值对形式添加标签。有关在 IAM 中使用标签的更多信息,请参阅 IAM 用户指南中的AWS Identity and Access Management 资源标签。
-
检查该角色,然后选择创建角色。
用户角色和服务角色在转码过程中都很重要,例如,Elastic Transcoder 需要服务角色才能从 Amazon S3 存储桶中获取文件并在另一个 Amazon S3 存储桶中存储转码后的文件,而用户需要 IAM 角色是为了能够在 Elastic Transcoder 中创建任务。
有关 IAM 的更多信息,请参阅《IAM 用户指南》https://docs.aws.amazon.com/IAM/latest/UserGuide/。有关服务角色的更多信息,请参阅创建适用于 AWS 服务的角色。
Elastic Transcoder 的策略示例
要允许用户执行创建管道和运行任务等 Elastic Transcoder 管理功能,必须存在可将其与用户关联的策略。该部分介绍如何创建策略,还展示了用于控制 Elastic Transcoder 操作和 Elastic Transcoder 所依赖的相关服务操作的访问权限的三种策略。您可以授予 AWS 账户用户访问所有 Elastic Transcoder 操作的权限,也可以仅允许其中的一部分操作。
有关管理策略的更多信息,请参阅《IAM 用户指南》https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingPolicies.html中的管理 IAM 策略。
使用 JSON 策略编辑器创建策略
登录 AWS Management Console 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/
。 -
在左侧的导航窗格中,选择策略。
如果这是您首次选择策略,则会显示欢迎访问托管式策略页面。选择开始使用。
-
在页面的顶部,选择创建策略。
-
在策略编辑器部分,选择 JSON 选项。
-
输入或粘贴一个 JSON 策略文档。有关 IAM 策略语言的详细信息,请参阅 IAM JSON 策略参考。
-
解决策略验证过程中生成的任何安全警告、错误或常规警告,然后选择下一步。
注意
您可以随时在可视化和 JSON 编辑器选项卡之间切换。不过,如果您进行更改或在可视化编辑器中选择下一步,IAM 可能会调整策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅《IAM 用户指南》中的调整策略结构。
-
(可选)在中创建或编辑策略时 AWS Management Console,可以生成可在模板中使用的 JSON 或 YAML 策略 AWS CloudFormation 模板。
为此,请在策略编辑器中选择操作,然后选择生成 CloudFormation模板。要了解更多信息 AWS CloudFormation,请参阅AWS CloudFormation 用户指南中的AWS Identity and Access Management 资源类型参考。
-
向策略添加完权限后,选择下一步。
-
在查看并创建页面上,为您要创建的策略键入策略名称和描述(可选)。查看此策略中定义的权限以查看策略授予的权限。
-
(可选)通过以密钥值对的形式附加标签来向策略添加元数据。有关在 IAM 中使用标签的更多信息,请参阅 IAM 用户指南中的AWS Identity and Access Management 资源标签。
-
选择创建策略可保存您的新策略。
授予对 Elastic Transcoder 和 Amazon S3 的只读访问权限
以下策略向用户授予对 Elastic Transcoder 资源的只读访问权限,以及对 Amazon S3 列表操作的访问权限。该策略适用于查找和查看转码文件的权限,以及查看 IAM 账户可用的存储桶,但不需要更新、创建或删除资源或文件的权限。该策略还允许列出 IAM 账户的所有可用管道、预设和任务。要限定只能访问特定存储桶,请参阅 限制对某些资源的访问权限。
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"elastictranscoder:Read*",
"elastictranscoder:List*",
"s3:List*"
],
"Resource": "*"
}
]
}
授予创建任务的权限
以下策略授予权限,使其能够列出和获取与账户关联的所有 Elastic Transcoder 资源,创建或修改任务和预设,并使用 Amazon S3 和 Amazon SNS 的列表操作。
该策略可用于修改转码设置,以及创建或删除预设或任务的用户。它不允许创建、更新或删除管道、Amazon S3 存储桶或 Amazon SNS 通知。
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"elastictranscoder:Read*",
"elastictranscoder:List*",
"elastictranscoder:*Job",
"elastictranscoder:*Preset",
"s3:List*",
"sns:List*"
],
"Resource": "*"
}
]
}
具有可控访问权限的 Elastic Transcoder 操作
以下是 Elastic Transcoder 操作的完整列表。
elastictranscoder:CancelJob elastictranscoder:CreateJob elastictranscoder:CreatePipeline elastictranscoder:CreatePreset elastictranscoder:DeletePipeline elastictranscoder:DeletePreset elastictranscoder:ListJobsByPipeline elastictranscoder:ListJobsByStatus elastictranscoder:ListPipelines elastictranscoder:ListPresets elastictranscoder:ReadJob elastictranscoder:ReadPipeline elastictranscoder:ReadPreset elastictranscoder:TestRole elastictranscoder:UpdatePipeline elastictranscoder:UpdatePipelineNotifications elastictranscoder:UpdatePipelineStatus
限制对某些资源的访问权限
除了限定只能访问某些操作外,您还可以进一步限定只能访问特定任务、管道和预设,后者称为授予资源资源级权限。
要限定只能访问或授权访问 Elastic Transcoder 资源的子集,请在策略的资源元素中包含资源的 ARN。Elastic ARNs Transcoder 的通用格式如下:
arn:aws:elastictranscoder:
region
:account
:resource
/ID
将region
、account
resource
、和ID
变量替换为有效值。有效值如下:
-
region
: 区域的名称。此处提供区域的列表。要指代所有区域,请使用通配符 (*)。您必须指定值。 -
account
: AWS 账户的 ID。您必须指定值。 -
resource
: Elastic Transcoder 资源的类型preset
;pipeline
、或。job
-
ID
:特定预设、管道或任务的 ID,或* 表示与当前 AWS 账户关联的指定类型的所有资源。
例如,以下 ARN 指定账户 111122223333
的 us-east-2
区域中的所有预设资源:
arn:aws:elastictranscoder:us-east-2:111122223333:preset/*
在管道、预设或任务控制台页面上,单击资源名称旁的放大镜图标 (
),可以找到资源的 ARN。
有关更多信息,请参阅《IAM 用户指南》https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html#Resource中的资源。
限定资源的策略示例
以下策略授予对 Amazon S3 中名为 amzn-s3-demo-bucket
的存储桶的访问权限、对 Elastic Transcoder 中所有内容的列出和读取权限,以及在名为 example_pipeline
的管道中创建任务的权限。
对于需要能够查看哪些文件和资源可用,并使用这些资源来创建自己的转码任务的开发工具包和 CLI 用户,该策略很有用。它不允许更新或删除资源、创建任务以外的资源,使用此处指定资源以外的资源,并且不适用于控制台用户。
{ "Version":"2012-10-17", "Statement":[ { "Sid":"1", "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:ListBucket", "s3:GetObject", "s3:PutObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Sid":"2", "Effect":"Allow", "Action":[ "elastictranscoder:List*", "elastictranscoder:Read*", "elastictranscoder:CreateJob" ], "Resource":[ "arn:aws:elastictranscoder:
region
:account
:pipeline/example_pipeline
", "arn:aws:elastictranscoder:region
:account
:job/*
" ] } ] }
Elastic Transcoder 管道的服务角色
在创建用于管理转码任务的管道时,必须指定 IAM 服务角色。IAM 服务角色有一个策略,指定了该管道用于转码的权限。
为管道指定角色时有两个选项:
-
使用默认角色,它仅包括 Elastic Transcoder 进行转码需要的权限。如果您使用 Elastic Transcoder 控制台创建管道,在创建第一个管道时控制台会提供一个自动创建默认角色的选项。您必须具有管理权限才能创建 IAM 服务角色,包括默认角色。
-
选择现有角色。在这种情况下,您必须之前已在 IAM 中创建了该角色,并且为该角色附加了能为 Elastic Transcoder 授予足够权限来转码文件的策略。如果希望将该角色再用于其他 AWS 服务,可以使用该选项。
管道的默认 IAM 角色
Elastic Transcoder 创建的默认角色允许 Elastic Transcoder 执行以下操作:
-
从 Amazon S3 存储桶获取文件以进行转码。
-
列出任何 Amazon S3 存储桶的内容。
-
将转码的文件保存到 Amazon S3 存储桶中。
-
创建 Amazon S3 分段上传。
-
将通知发布到任意 SNS 主题。
该策略可防止 Elastic Transcoder 执行下列任何操作:
-
执行任何 Amazon SNS 删除操作,或者在主题中添加或删除策略语句。
-
执行任何 Amazon S3 存储桶或项目删除操作,或者添加、删除或修改存储桶策略。
默认角色的访问 (权限) 策略定义如下所示:
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"1",
"Effect":"Allow",
"Action":[
"s3:Get*",
"s3:ListBucket",
"s3:Put*",
"s3:*MultipartUpload*"
],
"Resource":"*"
},
{
"Sid":"2",
"Effect":"Allow",
"Action":"sns:Publish",
"Resource":"*"
},
{
"Sid":"3",
"Effect":"Deny",
"Action":[
"sns:*Permission*",
"sns:*Delete*",
"sns:*Remove*",
"s3:*Policy*",
"s3:*Delete*"
],
"Resource":"*"
}
]
}
Elastic Transcoder 服务相关角色支持的区域
Elastic Transcoder 支持在以下区域中使用服务相关角色。
区域名称 | 区域标识 | Elastic Transcoder 支持 |
---|---|---|
美国东部(弗吉尼亚州北部) | us-east-1 | 是 |
美国东部(俄亥俄州) | us-east-2 | 否 |
美国西部(加利福尼亚北部) | us-west-1 | 是 |
美国西部(俄勒冈州) | us-west-2 | 是 |
亚太地区(孟买) | ap-south-1 | 是 |
亚太地区(大阪) | ap-northeast-3 | 否 |
亚太地区(首尔) | ap-northeast-2 | 否 |
亚太地区(新加坡) | ap-southeast-1 | 是 |
亚太地区(悉尼) | ap-southeast-2 | 是 |
亚太地区(东京) | ap-northeast-1 | 是 |
加拿大(中部) | ca-central-1 | 否 |
欧洲地区(法兰克福) | eu-central-1 | 否 |
欧洲地区(爱尔兰) | eu-west-1 | 是 |
欧洲地区(伦敦) | eu-west-2 | 否 |
欧洲地区(巴黎) | eu-west-3 | 否 |
South America(São Paulo) | sa-east-1 | 否 |