Criar e Editar Credenciais
As credenciais são fundamentais para conectar o n8n com sistemas externos de forma segura. Este guia aborda como criar, configurar e gerenciar credenciais de forma eficiente e segura.
Conceitos Fundamentaisā
O que sĆ£o Credenciaisā
Credenciais no n8n são informações de autenticação armazenadas de forma segura que permitem:
- Conectar com APIs externas
- Autenticar em serviƧos de terceiros
- Acessar bancos de dados
- Integrar com aplicaƧƵes web
Tipos de Credenciaisā
1. API Keysā
{
"type": "apiKey",
"name": "Stripe API Key",
"value": "sk_test_...",
"description": "Chave da API do Stripe para processamento de pagamentos"
}
2. OAuth 2.0ā
{
"type": "oauth2",
"name": "Google Sheets OAuth",
"clientId": "your-client-id",
"clientSecret": "your-client-secret",
"scope": "https://www.googleapis.com/auth/spreadsheets"
}
3. Basic Authenticationā
{
"type": "basicAuth",
"name": "Database Connection",
"username": "db_user",
"password": "secure_password"
}
4. Custom Headersā
{
"type": "customHeaders",
"name": "Custom API Headers",
"headers": {
"Authorization": "Bearer token",
"X-API-Version": "v2",
"Content-Type": "application/json"
}
}
Criando Credenciaisā
Passo 1: Acessar Gerenciador de Credenciaisā
- Navegue para o menu lateral esquerdo
- Clique em "Credentials" ou "Credenciais"
- Selecione "Add Credential" ou "Adicionar Credencial"
Passo 2: Selecionar Tipo de Credencialā
Categorias DisponĆveisā
- Communication: Email, Slack, Discord, WhatsApp
- Productivity: Google Workspace, Microsoft 365, Notion
- E-commerce: Shopify, WooCommerce, Stripe
- Marketing: Mailchimp, HubSpot, Facebook Ads
- Database: MySQL, PostgreSQL, MongoDB
- Cloud: AWS, Google Cloud, Azure
- Custom: HTTP Request, Webhook
Passo 3: Configurar Credenciaisā
Exemplo: Configuração de Email (Gmail)ā
{
"name": "Gmail - Marketing",
"description": "Conta de email para campanhas de marketing",
"type": "gmail",
"credentials": {
"email": "marketing@empresa.com",
"password": "app_password_here",
"imap": {
"host": "imap.gmail.com",
"port": 993,
"secure": true
},
"smtp": {
"host": "smtp.gmail.com",
"port": 587,
"secure": false
}
}
}
Exemplo: Configuração de API (Stripe)ā
{
"name": "Stripe - Produção",
"description": "API do Stripe para processamento de pagamentos",
"type": "stripe",
"credentials": {
"apiKey": "sk_live_...",
"webhookSecret": "whsec_...",
"apiVersion": "2023-10-16"
}
}
ConfiguraƧƵes AvanƧadasā
1. VariĆ”veis de Ambienteā
Configuração Seguraā
# .env file
STRIPE_API_KEY=sk_live_...
GMAIL_PASSWORD=app_password_here
DATABASE_URL=postgresql://user:pass@host:port/db
Uso no n8nā
{
"credentials": {
"apiKey": "={{ $env.STRIPE_API_KEY }}",
"password": "={{ $env.GMAIL_PASSWORD }}"
}
}
2. Configuração de Proxyā
Para Ambientes Corporativosā
{
"proxy": {
"host": "proxy.empresa.com",
"port": 8080,
"auth": {
"username": "proxy_user",
"password": "proxy_pass"
}
}
}
3. Configuração de Timeoutā
Para APIs Lentasā
{
"timeout": {
"request": 30000,
"response": 60000,
"retry": {
"attempts": 3,
"delay": 1000
}
}
}
Melhores PrĆ”ticas de SeguranƧaā
1. Nomenclatura Seguraā
PadrĆ£o Recomendadoā
# Formato: [Serviço] - [Ambiente] - [Propósito]
Nome: "Stripe - Produção - Pagamentos"
Nome: "Gmail - Marketing - Campanhas"
Nome: "Database - Desenvolvimento - Testes"
Evitarā
ā "API Key"
ā "Password"
ā "Token"
ā "Credential 1"
2. DescriƧƵes Detalhadasā
Template de Descriçãoā
## Propósito
Credencial para [funcionalidade especĆfica]
## Ambiente
- Produção/Desenvolvimento/Teste
## PermissƵes
- Escopo de acesso necessƔrio
## ResponsƔvel
- Nome e contato
## Ćltima Atualização
- Data e motivo
3. Rotação de Credenciaisā
Cronograma de Rotaçãoā
Rotação Mensal:
- API Keys de desenvolvimento
- Tokens de teste
Rotação Trimestral:
- API Keys de produção
- Senhas de aplicação
Rotação Semestral:
- Certificados SSL
- Chaves de criptografia
4. Monitoramento de Usoā
Alertas de SeguranƧaā
{
"monitoring": {
"failedAttempts": {
"threshold": 5,
"action": "disable_credential"
},
"unusualUsage": {
"threshold": "200%_normal",
"action": "alert_admin"
},
"expiration": {
"warningDays": 30,
"action": "notify_owner"
}
}
}
Gerenciamento de Credenciaisā
1. Organização por Projetoā
Estrutura Recomendadaā
š Credenciais
āāā š E-commerce
ā āāā Stripe - Produção
ā āāā Shopify - API
ā āāā PayPal - Sandbox
āāā š Marketing
ā āāā Gmail - Campanhas
ā āāā Mailchimp - API
ā āāā Facebook Ads
āāā š Database
ā āāā PostgreSQL - Produção
ā āāā MySQL - Desenvolvimento
ā āāā MongoDB - Analytics
āāā š IntegraƧƵes
āāā Slack - NotificaƧƵes
āāā Discord - Alertas
āāā Webhook - Custom
2. Versionamento de Credenciaisā
Controle de VersƵesā
Versão Atual:
- ID: cred_001
- Status: Ativo
- Criado: 2024-01-15
- Ćltimo Uso: 2024-01-20
Versão Anterior:
- ID: cred_001_v1
- Status: Depreciado
- Criado: 2023-12-01
- SubstituĆdo: 2024-01-15
3. Backup e Recuperaçãoā
EstratĆ©gia de Backupā
{
"backup": {
"frequency": "daily",
"retention": "30_days",
"encryption": true,
"location": "secure_storage",
"verification": "weekly"
}
}
Troubleshootingā
Problemas Comunsā
1. Credenciais Expiradasā
Sintomas:
- Erro 401 (Unauthorized)
- Erro 403 (Forbidden)
- Mensagens de token expirado
Solução:
- Verificar data de expiração
- Renovar credenciais
- Atualizar configuraƧƵes
2. Rate Limitingā
Sintomas:
- Erro 429 (Too Many Requests)
- ExecuƧƵes falhando intermitentemente
- Performance degradada
Solução:
- Implementar delays entre requests
- Usar mĆŗltiplas credenciais
- Otimizar frequência de execução
3. Configuração Incorretaā
Sintomas:
- Erro de conexão
- Timeout
- Dados incorretos
Solução:
- Validar configuraƧƵes
- Testar conectividade
- Verificar permissƵes
Ferramentas de Diagnósticoā
1. Teste de Conectividadeā
// Script para testar credenciais
async function testCredential(credentialId) {
try {
const result = await n8n.testCredential(credentialId);
console.log('Credencial vƔlida:', result);
} catch (error) {
console.error('Erro na credencial:', error);
}
}
2. Validação de PermissƵesā
{
"validation": {
"permissions": ["read", "write", "delete"],
"scopes": ["user:read", "user:write"],
"resources": ["users", "orders", "products"]
}
}
ConfiguraƧƵes EspecĆficas por ServiƧoā
1. Google Servicesā
Gmailā
{
"type": "gmail",
"credentials": {
"email": "user@gmail.com",
"password": "app_password",
"imap": {
"host": "imap.gmail.com",
"port": 993,
"secure": true
}
}
}
Google Sheetsā
{
"type": "googleSheets",
"credentials": {
"clientId": "your-client-id",
"clientSecret": "your-client-secret",
"scope": "https://www.googleapis.com/auth/spreadsheets"
}
}
2. Database Connectionsā
PostgreSQLā
{
"type": "postgres",
"credentials": {
"host": "localhost",
"port": 5432,
"database": "mydb",
"username": "user",
"password": "password",
"ssl": {
"rejectUnauthorized": false
}
}
}
MySQLā
{
"type": "mysql",
"credentials": {
"host": "localhost",
"port": 3306,
"database": "mydb",
"username": "user",
"password": "password",
"ssl": {
"ca": "certificate-authority"
}
}
}
3. Cloud Servicesā
AWSā
{
"type": "aws",
"credentials": {
"accessKeyId": "AKIA...",
"secretAccessKey": "...",
"region": "us-east-1",
"sessionToken": "optional-session-token"
}
}
Azureā
{
"type": "azure",
"credentials": {
"tenantId": "tenant-id",
"clientId": "client-id",
"clientSecret": "client-secret",
"subscriptionId": "subscription-id"
}
}
Recursos Adicionaisā
Documentação Oficialā
Ferramentas de SeguranƧaā
Comunidadeā
Próximos Passos: