配置 Amazon Rekognition Video - Amazon Rekognition

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

配置 Amazon Rekognition Video

要将 Amazon Rekognition Video API 用于所存储视频,您必须配置用户和 IAM 服务角色以访问您的 Amazon SNS 主题。您还必须为您的 Amazon SNS 主题订阅 Amazon SQS 队列。

注意

如果使用这些说明来设置 使用 Java 或 Python 分析存储在 Amazon S3 存储桶中的视频 (SDK) 示例,则无需执行步骤 3、4、5 和 6。此示例包括用于创建和配置 Amazon SNS 主题和 Amazon SQS 队列的代码。

本节中的示例通过使用向 Amazon Rekognition Video 提供对多个主题的访问权限的指令,创建新的 Amazon SNS 主题。如果您想要使用现有的 Amazon SNS 主题,请对步骤 3 使用授予访问现有 Amazon SNS 主题的权限

配置 Amazon Rekognition Video
  1. 设置 AWS 账户以访问亚马逊 Rekognition Video。有关更多信息,请参阅 步骤 1:设置 AWS 账户并创建用户

  2. 安装和配置所需的 AWS SDK。有关更多信息,请参阅 第 2 步:设置 AWS CLI 和 AWS 软件开发工具包

  3. 要运行本开发人员指南中的代码示例,请确保您选择的用户具有编程访问权限。请参阅授予编程式访问权限了解更多信息。

    您的用户还需要至少以下权限:

    • AmazonSQS FullAccess

    • AmazonRekognitionFullAccess

    • 亚马逊 3 FullAccess

    • 亚马逊 SNS FullAccess

    如果您使用 IAM Identity Center 进行身份验证,请将权限添加到角色的权限集中,否则将权限添加到您的 IAM 角色中。

  4. 通过使用 Amazon SNS 控制台创建 Amazon SNS 主题。在主题名称前面加上。AmazonRekognition记下主题的 Amazon 资源名称 (ARN)。确保该主题与您使用的 AWS 端点位于同一区域。

  5. 使用 Amazon SQS 控制台创建 Amazon SQS 标准队列。记录队列 ARN。

  6. 为队列订阅主题(您在步骤 3 中创建)。

  7. 为向 Amazon SQS 队列发送消息的 Amazon SNS 主题授予权限

  8. 创建 IAM 服务角色来为 Amazon Rekognition Video 提供对 Amazon SNS 主题的访问权限。记下服务角色的 Amazon 资源名称 (ARN)。有关更多信息,请参阅 提供对多个 Amazon SNS 主题的访问权限

  9. 为确保您的账户安全,您需要将 Rekognition 的访问范围限制为仅限于您正在使用的资源。这可以通过将信任策略附加到您的 IAM 服务角色来完成。有关如何执行此操作的信息,请参阅 防止跨服务混淆代理

  10. 向您在步骤 1 中创建的用户添加以下内联策略

    { "Version": "2012-10-17", "Statement": [ { "Sid": "MySid", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:Service role ARN from step 7" } ] }

    为该内联策略提供您选择的名称。

  11. 如果您使用客户托管 AWS Key Management Service 密钥对 Amazon S3 存储桶中的视频进行加密,请向密钥添加权限,允许您在步骤 7 中创建的服务角色解密视频。服务角色至少需要权限才能执行 kms:GenerateDataKeykms:Decrypt 操作。例如:

    { "Sid": "Decrypt only", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/user from step 1" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }

    有关更多信息,请参阅我的 Amazon S3 存储桶使用自定义 AWS KMS 密钥进行默认加密。如何允许用户从存储桶下载并上传到存储桶?以及使用服务器端加密和存储在 AWS Key Management Service 中的 KMS 密钥 (SSE-KMS) 保护数据

  12. 现在您就可以运行使用 Java 或 Python 分析存储在 Amazon S3 存储桶中的视频 (SDK)使用分析视频 AWS Command Line Interface中的示例了。

提供对多个 Amazon SNS 主题的访问权限

您可使用 IAM 服务角色为 Amazon Rekognition Video 提供对您创建的 Amazon SNS 主题的访问权限。IAM 提供了用于创建 Amazon Rekognition Video 服务角色的 Rekognition 使用案例。

您可以使用权限策略并在主题名称前加上——例如,,来授予亚马逊 Rekognition Video 访问多个亚马逊 SNS 主题AmazonRekognitionServiceRole的权限。AmazonRekognitionAmazonRekognitionMyTopicName

让 Amazon Rekognition Video 访问多个 Amazon SNS 主题
  1. 创建 IAM 服务角色。使用以下信息创建 IAM 服务角色:

    1. 对于服务名称,选择 Rekognition

    2. 对于服务角色使用案例,选择 Rekognition。您应该会看到列出的AmazonRekognitionServiceRole权限策略。AmazonRekognitionServiceRole允许亚马逊 Rekognition Video 访问前缀为的亚马逊 SNS 主题。AmazonRekognition

    3. 为该服务角色指定您选择的名称。

  2. 记下服务角色的 ARN。您需要它才能开始视频分析操作。

授予访问现有 Amazon SNS 主题的权限

您可以创建一个权限策略,允许 Amazon Rekognition Video 访问现有的 Amazon SNS 主题。

让 Amazon Rekognition Video 访问现有 Amazon SNS 话题
  1. 使用 IAM JSON 策略编辑器创建新的权限策略,然后使用以下策略。将 topicarn 替换为所需 Amazon SNS 主题的 Amazon 资源名称 (ARN)。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": "topicarn" } ] }
  2. 创建 IAM 服务角色,或者更新现有 IAM 服务角色。使用以下信息创建 IAM 服务角色:

    1. 对于服务名称,选择 Rekognition

    2. 对于服务角色使用案例,选择 Rekognition

    3. 附加您在步骤 1 中创建的权限策略。

  3. 记下服务角色的 ARN。您需要它才能开始视频分析操作。