如何允许或不允许输入位置类型 - MediaConvert

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

如何允许或不允许输入位置类型

AWS Elemental MediaConvert 支持 Amazon S3HTTPS,以及HTTP输入媒体和文件的输入位置类型。您可以使用 MediaConvert 策略允许或禁止访问其中一种或多种输入位置类型。

默认情况下,您 AWS 账户中的每个区域都没有政策,并且 MediaConvert允许所有支持的输入位置类型。仅当您想要不允许访问其中一种或多种输入位置类型时,才需要创建输入策略。

要防止作业使用不允许的输入位置类型运行,请创建 MediaConvert输入策略

此外,为防止在未设置输入策略 MediaConvert API时向提交作业,请使用条件键创建IAM策略。您可以将这些IAM策略应用于组织IAM中的角色。

以下各节介绍如何创建输入策略以及如何使用IAM条件键来允许或禁止输入位置类型。

如何使用输入策略允许或不允许输入位置类型

要创建或更改策略,请使用APISDK、或put-policy命令行界面 (CLI) 提交命令并将该策略包含在中JSON。访问MediaConvert API参考资料,详细了解支持的策略命令和预期的响应代码。

以下是如何使用提交政策的示例CLI。此示例允许使用 Amazon S3 和HTTPS输入的作业,不允许使用带有HTTP输入的作业:

aws mediaconvert put-policy --policy '{"S3Inputs":"ALLOWED", "HttpsInputs":"ALLOWED", "HttpInputs":"DISALLOWED"}'

如果您未在策略中指定输入位置JSON,则 MediaConvert 会将输入位置视为ALLOWED。以下是另一个示例,它允许使用 Amazon S3 和HTTPS输入的作业,不允许使用带有HTTP输入的作业:

aws mediaconvert put-policy --policy '{"HttpInputs":"DISALLOWED"}'

请注意,put-policy 命令会覆盖该区域中的任何现有策略。

检索当前的策略

要在中检索当前策略JSON,请提交get-policy命令:

aws mediaconvert get-policy

删除当前的策略

要删除当前策略并允许所有输入(恢复为默认行为),请提交 delete-policy 命令:

aws mediaconvert delete-policy

当您尝试提交一个使用不允许的输入位置的任务时会发生什么?

如果您尝试提交指定您的政策不允许的输入位置的作业,则 MediaConvert 会返回 HTTP400 (BadRequestException) 错误。错误消息将是:You specified an input location that your policy disallows. Specify an allowed input location and resubmit your job. 由于 MediaConvert 阻止提交这些作业,因此它们不会出现在您的工作历史记录中。

如果您提交一个指定了允许的输入位置的任务,但该任务需要访问另一个不允许的输入位置,则您的任务也将失败。例如,如果您在允许的 Amazon S3 位置上指定 Apple HLS 清单,并在不允许HTTP的位置引用其他输入段文件,则可能会遇到这种情况。任务失败错误代码将是 3457,消息将是:您指定了您的策略不允许的输入位置。指定允许的输入位置并重新提交您的任务。

如何在输入策略中使用IAM条件键

当您在IAM策略中包含用于提交创建任务请求的条件密钥时,IAM会检查您的账户是否有与该条件匹配的输入策略。您指定的条件必须与您账户的输入策略相匹配,API请求才能获得授权。您可以使用以下任一布尔型条件键:

  • HttpInputsAllowed

  • HttpsInputsAllowed

  • S3InputsAllowed

在使用条件键时,请注意以下情形:

如果条件和输入政策匹配,例如,如果您将设置HTTPInputsAllowed为,true并且您的账户的输入策略允许HTTP输入,则您的创建任务请求将提交到 MediaConvert API。

如果条件和输入政策不匹配,例如,如果您设置HTTPInputsAllowed为,false而您的账户的输入策略允许HTTP输入,则您的创建任务请求将不会提交到 MediaConvert API。相反,你会收到以下错误消息:“消息”:“用户:arn: aws: iam:: 111122223333:” user/User is not authorized to perform: mediaconvert:CreateJob on resource: arn:aws:mediaconvert:us-west-2:111122223333:queues/Default

如果条件和输入政策匹配,例如,如果您将设置HTTPInputsAllowed为,false而您的账户的输入政策不允许HTTP输入,则您的创建任务请求将提交到。 MediaConvert API但是,随后API将返回 HTTP400 (BadRequestException) 错误。错误消息将是:You specified an input location that your policy disallows. Specify an allowed input location and resubmit your job.

有关使用IAM条件键的更多信息,请参阅《IAM用户指南》中的IAMJSON策略元素:条件

以下JSON是使用 MediaConvert 条件密钥的IAM策略示例,用于检查您的账户是否有禁止HTTP输入的输入策略:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "BlockHTTPInputsExample", "Effect": "Allow", "Action": "mediaconvert:CreateJob", "Resource": "*", "Condition": { "ForAllValues:BoolIfExists": { "mediaconvert:HttpInputsAllowed": [ "false" ], "mediaconvert:HttpsInputsAllowed": [ "true" ], "mediaconvert:S3InputsAllowed": [ "true" ] } } } ] }

有关中支持条件键的更多信息 MediaConvert,请参阅AWS Elemental MediaConvert 如何使用 IAM