使用 Amazon Identity and Access Management控制对 Kinesis Video Streams with WebRTC 的访问 - Kinesis Video Streams
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Amazon Identity and Access Management控制对 Kinesis Video Streams with WebRTC 的访问

通过将 Amazon Identity and Access Management(IAM) 与 Amazon Kinesis Video Streams with WebRTC 配合使用,您可以控制组织中的用户能否使用特定的 Kinesis Video Streams with WebRTC API 操作执行某项任务,以及他们能否使用特定的 Amazon资源。

有关 IAM 的更多信息,请参阅以下文档:

策略语法

IAM policy 是包含一个或多个语句的 JSON 文档。每个语句的结构如下:

{ "Statement":[{ "Effect":"effect", "Action":"action", "Resource":"arn", "Condition":{ "condition":{ "key":"value" } } } ] }

组成语句的各个元素如下:

  • Effect:effect 可以是 AllowDeny。在默认情况下,IAM 用户没有使用资源和 API 操作的许可,因此,所有请求均会被拒绝。显式允许将覆盖默认规则。显式拒绝将覆盖任何允许。

  • Actionaction 是对其授予或拒绝权限的特定 API 操作。

  • Resource:受操作影响的资源。要在语句中指定资源,您需要使用其Amazon 资源名称 (ARN)。

  • Condition:条件是可选的。它们可以用于控制策略生效的时间。

在创建和管理 IAM policy时,您可能希望使用 IAM Policy 生成器IAM Policy Simulator

适用于 Kinesis Video Streams with WebRTC 的操作

在 IAM policy 语句中,您可以从支持 IAM 的任何服务中指定任何 API 操作。对于 Kinesis Video Streams with WebRTC,使用以下前缀为 API 操作命名:kinesisvideo:。例如:kinesisvideo:CreateSignalingChannelkinesisvideo:ListSignalingChannelskinesisvideo:DescribeSignalingChannel

要在单个语句中指定多项操作,请使用逗号将它们隔开,如下所示:

"Action": ["kinesisvideo:action1", "kinesisvideo:action2"]

您也可以使用通配符指定多项操作。例如,您可以指定名称以单词“Get”开头的所有操作,如下所示:

"Action": "kinesisvideo:Get*"

若要指定所有 Kinesis Video Streams 操作,请使用 * (星号) 通配符,如下所示:

"Action": "kinesisvideo:*"

有关 Kinesis Video Streams API 操作的完整列表,请参阅 Kinesis Video Streams API 参考

Kinesis Video Streams 的 Amazon 资源名称(ARN)

每个 IAM policy 语句适用于您使用资源的 ARN 指定的资源。

请对 Kinesis Video Streams 使用以下 ARN 资源格式:

arn:aws:kinesisvideo:region:account-id:channel/channel-name/code

例如:

"Resource": arn:aws:kinesisvideo::*:111122223333:channel/my-channel/0123456789012

您可以使用 DescribeSignalingChannel 获取通道的 ARN。

授予其他 IAM 账户访问 Kinesis 视频流的权限

您可能需要向其他 IAM 账户授予对 Kinesis Video Streams with WebRTC 信令通道执行操作的权限。服务角色是由一项服务担任、代表您执行操作的 IAM 角色。IAM 管理员可以在 IAM 中创建、修改和删除服务角色。有关更多信息,请参阅《IAM 用户指南》中的 创建向 Amazon Web Service 委派权限的角色

Kinesis Video Streams with WebRTC 的示例策略

以下策略示例演示如何控制用户对 Kinesis Video Streams with WebRTC 通道的访问。

例 1:允许用户从任何信令通道获取数据

此策略允许用户或组对任何 DescribeSignalingChannel 信令通道执行 GetSignalingChannelEndpointListSignalingChannelsListTagsForResource 操作。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesisvideo:Describe*", "kinesisvideo:Get*", "kinesisvideo:List*" ], "Resource": "*" } ] }
例 2:允许用户创建信令通道

此策略允许用户或组执行 CreateSignalingChannel 操作。

{ "Statement": [ { "Effect": "Allow", "Action": [ "kinesisvideo:CreateSignalingChannel" ], "Resource": "*" } ] }
例 3:允许用户访问所有 Kinesis Video Streams 和 Kinesis Video Streams with WebRTC 的资源

此策略允许用户或组对任何资源执行任何 Kinesis Video Streams 操作。此策略适用于管理员。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kinesisvideo:*", "Resource": "*" } ] }
例 4:允许用户从特定信令通道获取数据

此策略允许用户或组从特定信令通道获取数据。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kinesisvideo:DescribeSignalingChannel", "Resource": "arn:aws:kinesisvideo:us-west-2:123456789012:channel/channel_name/0123456789012" } ] }