Integrações — Credenciais e Permissões Exigidas do Cliente

🔴 NÃO PUBLICAR NO WORDPRESS. Este documento é interno. Ele está dentro da árvore de documentação de clientes por conveniência de consulta, e não é um tutorial de cliente. O conteúdo inclui orientação…

AT
Written By Anderson TorresLast updated 34 minutes ago

🔴 NÃO PUBLICAR NO WORDPRESS. Este documento é interno.

Ele está dentro da árvore de documentação de clientes por conveniência de consulta, e não é um tutorial de cliente. O conteúdo inclui orientação comercial interna ("não ofereça ao cliente", "não prometa cobertura de Slack"), a lista de integrações fora do ar e a seção de lacunas conhecidas do produto. Publicar isso expõe roadmap e fragilidades.

A versão para o cliente está em 05. Integrações › Guias por provedor, um documento por provedor, escrito a partir daqui mas sem as partes internas. Os princípios gerais (somente leitura, nenhum dado de conteúdo, credencial cifrada, permissão faltando nunca reprova) estão no tutorial Integrações – Para que servem e como os testes usam os dados, que é público.

Mantido intacto porque é a melhor fonte de verdade que existe sobre permissões mínimas. Se as exigências mudarem no código, atualize aqui primeiro.


Referência interna para o time de onboarding e suporte: o que cada integração ativa da plataforma exige do cliente, qual a permissão mínima, e a frase pronta que pode ser enviada ao cliente sem adaptação.

Levantado a partir do código em 2026-08-24 (apps/customer/src/app/[locale]/integrations/[provider]/page.tsx para os campos, apps/worker/src/checks/<provedor>/ para as chamadas de API reais). Nenhuma dessas exigências estava documentada antes — não existe lista de permissões no produto, no catálogo ou na UI.

Princípios que valem para todas as integrações

  • Somente leitura. Nenhuma verificação da Imara escreve, altera ou apaga qualquer coisa no ambiente do cliente. A única exceção é a AWS, onde iam:GenerateCredentialReport dispara a geração de um relatório (a própria AWS classifica essa ação como não-leitura).
  • Nenhum dado de conteúdo é lido. As verificações leem configuração — não leem objetos de bucket, registros de banco, e-mails, mensagens nem segredos armazenados.
  • Credenciais são cifradas em repouso antes de serem gravadas, e nunca aparecem em log ou em resposta de API.
  • Permissão faltando nunca gera reprovação. Quando o token não alcança um recurso, a verificação vira NOT_RUN ou MANUAL com a mensagem do motivo — nunca um FAIL inventado. Se o cliente cortar permissões, o efeito é perda de cobertura, não queda de score.
  • Sempre prefira uma credencial de serviço dedicada, não a chave pessoal de um administrador. Isso mantém o rastro de auditoria limpo e permite revogar o acesso da Imara sem afetar ninguém.

Infraestrutura de nuvem

AWS

Campos no Imara: Access Key ID · Secret Access Key · Região (opcional, padrão us-east-1)

Permissão mínima: políticas gerenciadas SecurityAudit + ViewOnlyAccess, mais uma política inline com iam:GenerateCredentialReport.

Frase para o cliente:

Crie um usuário IAM com acesso programático, anexe as políticas gerenciadas SecurityAudit e ViewOnlyAccess mais uma política inline permitindo iam:GenerateCredentialReport, e nos envie o Access Key ID, o Secret Access Key e a região principal do seu ambiente.

Atenção

  • São 320 operações de leitura em 70 serviços (IAM, EC2, S3, RDS, KMS, CloudTrail, GuardDuty, SecurityHub, SageMaker, Bedrock, WAF, Organizations e outros). Por isso duas políticas gerenciadas em vez de uma lista manual.
  • SecurityAudit sozinha não cobre SageMaker, Bedrock, Macie, Inspector2, Transfer, Route 53 Domains e Global Accelerator — daí o ViewOnlyAccess.
  • ReadOnlyAccess também funcionaria, mas concede leitura de dados (conteúdo de S3, itens do DynamoDB) que a Imara nunca usa. A própria plataforma tem uma verificação que sinaliza ReadOnlyAccess concedida a terceiros como achado.
  • A integração não suporta assumir role com ExternalId — só chave estática de usuário IAM. Se o cliente exigir cross-account role, hoje não temos esse caminho.
  • A região informada define onde as verificações regionais rodam. Ambiente multi-região tem cobertura apenas da região configurada.

