Files
n8n-guide/docs/installation/credentials.md
2025-09-09 09:29:17 +08:00

225 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 凭证管理 (Credentials)
**凭证是n8n连接外部世界的"钥匙"**。它用于安全地存储和管理连接外部服务如数据库、API、邮箱所需的授权信息如API密钥、OAuth令牌、用户名密码等
## 📚 学习资源
- **图文教程**[n8n凭证管理实战指南](https://jishuzhan.net/article/1951148541186977794)
- **官方文档**[Credentials Management](https://docs.n8n.io/credentials/)
## 🔐 凭证的重要性
**🛡️ 安全存储**n8n对凭证进行加密存储保护您的账户安全
**🎯 集中管理**:在一个地方统一创建、查看和管理所有凭证
**♻️ 重复使用**:创建一次凭证后,可在多个工作流和节点中重复使用
**📋 最佳实践**:将敏感信息与工作流逻辑分离,更安全、更易于维护
## 🔧 凭证类型和配置
### 常用凭证类型
| 凭证类型 | 用途 | 配置信息 |
|---------|------|----------|
| **API Key** | 第三方服务认证 | API密钥、密钥名称 |
| **OAuth2** | 社交媒体、云服务 | 客户端ID、密钥、授权URL |
| **基本认证** | 简单用户名密码 | 用户名、密码 |
| **数据库连接** | 数据库访问 | 主机、端口、用户名、密码 |
| **SMTP邮箱** | 邮件发送 | 服务器、端口、认证信息 |
### 大模型凭证配置
AI模型集成是n8n的重要功能需要配置相应的API凭证
=== "OpenAI GPT"
```yaml
凭证类型: OpenAI
API Key: sk-xxxxxxxxxxxxxxxxxxxxxxxx
Organization ID: org-xxxxxxxxxxxxxxxx (可选)
API Base URL: https://api.openai.com/v1 (默认)
```
=== "Claude (Anthropic)"
```yaml
凭证类型: Anthropic
API Key: sk-ant-xxxxxxxxxxxxxxxxxxxxxxxx
API Version: 2023-06-01
```
=== "Google Gemini"
```yaml
凭证类型: Google AI
API Key: AIzaxxxxxxxxxxxxxxxxxxxxxxxxx
```
=== "本地模型 (Ollama)"
```yaml
凭证类型: HTTP Request
Base URL: http://localhost:11434
认证: 无 (本地部署)
```
### 邮箱凭证配置
邮件自动化是常见需求,以下是主流邮箱服务配置:
=== "Gmail"
```yaml
类型: Gmail OAuth2
客户端ID: your-client-id.googleusercontent.com
客户端密钥: your-client-secret
刷新令牌: 通过OAuth流程获得
```
!!! tip "Gmail设置提示"
需要在Google Cloud Console启用Gmail API并创建OAuth2凭证
=== "Outlook/Hotmail"
```yaml
类型: Microsoft OAuth2
应用程序ID: your-application-id
客户端密钥: your-client-secret
租户ID: common (个人账户)
```
=== "企业邮箱 (SMTP)"
```yaml
类型: SMTP
主机: smtp.yourcompany.com
端口: 587 (TLS) 或 465 (SSL)
用户名: your-email@company.com
密码: your-app-password
安全连接: STARTTLS
```
### 数据库凭证配置
=== "MySQL"
```yaml
类型: MySQL
主机: localhost 或 mysql.example.com
端口: 3306
数据库: your_database_name
用户名: your_username
密码: your_password
SSL: 启用 (生产环境推荐)
```
=== "PostgreSQL"
```yaml
类型: PostgreSQL
主机: localhost
端口: 5432
数据库: your_database
用户名: postgres
密码: your_password
SSL模式: require
```
=== "MongoDB"
```yaml
类型: MongoDB
连接字符串: mongodb://username:password@host:port/database
数据库: your_database_name
认证数据库: admin
```
## 🔒 安全最佳实践
### 凭证安全原则
!!! danger "安全清单"
- [ ] **强密码策略**:使用复杂且唯一的密码
- [ ] **最小权限原则**:只授予必要的权限
- [ ] **定期轮换**定期更新API密钥和密码
- [ ] **访问审计**:记录凭证使用情况
- [ ] **环境隔离**:开发/测试/生产环境使用不同凭证
### 凭证命名规范
建议采用清晰的命名规范:
```
服务名_环境_用途_版本
例如:
- gmail_prod_marketing_v1
- mysql_dev_analytics_v2
- openai_prod_chatbot_v1
```
### 权限控制
| 权限级别 | 适用场景 | 权限范围 |
|----------|----------|----------|
| **只读** | 数据查询、报告生成 | 查看权限 |
| **读写** | 数据同步、内容管理 | 增删改查 |
| **管理员** | 系统集成、完整控制 | 全部权限 |
## 🛠️ 凭证创建和管理
### 创建新凭证
1. **进入凭证管理**
- 点击左侧菜单 "Credentials"
- 或在节点配置中点击 "Create New"
2. **选择凭证类型**
- 从预定义类型中选择
- 或选择 "Generic Authentication" 自定义
3. **填写配置信息**
- 输入必要的认证信息
- 设置凭证名称和描述
4. **测试连接**
- 使用 "Test" 功能验证凭证
- 确保连接成功后保存
### 凭证使用流程
**创建凭证** → **配置参数** → **测试连接** → **保存凭证** → **在节点中使用** → **工作流执行**
## 🔄 凭证维护和故障排除
### 常见问题和解决方案
| 问题 | 可能原因 | 解决方案 |
|------|----------|----------|
| **认证失败** | 密码或密钥错误 | 重新获取并更新凭证 |
| **权限不足** | 账户权限限制 | 检查并提升账户权限 |
| **连接超时** | 网络或服务器问题 | 检查网络连接和服务状态 |
| **凭证过期** | Token或密钥过期 | 重新授权或更新凭证 |
### 维护策略
**定期检查**
```bash
# 凭证健康检查清单
□ 测试所有活跃凭证的连接状态
□ 检查即将过期的Token
□ 更新弱密码和过期凭证
□ 清理不再使用的凭证
□ 备份重要凭证配置
```
**监控和告警**
- 设置凭证失效监控
- 配置自动化健康检查工作流
- 建立凭证问题通知机制
## 📚 实践示例
### 示例配置Gmail发送工作报告
1. **创建Gmail OAuth2凭证**
2. **设计工作流**:定时触发 → 生成报告数据 → 格式化邮件内容 → Gmail发送邮件
3. **配置邮件节点使用凭证**
4. **测试和部署**
详细图文示例请参考:[n8n凭证管理实战指南](https://jishuzhan.net/article/1951148541186977794)
---
掌握凭证管理是安全使用n8n的基础也是构建可靠自动化系统的关键。
[上一章:界面介绍](interface/){ .md-button } [下一章n8n汉化](localization/){ .md-button .md-button--primary }