Search
Close this search box.

Como criar uma credencial GCP para integrar ao Cloud8

Segue o passo a passo para criação de uma credencial para integrar a sua nuvem GCP ao Cloud8.

Precisamos de um arquivo JSON que contenha a service account:

IMPORTANTE: habilitar APIs em https://console.cloud.google.com/apis/dashboard – verifique o projeto e habilite as APIs para “Cloud Resource Manager API”, “Compute”, “Cloud SQL” e “Cloud Billing” (se for usar a análise de custos pelo Cloud8);

– em Manage, habilitar;

– Criar o Service Account:https://console.developers.google.com/iam-admin/serviceaccounts/project (se tiver mais um projeto, veja qual o GCP pegou por default!);

– “Create Service Account”;

– Roles – dependendo do tipo que ação que deseja que o Cloud8 execute – visualização e/ou backup, agendamentos para redução de custos, etc

– Browser

– Viewer

– View Service Accounts

– Compute Engine -> Compute Admin ou Compute Viewer;

– Cloud SQL -> Cloud SQL Admin ou Cloud SQL Viewer;

– Monitoring -> Monitoring Viewer – métricas;

– BigQuery -> BigQuery Data Viewer e BigQuery Job User – análise de custos;

– Kubernetes -> Kubernetes Engine Cluster Viewer;

– Cloud Asset Viewer

– Compute Recommender Viewer

– Cloud Functions Viewer

Escolha um nome e criar. Após a criação, clique nos ‘3 pontinhos’ bem à direita e crie uma nova chave JSON.


Nota: se o projeto for membro de um “Organization”, ele deverá terá as mesmos roles que o Service Account, caso contrário receberá a mensagem “User is not Authorized”.

Depois de criar, abra o arquivo .json e coloque o conteúdo no Cloud8 para realizarmos a sincronização.

Suporte a export de dados do Cloud SQL para um bucket

Se for utilizar o workflow de export de dados do Cloud SQL, é necessário uma das permissões:

– Role: “Cloud Storage Admin”

– No “Cloud Storage”, escolher o bucket e adicionar a ServiceAccount da instância “Cloud SQL” como Object Creator

Customização

Caso queira configurar por permissão de API, pode gerar um arquivo YAML com o seguinte conteúdo:

title: Automation
description: “”
stage: “GA”
includedPermissions:
– cloudsql.instances.get
– cloudsql.instances.list
– cloudsql.instances.update –> CloudSQL nao tem um setLabels infelizmente
– cloudsql.instances.restart
– cloudsql.instances.export
– compute.autoscalers.get
– compute.autoscalers.list
– compute.autoscalers.update
– compute.instances.start
– compute.instances.startWithEncryptionKey
– compute.instances.stop
– compute.instances.get
– compute.instances.list
– compute.addresses.list- compute.instances.setLabels
– compute.instanceGroupManagers.get
– compute.instanceGroupManagers.list
– compute.instanceGroupManagers.update
– compute.instanceGroupManagers.use
– compute.disks.list
– compute.disks.get
– compute.disks.createSnapshot
– compute.disks.setLabels
– compute.zones.get
– compute.zones.list
– compute.snapshots.list
– compute.snapshots.get
– compute.snapshots.setLabels
– monitoring.groups.get
– monitoring.groups.list
– monitoring.metricDescriptors.get
– monitoring.metricDescriptors.list
– monitoring.monitoredResourceDescriptors.get
– monitoring.monitoredResourceDescriptors.list
– monitoring.timeSeries.list
– resourcemanager.projects.get
– compute.regions.list
– cloudfunctions.functions.list
– resourcemanager.projects.getIamPolicy
– iam.serviceAccounts.get
– cloudasset.assets.searchAllResources
– recommender.computeInstanceIdleResourceRecommendations.list
– recommender.computeInstanceMachineTypeRecommendations.list
– cloudasset.assets.searchAllResources

E se seguida fazer a criação da Service Account:

gcloud iam roles create cloudautomation –project <project_id> –file ./cloud8.yaml

gcloud projects add-iam-policy-binding <project_id> –role projects/<project_id>/roles/cloudautomation –member serviceAccount:<email>

Integração com custos

Importante: o Cloud8 precisa do projeto que contém o BigQuery dos custos. No Serice Account deste projeto, precisamos dos Roles: Viewer, Browser, BigQuery Data Viewer e BigQuery Job User.

No console GCP:
– clicar em “Billing”
– verifica “my billing account” – A URL seria https://console.cloud.google.com/billing?project=&folder=&organizationId= (com o ID do seu organizationID)
– você deveria ver uma linha com o “Billing Account ID” e o número de projetos abaixo dele
– ao clicar no Billing Account ID ele te redireciona para o dashboard
– Billing Export – verifica se BigQuery export está marcado ( https://console.cloud.google.com/billing/BILLING_ACCOUNT_ID/export/bigquery?organizationId=ORG_ID – tem que substituir pelos valores). Sugerimos usar o “Detailed Usage cost”
– no Cloud8 vamos precisar DataSet e do table name (gcp_billing_export_v1_BILLING_ACCOUNT_ID ou gcp_billing_export_resource_v1_BILLING_ACCOUNT_ID)