

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

# 使用 WebRTC 实现亚马逊 Kinesis Video Streams 的安全最佳实践
<a name="kvswebrtc-security-best-practices"></a>

Amazon Kinesis Video Streams（包含其 WebRTC 功能）提供了您在开发和实施自己的安全策略时需要考虑的许多安全功能。以下最佳实践是一般指导原则，并不代表完整安全解决方案。这些最佳实践可能不适合环境或不满足环境要求，请将其视为有用的考虑因素而不是惯例。

有关远程设备的安全最佳实践，请参阅[设备代理的安全最佳实践](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-DetectMetricsMessagesBestPract.html)。

## 实施最低权限访问
<a name="security-best-practices-privileges"></a>

在授予权限时，您可以决定谁获得哪些 Kinesis Video Streams 资源的哪些权限。您可以对这些资源启用希望允许的特定操作。因此，您应仅授予执行任务所需的权限。实施最低权限访问对于减小安全风险以及可能由错误或恶意意图造成的影响至关重要。

例如，向 Kinesis Video Streams 发送数据的创建者仅需要 `PutMedia`、`GetStreamingEndpoint` 和 `DescribeStream`。请勿向创建者应用程序授予所有操作 (`*`) 或其他操作（例如 `GetMedia`）的权限。

有关更多信息，请参阅 [Apply least-privilege permissions](https://docs.aws.amazon.com//IAM/latest/UserGuide/best-practices.html#grant-least-privilege)。

## 使用 IAM 角色
<a name="security-best-practices-roles"></a>

创建者和客户端应用程序必须具有有效的凭证来访问 Kinesis 视频流。您不应将 AWS 证书直接存储在客户端应用程序或 Amazon S3 存储桶中。这些是不会自动轮换的长期凭证，如果它们受到损害，可能会对业务产生重大影响。

相反，您应该使用 IAM 角色来管理创建器和客户端应用程序的临时凭证以访问 Kinesis 视频流。在使用角色时，您不必使用长期凭证来访问其他资源。

有关更多信息，请参阅 *IAM 用户指南*中的以下主题：
+ [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
+ [角色的常见场景：用户、应用程序和服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios.html)

## CloudTrail 用于监控 API 调用
<a name="security-best-practices-cloudtrail"></a>

带有 WebRTC 的 Kinesis Video Streams AWS CloudTrail与一项服务集成，该服务提供用户、角色或服务在使用 WebRTC 的 AWS Kinesis Video Streams 中采取的操作的记录。

使用收集的信息 CloudTrail，您可以确定使用WebRTC向Kinesis Video Streams发出的请求、发出请求的IP地址、谁提出请求、何时发出请求以及其他详细信息。

有关更多信息，请参阅 [使用记录 API 调用 AWS CloudTrail](kvswebrtc-monitoring-ct.md)。