Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

License管理实践–激活、续费、监控、合规操作指南

安装时激活后,Dify Enterprise 的许可证管理不会结束。 到期日期监控、续订程序、分配给多个实例、响应命名空间更改——这些需要作为持续的操作任务纳入 SOP(标准操作程序)中。

从官方文档中可以确认的一个重要事实是,许可证与 Kubernetes 集群的命名空间绑定在一起。换句话说,许可证管理是基础设施操作的一部分,而不仅仅是管理屏幕上的点击操作。


1. License的基本结构

1.1 License与部署环境的关系

graph TB
    subgraph "Dify Enterprise License"
        L[License ID: DIFY-ENT-xxxx]
    end
    subgraph "Kubernetes Cluster"
        subgraph "namespace: dify-production"
            A[dify-enterprise Pod]
            B[dify-api Pod]
            C[dify-worker Pod]
        end
    end
    L -->|bound to namespace| A
    A -->|License 検証| B
    A -->|License 検証| C

1.2 主要限制

项目内容
装订单元Kubernetes 命名空间
激活方法线上/线下
更新后操作需要重新启动 dify-enterprise 部署
更改命名空间时需要重新激活

1.3 在线模式 vs 离线模式

项目在线模式离线模式
互联网连接必填不需要
value.yaml 设置licenseMode: "online"licenseMode: "offline"
激活从管理控制台输入许可证密钥手动部署许可证文件
更新从管理控制台更新操作放置新的许可证文件后重新启动 Pod
应用场景标准云环境气隙环境,严格的网络政策

2.激活步骤

2.1 在线激活

# 1. values.yaml で License モードを確認
enterprise:
  enabled: true
  licenseMode: "online"

# 2. Helm デプロイ(または既存環境の場合は upgrade)
helm upgrade -i dify dify/dify \
  -n dify-production \
  -f values.yaml \
  --wait

# 3. Enterprise 管理コンソールにアクセス
#    https://enterprise.dify.example.co.jp
#    → License 画面で License キーを入力

# 4. アクティベーション成功を確認
kubectl get pods -n dify-production -l app=dify-enterprise
# STATUS が Running であること

2.2 离线激活

# 1. values.yaml で License モードをオフラインに変更
enterprise:
  enabled: true
  licenseMode: "offline"

# 2. Helm デプロイ
helm upgrade -i dify dify/dify \
  -n dify-production \
  -f values.yaml \
  --wait

# 3. License ファイルの配置
#    公式ドキュメントの手順に従い、License ファイルを
#    所定のパスに配置する

# 4. Enterprise Pod を再起動
kubectl rollout restart deployment/dify-enterprise -n dify-production

# 5. 起動確認
kubectl rollout status deployment/dify-enterprise -n dify-production

2.3 激活后确认清单

  • 可以登录企业管理控制台
  • 许可证信息(到期日期和计划详细信息)正确显示。
  • API / Worker / Web Pod 正常处于运行状态。
  • 应用程序创建和执行工作正常。
  • 将License信息以截图或文本形式记录在账本中

3.许可证账本管理

3.1 管理三个账本

在企业运营中,会维护以下三个账本。

####账本1:License基本信息

项目录制内容示例(フィクション)
许可证编号唯一标识符(契約書記載の番号)
计划类型版本名称(契約プランによる)
出版日期许可证发布日期2026-01-15
有效期有效期2027-01-14
承包商采购机构名称示例有限公司
销售联系方式(担当営業の連絡先)
授权用户数量上限(契約により異なる)
允许的工作空间数量上限(契約により異なる)

账本2:实例信息

项目录制内容示例
集群名称Kubernetes 集群标识符产品集群 apne1
命名空间许可证目的地dify 生产
环境类型生产/分期/验证生产
经理基础设施经理山田太郎
用户部主要用户组织全公司
Dify版本当前版本3.7.2

账本 3:更新/操作历史记录

日期和时间操作详情表演者笔记
2026-01-15首次激活山田太郎在线模式
2026-04-01版本升级3.6→3.7山田太郎许可证重新验证
2026-07-01许可证刷新山田太郎从管理控制台实施
2026-10-15续约谈判开始佐藤花子有效期 90 天前

4. 监控过期日期

4.1 多阶段警报设计

许可证到期将直接导致Dify Enterprise完全暂停,请预留足够的时间应对。

gantt
    title License 有効期限アラートスケジュール
    dateFormat  YYYY-MM-DD
    section アラート
    90日前通知 (更新交渉開始)   :milestone, m1, 2026-10-15, 0d
    60日前通知 (契約締結目標)   :milestone, m2, 2026-11-14, 0d
    30日前通知 (技術準備完了)   :milestone, m3, 2026-12-15, 0d
    14日前通知 (最終確認)       :milestone, m4, 2026-12-31, 0d
    7日前通知 (緊急対応)        :milestone, m5, 2027-01-07, 0d
    期限満了                    :milestone, m6, 2027-01-14, 0d
剩余天数警报级别行动通知目的地
90 天信息开始续约谈判并获取报价采购部+信息系统部
60 天警告签订合同并获取新的许可证密钥采购部+信息系统部
30 日警告技术更新准备工作完成信息系统部
14日已执行更新工作并确认操作信息系统部
7 天关键如果不完整则紧急升级管理层+所有利益相关者

4.2 自动监控实施政策

