跳至主要内容

Kinesis 基于角色的访问

本文演示了 ClickPipes 客户如何利用基于角色的访问来对 Amazon Kinesis 进行身份验证并安全地访问其数据流。

简介

在深入了解安全 Kinesis 访问的设置之前,了解其机制非常重要。以下是 ClickPipes 如何通过在客户的 AWS 账户中承担角色来访问 Amazon Kinesis 流的概述。

securekinesis

使用这种方法,客户可以在一个地方(承担角色的 IAM 策略)管理对其 Kinesis 数据流的所有访问权限,而无需单独修改每个流的访问策略。

设置

获取 ClickHouse 服务 IAM 角色 ARN

1 - 登录您的 ClickHouse 云账户。

2 - 选择您要创建集成的 ClickHouse 服务

3 - 选择“**设置**”选项卡

4 - 向下滚动到页面底部的“**关于此服务**”部分

5 - 复制服务所属的“**IAM 角色**”值,如下所示。

s3info

设置 IAM 承担角色

手动创建 IAM 角色。

1 - 使用具有创建和管理 IAM 角色权限的 IAM 用户在 Web 浏览器中登录您的 AWS 账户。

2 - 浏览到 IAM 服务控制台

3 - 使用以下 IAM 和信任策略创建新的 IAM 角色。请注意,为了使此方法有效,IAM 角色的名称**必须以** ClickHouseAccessRole- 开头。

信任策略(请将 {ClickHouse_IAM_ARN} 替换为您 ClickHouse 实例所属的 IAM 角色 ARN)

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "{ClickHouse_IAM_ARN}"
},
"Action": "sts:AssumeRole"
}
]
}

IAM 策略(请将 {STREAM_NAME} 替换为您的 Kinesis 流名称)

{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"kinesis:DescribeStream",
"kinesis:GetShardIterator",
"kinesis:GetRecords",
"kinesis:ListShards",
"kinesis:SubscribeToShard",
"kinesis:DescribeStreamConsumer",
"kinesis:RegisterStreamConsumer",
"kinesis:DeregisterStreamConsumer",
"kinesis:ListStreamConsumers"
],
"Resource": [
"arn:aws:kinesis:region:account-id:stream/{STREAM_NAME}"
],
"Effect": "Allow"
},
{
"Action": [
"kinesis:ListStreams"
],
"Resource": "*",
"Effect": "Allow"
}
]

}

4 - 创建后复制新的**IAM 角色 ARN**。这是访问您的 Kinesis 流所需的。