Kinesis Data Analytics 中的身份和访问管理 - SQL适用于应用程序的 Amazon Kinesis Data Analytics 开发者指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

经过仔细考虑,我们决定分两个步骤停止使用亚马逊 Kinesis Data Analytics SQL 的应用程序:

1. 从 2025 年 10 月 15 日起,您将无法为应用程序创建新的 Kinesis Data Analytic SQL s。

2. 从 2026 年 1 月 27 日起,我们将删除您的应用程序。您将无法启动或操作适用于应用程序的 Amazon Kinesis Data Analytic SQL s。从那时起,亚马逊 Kinesis Data Analytics SQL 将不再提供支持。有关更多信息,请参阅 适用于应用程序的 Amazon Kinesis Data Analytic SQL s 停产

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

Kinesis Data Analytics 中的身份和访问管理

Amazon Kinesis Data Analytics 需要适当权限才能从应用程序输入配置中指定的流式传输源读取记录。Amazon Kinesis Data Analytics 还需要权限才能将您在应用程序输出写入您在应用程序输出配置中指定的流。

您可以通过创建 Amazon Kinesis Data Analytics 可以担任的IAM角色来授予这些权限。您为该角色授予的权限决定了 Amazon Kinesis Data Analytics 服务在担任该角色时可以执行的操作。

注意

如果要自己创建 IAM 角色,此部分中的信息是非常有用的。当你在 Amazon Kinesis Data Analytics 控制台中创建应用程序时,控制台当时可以为你IAM创建一个角色。对于创建的 IAM 角色,控制台使用以下命名约定:

kinesis-analytics-ApplicationName

在创建角色后,您可以在 IAM 控制台中查看该角色和附加的策略。

每个 IAM 角色附加了两个策略。在信任策略中,您可以指定谁可以代入该角色。在权限策略(可以有一个或多个)中,您应当指定要向此角色授予的权限。以下部分说明了这些策略,您可以在创建 IAM 角色时使用这些策略。

信任策略

要授予 Amazon Kinesis Data Analytics 代入访问直播或参考来源的角色的权限,您可以IAM为角色附加以下信任策略:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kinesisanalytics.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

权限策略

如果您要创建IAM角色以允许 Amazon Kinesis Data Analytics 从应用程序的流媒体源读取数据,则必须授予相关读取操作的权限。根据您的源(例如,Kinesis 流、Firehose 传输流或 Amazon S3 存储桶中的引用源),您可以附加以下权限策略。

读取 Kinesis 流的权限策略

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadInputKinesis", "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards" ], "Resource": [ "arn:aws:kinesis:aws-region:aws-account-id:stream/inputStreamName" ] } ] }

读取 Firehose 传输流的权限策略

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadInputFirehose", "Effect": "Allow", "Action": [ "firehose:DescribeDeliveryStream", "firehose:Get*" ], "Resource": [ "arn:aws:firehose:aws-region:aws-account-id:deliverystream/inputFirehoseName" ] } ] }
注意

firehose:Get* 权限是指 Kinesis Data Analytics 用于访问流的内部访问器。Firehose 传输流没有公共访问器。

如果您指示 Amazon Kinesis Data Analytics 在应用程序输出配置中将输出写入外部目标,则需要向该角色授予以下权限。IAM

写入到 Kinesis 流的权限策略

{ "Version": "2012-10-17", "Statement": [ { "Sid": "WriteOutputKinesis", "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:PutRecord", "kinesis:PutRecords" ], "Resource": [ "arn:aws:kinesis:aws-region:aws-account-id:stream/output-stream-name" ] } ] }

写入到 Firehose 传输流的权限策略

{ "Version": "2012-10-17", "Statement": [ { "Sid": "WriteOutputFirehose", "Effect": "Allow", "Action": [ "firehose:DescribeDeliveryStream", "firehose:PutRecord", "firehose:PutRecordBatch" ], "Resource": [ "arn:aws:firehose:aws-region:aws-account-id:deliverystream/output-firehose-name" ] } ] }

从 Amazon S3 存储桶中读取引用数据源的权限策略

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "*" } ] }