本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Kinesis Data Analytics for Apache Flink
Amazon Kinesis Data Analytics 需要适当权限,以从应用程序配置上指定的流式传输源中读取记录。Kinesis Data Analytics 还需要具有相应的权限,以将应用程序输出写入到您在应用程序配置上指定的接收器中。
您必须为应用程序创建一个权限策略和角色。如果你不创建这些Amazon Identity and Access Management(IAM) 资源,应用程序无法访问其数据源、数据目标和日志流。
您可以通过创建 Kinesis Data Analytics 可担任的 IAM 角色来授予这些权限。您授予此角色的权限确定了 Kinesis Data Analytics 在担任该角色时可以执行的操作。
如果要自己创建 IAM 角色,此部分中的信息是非常有用的。在 Kinesis Data Analytics 控制台中创建应用程序时,控制台可以为您创建 IAM 角色。对于控制台创建的 IAM 角色,控制台使用以下命名约定。
kinesis-analytics-ApplicationName
在创建角色后,您可以在中查看该角色和附加的策略Amazon Identity and Access Management(IAM) 控制台。
每个 IAM 角色附加了两个策略。在信任策略中,您可以指定谁可以代入该角色。在权限策略(可以有一个或多个)中,您应当指定要向此角色授予的权限。以下部分说明了这些策略,您可以在创建 IAM 角色时使用这些策略。
信任策略
要向 Kinesis Data Analts Analts 授予代入某个角色的权限以访问流式传输源或引用源,您可以将以下信任策略附加到 IAM 角色。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kinesisanalytics.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
权限策略
如果您正在创建 IAM 角色以允许 Kinesis Data Analytics 从应用程序的流式传输源读取,您必须授予相关读取操作的权限。流式传输源示例包括 Kinesis 数据流、Amazon Kinesis Data Firehose 传输流或Amazon Simple Storage Service (Amazon S3) 存储桶中的引用源。根据源,您可以附加以下权限策略。
读取Kinesis Data 流的权限策略
在以下示例中,将每个用户输入占位符替换为您自己的信息。
{ "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" ] } ] }
用于写入 Kinesis Data 流的权限策略
在以下示例中,将每个用户输入占位符替换为您自己的信息。
{ "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" ] } ] }
写入到 Kinesis Data 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": "*" } ] }
用于写入到的权限策略 CloudWatch 日志流
有关添加权限以写入到 CloudWatch 日志流,请参阅将写入权限添加到 CloudWatch 日志流.