Este artigo demonstra como os clientes do ClickPipes podem usar o acesso baseado em funções para se autenticar no Amazon Kinesis e acessar seus streams de dados com segurança.
Pré-requisitos
Para seguir este guia, você precisará de:
- Um serviço ClickHouse Cloud ativo
- Uma conta AWS
Introdução
Antes de entrar na configuração do acesso seguro ao Kinesis, é importante entender o mecanismo. Veja a seguir uma visão geral de como o ClickPipes pode acessar streams do Amazon Kinesis ao assumir uma função nas contas AWS dos clientes.

Com essa abordagem, os clientes podem gerenciar todo o acesso aos streams de dados do Kinesis em um único lugar (a política do IAM da função assumida), sem precisar modificar individualmente a política de acesso de cada stream.
Configuração
Obtendo o ARN da função de IAM do serviço ClickHouse
-
- Faça login na sua conta do ClickHouse Cloud.
-
- Selecione o serviço do ClickHouse para o qual você deseja criar a integração
-
- Selecione a guia Settings
-
- Role a página até a seção Network security information, na parte inferior da página
-
- Copie o valor de Service role ID (IAM) do serviço, como mostrado abaixo.

Configurar a assunção de função no IAM
Criar uma função de IAM manualmente.
-
- Faça login na sua conta AWS no navegador com um usuário do IAM que tenha permissão para criar e gerenciar uma função de IAM.
-
- Acesse o Console do IAM
-
- Crie uma nova função de IAM com Trusted Entity Type igual a
AWS account. Observe que o nome da função de IAM deve começar comClickHouseAccessRole-para que isso funcione.
i. Configure a política de confiança
A política de confiança permite que a função de IAM do ClickHouse assuma essa função de IAM. Substitua
{ClickHouse_IAM_ARN}pelo ARN da função de IAM do seu serviço ClickHouse (obtido na etapa anterior).{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "{ClickHouse_IAM_ARN}" }, "Action": "sts:AssumeRole" } ] }ii. Configure a política de permissões
A política de permissões concede acesso ao seu stream do Kinesis. Substitua os seguintes placeholders:
{REGION}: Sua região da AWS (por exemplo,us-east-1){ACCOUNT_ID}: O ID da sua conta AWS{STREAM_NAME}: O nome do seu stream do Kinesis
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards", "kinesis:RegisterStreamConsumer", "kinesis:DeregisterStreamConsumer", "kinesis:ListStreamConsumers" ], "Resource": [ "arn:aws:kinesis:{REGION}:{ACCOUNT_ID}:stream/{STREAM_NAME}" ] }, { "Effect": "Allow", "Action": [ "kinesis:SubscribeToShard", "kinesis:DescribeStreamConsumer" ], "Resource": [ "arn:aws:kinesis:{REGION}:{ACCOUNT_ID}:stream/{STREAM_NAME}/*" ] }, { "Effect": "Allow", "Action": [ "kinesis:ListStreams" ], "Resource": "*" } ] } - Crie uma nova função de IAM com Trusted Entity Type igual a
-
- Copie o novo IAM Role Arn após a criação. É isso que você precisará para acessar seu stream do Kinesis.