A função do IAM Bootstrap tem as seguintes permissões:
- Operações de EC2 e VPC: Necessárias para configurar VPCs e clusters do EKS.
- Operações de S3 (por exemplo,
s3:CreateBucket): Necessárias para criar buckets para o armazenamento BYOC do ClickHouse.
- Operações de IAM (por exemplo,
iam:CreatePolicy): Necessárias para que os controladores criem funções adicionais (consulte a próxima seção para mais detalhes).
- Operações de EKS: Limitadas a recursos com nomes que começam com o prefixo
clickhouse-cloud.
Funções adicionais do IAM criadas pelo controlador
Além da ClickHouseManagementRole criada via CloudFormation, o controlador criará várias outras funções.
Essas funções são assumidas por aplicações executadas no cluster EKS do cliente:
- Função do State Exporter
- Componente do ClickHouse que reporta informações sobre a saúde do serviço ao ClickHouse Cloud.
- Requer permissão para gravar em uma fila do SQS pertencente ao ClickHouse Cloud.
- Controlador de balanceador de carga
- Controlador padrão de load balancer da AWS.
- Controlador EBS CSI para gerenciar volumes dos serviços do ClickHouse.
- External-DNS
- Propaga configurações de DNS para o Route 53.
- Cert-Manager
- Provisiona certificados TLS para domínios de serviço BYOC.
- Cluster Autoscaler
- Ajusta o tamanho do grupo de nós conforme necessário.
As funções K8s-control-plane e k8s-worker destinam-se a ser assumidas por serviços do AWS EKS.
Por fim, data-plane-mgmt permite que um componente do plano de controle do ClickHouse Cloud faça a reconciliação dos recursos personalizados necessários, como ClickHouseCluster e o Istio Virtual Service/Gateway.
Conta de serviço Bootstrap
A conta de serviço Bootstrap recebe funções personalizadas com escopo no projeto com as seguintes permissões:
- Common: Permissões básicas de leitura e identidade.
- VPC: Gerencia a VPC, as sub-redes, o roteamento e os anexos do Private Service Connect que hospedam sua infraestrutura BYOC.
- Cluster: Gerencia clusters do GKE e recursos no cluster.
- Storage: Usada para gerenciar buckets do Cloud Storage usados para backups do ClickHouse, estado compartilhado e dados de monitoramento.
- IAM Role: Gerencia contas de serviço e funções personalizadas dentro do projeto. Essa função não concede a capacidade de criar chaves de conta de serviço, vincular políticas da organização nem modificar quaisquer recursos em outros projetos.
Contas de serviço adicionais criadas pelo controlador
Além da conta de serviço clickhouse-management, criada via Terraform como parte do onboarding, quando você provisiona seu primeiro serviço BYOC, o plano de controle do ClickHouse (autenticando-se como clickhouse-management) cria contas de serviço adicionais no seu projeto para cargas de trabalho específicas no cluster. Cada uma delas é criada com um conjunto de permissões restrito e voltado a uma única finalidade.
- Identidade de runtime do nó do GKE
- Vinculada a cada máquina virtual de nó do GKE no seu cluster BYOC.
- Usada pelo agente de nó do Kubernetes, por agentes locais do nó e pelos coletores do Cloud Operations para emitir logs e métricas, e pelo subsistema de download de imagens para baixar imagens de contêiner.
- Identidade do scraper de faturamento
- Usada pela carga de trabalho de scraper independente para coletar telemetria de faturamento.
- Identidade de monitoramento
- Identidade de destino para o stack de monitoramento em execução no seu cluster. Usada para ler/gravar o armazenamento de métricas de longo prazo em um bucket do GCS dedicado a esta implantação.
- Identidade de gerenciamento de runtime do ClickHouse
- Usada pelo controlador de gerenciamento do plano de dados em runtime do ClickHouse, que lida com operações pós-implantação, como gerenciamento de endpoints do Private Service Connect, ajustes no ciclo de vida de buckets e rotação de contas de serviço.
Funções e identidades do Azure
Principal de serviço de onboarding
O onboarding com o módulo do Terraform para Azure provisiona um aplicativo multilocatário como um Aplicativo Empresarial (principal de serviço) no seu tenant, seguindo as orientações do Azure para autenticação entre tenants. Ao principal de serviço é atribuída uma função personalizada com privilégios mínimos, limitada à assinatura de destino, com permissões para:
- Rede: Gerenciar a VNet, as sub-redes, os IPs públicos, os gateways NAT, os grupos de segurança de rede e as zonas DNS que hospedam sua infraestrutura BYOC.
- Cluster: Gerenciar clusters AKS e node pools.
- Storage: Gerenciar as contas de armazenamento e os contêineres de blob usados para dados do ClickHouse, backups e dados de monitoramento.
- Identidade: Gerenciar identidades gerenciadas atribuídas pelo usuário e suas credenciais de identidade federada na assinatura.
- Autorização: Gerenciar definições de função personalizadas e atribuições de função. Todas as permissões são limitadas à assinatura de destino — a função não pode acessar recursos em outras assinaturas ou tenants.
Identidades gerenciadas adicionais criadas pelo controlador
Ao provisionar serviços BYOC, o plano de controle do ClickHouse cria identidades gerenciadas atribuídas pelo usuário em sua assinatura. Cada uma é federada a uma conta de serviço específica do Kubernetes (Workload Identity) e tem um conjunto de permissões restrito a uma única finalidade:
- Identidade por serviço
- Usada por cada serviço do ClickHouse para acessar sua própria conta de armazenamento, que contém dados de tabelas e backups, por meio de uma função personalizada de armazenamento de blobs com escopo nessa conta.
- Quando um serviço é restaurado de um backup, ele também recebe acesso somente leitura ao contêiner de backup do serviço de origem.
- Identidade de infraestrutura compartilhada
- Usada pelo controlador de gerenciamento do plano de dados em runtime do ClickHouse para operações contínuas, como o gerenciamento de serviços Private Link.
Última modificação em 14 de agosto de 2026