メインコンテンツまでスキップ

ONLYOFFICE DocsでのJWTの設定

ドキュメントを不正アクセスから保護するために、ONLYOFFICEエディターはJSON Web Token(JWT)を使用します。トークンは、Document Editorの初期化時や内部ONLYOFFICE Docsサービス間でのコマンド交換時に設定に追加されます。シークレットキーはJSON Webトークンに署名し、ONLYOFFICE Docsへのリクエスト時にトークンを検証するために使用されます。

注記

ONLYOFFICE Docs v.7.2以降、JWTはデフォルトで有効になっており、シークレットキーは自動的に生成されます。必要に応じてパラメーターを変更することができます。以前のバージョンからアップグレードする場合、手動で設定したシークレットキーは保持されます。

ドキュメントを保護するには、ONLYOFFICE Docsの設定ファイルで独自のシークレットキーを指定し、同じシークレットキーをコネクタ設定に指定します。7.2より前のバージョンを使用している場合は、トークン検証も有効にする必要があります。

Linux/Windowsの場合:ONLYOFFICE Docsの設定​

  1. 任意のテキストエディターでlocal.jsonファイルを開きます。

    • Linuxの場合 — /etc/onlyoffice/documentserver/local.json
    • Windowsの場合 — %ProgramFiles%\ONLYOFFICE\DocumentServer\config\local.json
  2. 7.2より前のバージョンを使用している場合は、3つのセクションでfalseの値をtrueに変更してトークン検証を有効にします:

    • services.CoAuthoring.token.enable.browser
    • services.CoAuthoring.token.enable.request.inbox
    • services.CoAuthoring.token.enable.request.outbox
  3. 3つのセクションでシークレットキーの値を独自のテキスト文字列に置き換えて指定します。シークレットキーは3つのセクションすべてで同じでなければなりません。

    • services.CoAuthoring.secret.inbox.string
    • services.CoAuthoring.secret.outbox.string
    • services.CoAuthoring.secret.session.string
    {
    "services": {
    "CoAuthoring": {
    "token": {
    "enable": {
    "request": {
    "inbox": true,
    "outbox": true
    },
    "browser": true
    }
    },
    "secret": {
    "inbox": {
    "string": "<your_secret_key>"
    },
    "outbox": {
    "string": "<your_secret_key>"
    },
    "session": {
    "string": "<your_secret_key>"
    }
    }
    }
    }
    }
  4. 変更を保存します。

  5. 設定変更を反映させるためにサービスを再起動します:

    Linux:

    systemctl restart ds-converter ds-docservice ds-metrics

    Windows:

    Get-Service | Where-Object { $_.DisplayName -like "*ONLYOFFICE*" } | Restart-Service -Force

Dockerの場合:環境変数を使用​

Dockerでのデプロイでは、local.jsonを直接編集する代わりに、docker runコマンドで環境変数を使用します。

警告

自動生成されたシークレットキーを変更したり、/etc/onlyoffice/documentserver/local.jsonでJWTを手動で無効にした場合、サーバーの再起動時にJWTが再度有効になり、シークレットキーが再生成されます。DockerでのデプロイでJWTを設定する場合は、常に環境変数を使用してください。

新しい環境変数を適用するには、コンテナを再作成する必要があります。既存のコンテナを停止して削除し、更新したパラメーターで新しいコンテナを実行します:

sudo docker stop documentserver
sudo docker rm documentserver
sudo docker run -i -t -d -p 80:80 \
-e JWT_ENABLED=true \
-e JWT_SECRET=<your_secret_key> \
onlyoffice/documentserver

JWTを無効にするには、代わりに-e JWT_ENABLED=falseを使用します。