Azure

Campos no Imara: Tenant ID · Client ID · Client Secret · Subscription ID

Permissão mínima: funções Reader e Security Reader na assinatura + permissões de aplicativo do Microsoft Graph Directory.Read.All, Policy.Read.All, Application.Read.All, AuditLog.Read.All, todas com consentimento do administrador.

Frase para o cliente:

Crie um App Registration no Entra ID, atribua a ele as funções Reader e Security Reader na assinatura, conceda as permissões de aplicativo do Microsoft Graph Directory.Read.All, Policy.Read.All, Application.Read.All e AuditLog.Read.All com consentimento do administrador, e nos envie Tenant ID, Client ID, Client Secret e Subscription ID.

Atenção

  • O formulário marca Subscription ID como opcional, mas ele é obrigatório: sem ele todas as verificações de ARM (storage, SQL, VM, Key Vault, Defender) falham na validação de credencial. Sempre peça os quatro campos.
  • As verificações de MFA por usuário leem signInActivity e o relatório de registro de métodos de autenticação — isso exige AuditLog.Read.All e licença Entra ID P1/P2. Sem licença, essas verificações ficam NOT_RUN.
  • Security Reader é o que habilita as verificações do Defender for Cloud.

Google Cloud

Campos no Imara: Project ID · Chave JSON da service account

Permissão mínima: roles/viewer + roles/iam.securityReviewer no projeto.

Frase para o cliente:

Crie uma service account no projeto, conceda a ela os papéis roles/viewer e roles/iam.securityReviewer, gere uma chave JSON e nos envie o Project ID junto com o conteúdo do arquivo JSON.

Atenção

  • Cobertura de um único projeto por integração. Cliente com vários projetos precisa de uma integração por projeto.
  • Uma verificação legada de MFA consulta o Admin Directory do Workspace. Ela só funciona se a service account também tiver delegação em todo o domínio — sem isso fica NOT_RUN. Para cobertura de identidade, use a integração Google Workspace.

Oracle Cloud

Campos no Imara: OCID da Tenancy · OCID do Usuário · Fingerprint · Região · Chave privada (PEM) · Passphrase (opcional)

Permissão mínima: grupo IAM com a política Allow group <grupo> to read all-resources in tenancy.

Frase para o cliente:

Crie um usuário IAM dentro de um grupo que tenha a política Allow group <nome-do-grupo> to read all-resources in tenancy, gere um par de chaves de API para esse usuário e nos envie o OCID da tenancy, o OCID do usuário, o fingerprint, a região de origem e a chave privada em formato PEM.

Atenção — as verificações percorrem regiões e compartimentos; a política precisa estar na tenancy, não em um compartimento isolado, ou a cobertura fica parcial.


Desenvolvimento e DevOps

GitHub

Campos no Imara: Token · Organização (opcional)

Permissão mínima: Personal Access Token (classic) com read:org, repo e read:audit_log, criado por um owner da organização.

Frase para o cliente:

Como owner da organização, gere um Personal Access Token (classic) com os escopos read:org, repo e read:audit_log, e nos envie o token junto com o nome da organização.

Atenção

  • Ler proteção de branch e alertas de vulnerabilidade exige permissão de admin no repositório — um token de membro comum retorna 403 e essas verificações ficam NOT_RUN. Daí a exigência de owner.
  • O escopo repo é necessário para alcançar repositórios privados. Em organização 100% pública, public_repo basta.
  • A API de audit log só existe em GitHub Enterprise Cloud. Fora dele, a verificação de log de auditoria orienta a conferência manual.
  • Existe também o caminho de instalar o GitHub App da Imara na organização, que dispensa PAT e não expira. Prefira esse caminho quando o cliente aceitar.

GitLab

Campos no Imara: Token · URL da instância (opcional) · Group ID (opcional) · Project ID (opcional)

Permissão mínima: Personal Access Token com escopo read_api, em conta com papel Owner no grupo.

Frase para o cliente:

Gere um Personal Access Token com o escopo read_api em uma conta que tenha papel Owner no grupo, e nos envie o token, o ID do grupo e — se for GitLab self-managed — a URL da sua instância.

Atenção — o Group ID é marcado como opcional mas é indispensável: sem ele as verificações de MFA e de controle de acesso ficam NOT_RUN. Peça sempre.

Heroku

Campos no Imara: API Key

Permissão mínima: Authorization Token de usuário com papel admin no time.

Frase para o cliente:

Gere um Authorization Token (API key) em uma conta com papel de admin no time Heroku e nos envie a chave.

Atenção — verificações de conta corporativa (/enterprise-accounts) só respondem em Heroku Enterprise; fora dele ficam MANUAL.

Render

Campos no Imara: API Key

Permissão mínima: API Key de usuário com papel Admin no workspace.

Frase para o cliente:

Crie uma API Key nas configurações da sua conta Render, usando um usuário com papel Admin no workspace, e nos envie a chave.

Atenção — o acesso ao log de auditoria exige plano Pro ou superior; em planos abaixo a verificação fica MANUAL.


Banco de dados e dados

MongoDB Atlas

Campos no Imara: Public Key · Private Key · Project (Group) ID

Permissão mínima: API Key de organização com papel Organization Read Only, adicionada ao projeto como Project Read Only.

Frase para o cliente:

Crie uma API Key na organização Atlas com o papel Organization Read Only, adicione essa chave ao projeto com o papel Project Read Only, libere o IP de saída da Imara na API Access List e nos envie a Public Key, a Private Key e o Project ID.

Atenção — a Atlas exige allowlist de IP para chamadas de API. Sem liberar o IP do worker da Imara, todas as verificações falham na autenticação. Confirme o IP atual com o time de infraestrutura antes de enviar a frase.

Snowflake

Campos no Imara: Account · Usuário · Senha · Warehouse (opcional) · Role (opcional)

Permissão mínima: papel de monitoramento dedicado com IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE e MONITOR ON ACCOUNT. Não é necessário ACCOUNTADMIN.

Frase para o cliente:

Crie um usuário de serviço com um papel de monitoramento que tenha IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE e MONITOR ON ACCOUNT, e nos envie o identificador da conta, o usuário, a senha, o warehouse e o nome do papel.

AtençãoSHOW GRANTS OF ROLE ACCOUNTADMIN e SHOW SECURITY INTEGRATIONS podem exigir MANAGE GRANTS; sem isso essas duas verificações ficam MANUAL em vez de reprovar.

Supabase

Campos no Imara: Access Token · Slug da organização (opcional) · Project Ref (opcional)

Permissão mínima: Personal Access Token de usuário Owner da organização.

Frase para o cliente:

Gere um Personal Access Token na conta de um Owner da organização Supabase e nos envie o token, o slug da organização e o Project Ref do projeto que devemos monitorar.

Atenção — slug e project ref aparecem como opcionais, mas cada um habilita um bloco de verificações: sem o slug, as de organização ficam MANUAL; sem o project ref, as de projeto são puladas.


Produtividade e colaboração

Google Workspace

Campos no Imara: Domínio · E-mail do admin · Chave JSON da service account

Permissão mínima: service account com delegação em todo o domínio, autorizada no Admin Console para seis escopos de leitura, impersonando um super admin.

Frase para o cliente:

Crie uma service account com delegação em todo o domínio, autorize o Client ID dela no Admin Console para os escopos admin.directory.user.readonly, admin.directory.domain.readonly, admin.directory.customer.readonly, admin.directory.orgunit.readonly, admin.directory.rolemanagement.readonly e cloud-identity.policies.readonly, e nos envie o domínio, o e-mail de um super administrador e a chave JSON.

Atenção — o e-mail do admin aparece como opcional no formulário, mas é o sujeito da delegação. Sem ele as APIs de Directory recusam a chamada e nenhuma verificação de Workspace roda.

Slack

Campos no Imara: Bot Token · Workspace ID (opcional)

Permissão mínima: um bot token válido. auth.test não exige escopo adicional.

Frase para o cliente:

Crie um Slack app no seu workspace, instale-o e nos envie o Bot User OAuth Token (começa com xoxb-).

Atençãohoje só uma verificação está implementada (conectividade / revisão de configuração). As demais dependem de Enterprise Grid e ainda não existem. Não prometa cobertura de compliance de Slack ao cliente.


Identidade e SSO

Okta

Campos no Imara: Domínio da org · API Token

Permissão mínima: API Token (SSWS) criado por um Read-Only Administrator.

Frase para o cliente:

Crie um API Token em uma conta com o papel Read-Only Administrator e nos envie o domínio da sua org Okta (ex.: empresa.okta.com) e o token.

Atenção — alguns recursos (configurações de apps de primeira parte, inventário de API tokens) só respondem a Super Administrator. Com Read-Only Admin essas verificações ficam NOT_RUN, não FAIL. Se o cliente quiser cobertura total, precisa de Super Admin.