自动监控可以通过以下方式实现:

  • Shell 脚本 + cron:每天执行一个脚本,从 Enterprise Pod 检索许可证到期日期,并根据剩余天数通过 Slack/电子邮件通知您。
  • Prometheus + AlertManager:将剩余许可证天数公开为指标并在 PrometheusRule 中定义警报

4.3 使用 Prometheus 进行指标监控

# PrometheusRule 例
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  name: dify-license-alerts
  namespace: monitoring
spec:
  groups:
    - name: dify-license
      rules:
        - alert: DifyLicenseExpiringSoon
          expr: dify_license_days_remaining < 30
          for: 1h
          labels:
            severity: warning
          annotations:
            summary: "Dify License の有効期限が 30 日以内です"
            description: "残り {{ $value }} 日です。更新手続きを確認してください。"
        - alert: DifyLicenseExpiryCritical
          expr: dify_license_days_remaining < 7
          for: 1h
          labels:
            severity: critical
          annotations:
            summary: "Dify License の有効期限が 7 日以内です"
            description: "残り {{ $value }} 日です。至急更新してください。"

5. 许可证更新程序

5.1 更新流程

sequenceDiagram
    participant PM as 購買担当
    participant Dify as Dify Sales
    participant IT as 情報システム部
    participant K8s as Kubernetes Cluster
    
    PM->>Dify: 更新見積もり依頼 (90日前)
    Dify->>PM: 見積もり提出
    PM->>PM: 社内承認プロセス
    PM->>Dify: 発注 (60日前)
    Dify->>IT: 新 License キー送付
    IT->>IT: ステージング環境で検証 (30日前)
    IT->>K8s: 本番 License 更新 (14日前)
    K8s->>K8s: enterprise Pod 再起動
    IT->>IT: 動作確認・台帳更新

5.2 更新实施流程(通用)

# 1. ステージング環境で事前検証(新 License キーまたはファイルを適用)

# 2. 本番環境で License 更新
#    オンライン: 管理コンソールから新しい License キーを入力
#    オフライン: 新しい License ファイルを配置

# 3. enterprise Pod を再起動(更新反映のため必須)
kubectl rollout restart deployment/dify-enterprise -n dify-production
kubectl rollout status deployment/dify-enterprise -n dify-production --timeout=300s

# 4. 動作確認
curl -s https://enterprise.dify.example.co.jp/api/health | jq .
# 管理コンソールで新しい有効期限が反映されていることを確認

6. 多个实例的许可证分发

6.1 按环境划分的分配策略

如果您的公司运营多个 Dify Enterprise 实例,请明确您的许可证分配政策。

环境优先许可证类型笔记
生产首要任务普通许可证到期对业务影响最大
分期正版授权生产升级前需要验证
验证/开发中等评估许可证或普通许可证优先级较低,因为更容易重建
灾难恢复站点普通许可证发生故障时立即切换

6.2 更改命名空间的注意事项

由于许可证链接到命名空间,因此在以下情况下需要重新激活。

  • 如果更改命名空间名称
  • 如果迁移到另一个集群
  • 故障转移到 DR 集群时
# namespace 変更時の対応手順
# 1. 新 namespace にデプロイ
helm upgrade -i dify dify/dify \
  -n dify-production-v2 \
  -f values.yaml \
  --wait

# 2. 再アクティベーション
#    管理コンソールから License キーを再入力
#    オフラインの場合は License ファイルを再配置

# 3. 旧 namespace のクリーンアップ
kubectl delete namespace dify-production-old

6.3 DR(灾难恢复)环境中的许可证

在容灾环境中,检查是否需要容灾License,记录故障切换时的重新激活过程,并提前将License文件放置到离线环境中。恢复训练期间还应验证许可证激活。


7. 合规性和内部控制

7.1 许可证相关控制点

控制项目内容频率
许可证库存检查所有实例的许可证状态季刊
使用状态回顾检查用户和工作空间的数量是否在许可证限制内每月
遵守合同条件检查License使用范围是否符合合同条件季刊
账本的准确性检查账本记录是否与实际环境相符季刊
追踪踪迹保留激活和更新的工作记录每次

7.2 审核准备情况

在准备内部审计和外部审计(J-SOX 等)时,准备许可证分类账、续订审批流程文件、工作记录、有效期监控日志和纠正程序。


8. 常见问题及解决方法

症状原因治疗
Enterprise Pod 无法启动许可证未激活从管理控制台激活
“许可证已过期”错误有效期执行更新程序并重新启动 Pod
命名空间迁移后身份验证错误许可证命名空间不匹配使用新命名空间重新激活
离线模式下不反映更新忘记重启 Pod执行 kubectl rollout restart
管理控制台不显示License信息Enterprise Pod 异常检查 Pod 日志并在必要时重新部署
达到用户限制扩大用途考虑升级您的许可证

9. 总结

下面总结了可靠许可证管理的五个原则。

  1. 维护账本:创建三个账本:License基本信息、实例信息、操作历史记录,并保持最新。
  2. 设置多步骤警报:提前90 / 60 / 30 / 14 / 7天分5步通知,以便提前进行续订流程。
  3. 将更新流程转化为SOP:登台验证→生产更新→操作确认→标准化账本更新流程
  4. 注意与命名空间的链接:始终记住,迁移、灾难恢复或更改命名空间时需要重新激活。
  5. 确保合规性:通过定期进行库存、使用情况审查和跟踪存储来为审核做好准备。

该许可证是 Dify Enterprise 的“运营先决条件”。如果此过程被中断,所有服务都将停止。这就是为什么将许可证管理定位为基础设施运营 SOP 中的首要项目非常重要。