

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

# Kinesis Data Streams 的安全最佳实践
<a name="security-best-practices"></a>

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

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

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

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

创建器和客户端应用程序必须具有有效的凭证来访问 Kinesis Data Streams。您不应将 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)

## 实现从属资源中的服务器端加密
<a name="security-best-practices-sse"></a>

可以在 Kinesis Data Streams 中加密静态数据和传输中数据。有关更多信息，请参阅 [Amazon Kinesis Data Streams 中的数据保护](server-side-encryption.md)。

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

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

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

有关更多信息，请参阅 [使用记录亚马逊 Kinesis Data Streams API 调用 AWS CloudTrail](logging-using-cloudtrail.md)。