Gerenciadores de senha

1Password

Campos no Imara: API Token · URL da Events API (opcional)

Permissão mínima: token da Events API com acesso a Audit events e Sign-in attempts.

Frase para o cliente:

No 1Password Business, crie um token da Events API com acesso a Audit events e Sign-in attempts, e nos envie o token junto com a URL da Events API da sua região (ex.: https://events.1password.com).

Atenção — a URL padrão é a dos EUA. Cliente em tenant europeu ou canadense precisa informar a URL regional, senão o token não autentica.

Bitwarden

Campos no Imara: Client ID · Client Secret

Permissão mínima: API Key da organização (não a pessoal), que autentica no escopo api.organization.

Frase para o cliente:

No Bitwarden, acesse Settings → Organization info → View API Key na sua organização e nos envie o client_id e o client_secret exibidos.

Atenção — é a chave da organização, não a do usuário. A chave pessoal falha na autenticação.

Dashlane

Campos no Imara: API Key

Permissão mínima: chave da Team API, gerada no console de administração.

Frase para o cliente:

No console de administração do Dashlane Business, gere uma chave da API de time (Team API) e nos envie a chave.


CDN e segurança

Cloudflare

Campos no Imara: API Token · Account ID (opcional)

Permissão mínima: API Token com leitura em Zone, Zone Settings, DNS e Firewall Services (todas as zonas) + Account Settings: Read e Audit Logs: Read.

Frase para o cliente:

Crie um API Token no Cloudflare com permissões de leitura em Zone, Zone Settings, DNS e Firewall Services aplicadas a todas as zonas, mais Account Settings: Read e Audit Logs: Read, e nos envie o token e o Account ID.

Atenção — sem o Account ID a verificação de log de auditoria não roda (os endpoints de auditoria são escopados por conta). Peça sempre os dois.


CRM e vendas

HubSpot

Campos no Imara: Access Token

Permissão mínima: Private App com os escopos settings.users.read e crm.objects.contacts.read.

Frase para o cliente:

Crie um Private App no HubSpot com os escopos settings.users.read e crm.objects.contacts.read e nos envie o Access Token gerado.

Atençãosettings.users.read é restrito a planos pagos e o log de auditoria exige Enterprise. Em plano gratuito a verificação de administradores fica MANUAL.

Salesforce

Campos no Imara: Instance URL · Client ID · Client Secret · Refresh Token

Permissão mínima: Connected App com escopos api e refresh_token; usuário de integração com API Enabled e View Setup and Configuration.

Frase para o cliente:

Crie um Connected App com os escopos api e refresh_token, use um usuário de integração com as permissões API Enabled e View Setup and Configuration, e nos envie a Instance URL, o Consumer Key, o Consumer Secret e o Refresh Token.

Atenção — sem View Setup and Configuration a leitura do SetupAuditTrail é recusada e a verificação de trilha de auditoria fica MANUAL.


Integrações fora do ar (não ofereça ao cliente)

Estão no código mas não estão marcadas como disponíveis no catálogo:

Integração

Situação

Vercel

Verificações implementadas e formulário pronto (API Token + Team ID), mas o catálogo está em COMING_SOON. Basta liberar.

Deel · Gupy · Convenia

Verificações de HRIS e formulário (token único) prontos; catálogo em COMING_SOON.

DigitalOcean · Office 365

Verificações existem, mas o formulário não tem campo de credencial nenhum — liberar no catálogo hoje resultaria em tela de conexão vazia. Precisa de desenvolvimento antes.

Lacunas conhecidas do produto

  1. Nada disso aparece na plataforma. A tela de conexão de cada integração não lista permissão exigida — só um link para a documentação genérica do fornecedor. Cliente sem orientação erra a permissão e a integração conecta mas não produz evidência.
  2. Campos marcados como opcionais que são obrigatórios na prática — Azure subscriptionId, GitLab groupId, Google Workspace adminEmail, Cloudflare accountId, Supabase organizationSlug/projectRef. Vale corrigir o formulário ou, no mínimo, o texto de apoio.
  3. AWS sem caminho de role cross-account. Só chave estática. Cliente com política interna proibindo chave de longa duração não consegue conectar.
  4. Slack praticamente vazio. Uma verificação implementada. Convém remover do catálogo ou rotular claramente até haver cobertura real.

Was this helpful?

Your feedback shapes what we write next.