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…
🔴 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:GenerateCredentialReportdispara 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_RUNouMANUALcom a mensagem do motivo — nunca umFAILinventado. 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
SecurityAuditeViewOnlyAccessmais uma política inline permitindoiam: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.
SecurityAuditsozinha não cobre SageMaker, Bedrock, Macie, Inspector2, Transfer, Route 53 Domains e Global Accelerator — daí oViewOnlyAccess.ReadOnlyAccesstambé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 sinalizaReadOnlyAccessconcedida 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
ReadereSecurity Readerna assinatura, conceda as permissões de aplicativo do Microsoft GraphDirectory.Read.All,Policy.Read.All,Application.Read.AlleAuditLog.Read.Allcom 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
signInActivitye o relatório de registro de métodos de autenticação — isso exigeAuditLog.Read.Alle licença Entra ID P1/P2. Sem licença, essas verificações ficamNOT_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/viewereroles/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,repoeread: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_repobasta. - 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_apiem 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 SNOWFLAKEeMONITOR ON ACCOUNT, e nos envie o identificador da conta, o usuário, a senha, o warehouse e o nome do papel.
Atenção — SHOW 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.readonlyecloud-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ção — hoje 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_ide oclient_secretexibidos.
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.readecrm.objects.contacts.reade nos envie o Access Token gerado.
Atenção — settings.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
apierefresh_token, use um usuário de integração com as permissõesAPI EnabledeView 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 |
Deel · Gupy · Convenia | Verificações de HRIS e formulário (token único) prontos; catálogo em |
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
- 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.
- Campos marcados como opcionais que são obrigatórios na prática — Azure
subscriptionId, GitLabgroupId, Google WorkspaceadminEmail, CloudflareaccountId, SupabaseorganizationSlug/projectRef. Vale corrigir o formulário ou, no mínimo, o texto de apoio. - 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.
- 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.
Integrações – Catálogo: conectar, pausar e remover uma integração
Next →Integrações – Como pedir uma integração que ainda não existe
