Amazon Polly 基于身份的策略示例 - Amazon Polly
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Amazon Polly 基于身份的策略示例

默认情况下,IAM 用户和角色无权创建或修改 Amazon Polly 资源。它们还无法使用 Amazon Web Services Management Console、Amazon CLI 或 Amazon API 执行任务。IAM 管理员必须创建 IAM 策略,以便为用户和角色授予权限以对所需的指定资源执行特定的 API 操作。然后,管理员必须将这些策略附加到需要这些权限的 IAM 用户或组。

要了解如何使用这些示例 JSON 策略文档创建基于身份的策略,请参阅。在“JSON”选项卡上创建策略中的IAM 用户指南

策略最佳实践

基于身份的策略非常强大。它们确定某个人是否可以创建、访问或删除您账户中的 Amazon Polly 资源。这些操作可能会使 Amazon 账户产生成本。创建或编辑基于身份的策略时,请遵循以下准则和建议:

  • 入门Amazon托管策略— 要快速开始使用 Amazon Polly,请使用Amazon托管策略来向您的员工授予他们所需的权限。这些策略已在您的账户中提供,并由 Amazon 维护和更新。有关更多信息,请参阅 IAM 用户指南中的开始使用 Amazon 托管策略中的权限

  • 授予最低权限 – 创建自定义策略时,仅授予执行任务所需的许可。最开始只授予最低权限,然后根据需要授予其他权限。这样做比起一开始就授予过于宽松的权限而后再尝试收紧权限来说更为安全。有关更多信息,请参阅 。授予最低权限中的IAM 用户指南

  • 为敏感操作启用 MFA – 为了提高安全性,要求 IAM 用户使用多重验证 (MFA) 访问敏感资源或 API 操作。有关更多信息,请参阅 。中使用多重验证 (MFA)Amazon中的IAM 用户指南

  • 使用策略条件来增强安全性 – 在切实可行的范围内,定义基于身份的策略在哪些情况下允许访问资源。例如,您可编写条件来指定请求必须来自允许的 IP 地址范围。您也可以编写条件,以便仅允许指定日期或时间范围内的请求,或者要求使用 SSL 或 MFA。有关更多信息,请参阅 。IAM JSON 策略元素:Condition中的IAM 用户指南

使用 Amazon Polly 控制台

要使用户能够使用 Amazon Polly 控制台,该用户必须拥有一组最低的权限来在他们的Amazonaccount.

如果创建比必需的最低权限更为严格的 IAM 策略,对于附加了该 IAM 策略的用户,控制台无法按预期正常运行。

对于只需要调用的用户,无需为其提供最低控制台权限。Amazon CLI或 Amazon Polly API。

要使用 Amazon Polly 控制台,请授予对所有 Amazon Polly API 的权限。不需要额外的权限。要获取完整的控制台功能,您可以使用以下策略:

} "Version": "2012-10-17", "Statement": [{ "Sid": "Console-AllowAllPollyActions", "Effect": "Allow", "Action": [ "polly:*"], "Resource": "*" } ] }

允许用户查看他们自己的权限

该示例说明了您如何创建策略,以允许 IAM 用户查看附加到其用户身份的内联和托管策略。此策略包括在控制台上完成此操作或者以编程方式使用 Amazon CLI 或 Amazon API 所需的权限。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

AmazonAmazon Polly 的托管(预定义)策略

Amazon通过提供由Amazon创建和管理的独立 IAM 策略来满足许多常用案例的要求。这些Amazon托管策略可针对常用案例授予必要的权限,使您免去调查所需权限的工作。有关更多信息,请参阅 IAM 用户指南中的 Amazon托管策略

以下Amazon托管策略(您可以将它们附加到自己账户中的用户)是特定于 Amazon Polly 的:

  • AmazonPollyReadOnlyAccess— 授予对资源的只读访问权限,允许列出词典、获取词典、列出可用的语音以及合成语音(包括将词典应用到合成的语音)。

  • AmazonPollyFullAccess – 授予对资源以及所有受支持操作的完全访问权限。

注意

您可以通过登录到 IAM 控制台并在该控制台中搜索特定策略来查看这些权限策略。

您还可以创建您自己的自定义 IAM 策略,以授予 Amazon Polly 操作和资源的相关权限。您可以将这些自定义策略附加到需要这些权限的 IAM 用户或组。

客户托管策略示例

本节的用户策略示例介绍如何授予各 Amazon Polly 操作的权限。当您使用时,可以使用这些策略Amazon开发工具包或Amazon CLI。当您使用控制台时,向所有 Amazon Polly API 授予权限。

注意

所有示例都使用 us-east-2 区域和虚构的账户 ID。

示例 1:允许所有 Amazon Polly 操作

在您注册后 (请参阅 步骤 1.1:注册Amazon),创建管理员用户来管理您的账户,包括创建用户和管理用户权限。

您可以创建对 Amazon Polly 操作具有权限的用户。将此用户视为特定于服务的管理员,以便使用 Amazon Polly。您可以将以下权限策略附加到该用户。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowAllPollyActions", "Effect": "Allow", "Action": [ "polly:*"], "Resource": "*" } ] }

示例 2:允许除 DeleteLexicon 外的所有 Amazon Polly 操作

以下权限策略用于授予用户执行所有操作(DeleteLexicon 除外)的用户权限,以及在所有区域中删除显式拒绝的权限。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowAllActions-DenyDelete", "Effect": "Allow", "Action": [ "polly:DescribeVoices", "polly:GetLexicon", "polly:PutLexicon", "polly:SynthesizeSpeech", "polly:ListLexicons"], "Resource": "*" } { "Sid": "DenyDeleteLexicon", "Effect": "Deny", "Action": [ "polly:DeleteLexicon"], "Resource": "*" } ] }

示例 3:允许 DeleteLexicon

以下权限策略用于授予删除任何词典用户的权限,无论其位于哪个项目或区域中。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowDeleteLexicon", "Effect": "Allow", "Action": [ "polly:DeleteLexicon"], "Resource": "*" } ] }

示例 4:允许在指定区域中删除词典

以下权限策略授予用户删除您位于单个区域(在本例中为 us-east-2)的任何项目中您拥有的任何词典的权限。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowDeleteSpecifiedRegion", "Effect": "Allow", "Action": [ "polly:DeleteLexicon"], "Resource": "arn:aws:polly:us-east-2:123456789012:lexicon/*" } ] }

示例 5:允许对指定词典执行 DeleteLexicon

以下权限策略授予用户删除您在特定区域(在本例中为us-east-2)中拥有的特定词典 (在本例中为 myLexicon) 的权限。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowDeleteForSpecifiedLexicon", "Effect": "Allow", "Action": [ "polly:DeleteLexicon"], "Resource": "arn:aws:polly:us-east-2:123456789012:lexicon/myLexicon" } ] }