Kinesis 基于角色的访问
本文演示了 ClickPipes 客户如何利用基于角色的访问来通过 Amazon Kinesis 进行身份验证并安全地访问其数据流。
简介
在深入了解安全 Kinesis 访问的设置之前,重要的是要了解其机制。以下概述了 ClickPipes 如何通过在客户的 AWS 账户中担任角色来访问 Amazon Kinesis 数据流。
通过使用这种方法,客户可以在一个地方(承担角色的 IAM 策略)管理对其 Kinesis 数据流的所有访问权限,而无需单独修改每个数据流的访问策略。
设置
获取 ClickHouse 服务 IAM 角色 Arn
1 - 登录您的 ClickHouse Cloud 账户。
2 - 选择您要创建集成的 ClickHouse 服务
3 - 选择 Settings 选项卡
4 - 滚动到页面底部的 About this service 部分
5 - 复制属于该服务的 IAM Role 值,如下所示。
设置 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 Role Arn。这是访问您的 Kinesis 数据流所需的。