Confluence のセッション タイムアウトを調整する方法
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
要約
Confluence には、デフォルトで 2 つのセッション cookie クッキーがあります。
JSESSIONID
: Tomcat が使用および管理します。デフォルトでは、これがセッション cookie と見なされます。
Session cookies are deleted when the current session ends. The browser defines when the "current session" ends, and some browsers use session restoring when restarting. This can cause session cookies to last indefinitely.
seraph.confluence
: Confluence アプリケーションが使用し、Seraph Framework を通じて管理されます。- この cookie は、ログイン時にユーザーによってログイン情報を記憶オプションが選択されているときに使用されます。
このオプションはクラスター化された Confluence Data Center では強制されており、ユーザーがログイン ページで目にすることはありません。これを変更したい場合は「Confluence で「ログイン情報を記憶する」機能を設定する方法」をご参照ください。
- このオプションは、「SSO for Atlassian Server and Data Center App」を通じて SSO をデフォルト設定で設定する場合にも適用されます。
デフォルトでは、これは永続的な cookieと見なされます。
Permanent cookies are deleted at a date specified by the
Expires
attribute, or after a period of time specified by theMax-Age
attribute
seraph.confluence
が設定されておらず、セッションを識別する唯一の cookie が JSESSIONID
の場合、セッションは次の場合に失われます (ユーザーは再認証が必要)。
- ユーザーがブラウザを閉じた
- アプリケーション ノードが再起動された
- クラスター化された Data Center 上の別のアプリケーション ノードにユーザーが送られた
- ユーザーがログアウトした
- ユーザーが 60 分間アイドル状態である
- これは Confluence エディターでの作業には適用されません。つまり、ユーザーがエディター上で 60 分を超えてアイドル状態になってもセッションは失われません。
seraph.confluence
が設定されている場合、デフォルトの max-age
は 14 日間 (1209600 秒) に設定され、ブラウザーが Cookie を自動的に削除し、上記で詳しく説明したルールが適用されます。ただし、この cookie が有効である間は JSESSIONID
よりも優先されるため、次の場合にユーザーはセッションを失うことはありません。
- ブラウザが閉じられた
- アプリケーション ノードが再起動された
- クラスター化された Data Center 上の別のアプリケーション ノードにユーザーが送られた
- ユーザーがブラウザでアイドル状態である
Confluence 管理者がユーザーのセッション タイムアウトを調整する必要がある場合、これら 2 つのセッション cookie の失効時間を調整します。
変更は次の設定ファイルに適用できます。
<confluence-install>/conf/web.xml
ここで、Web サーバーでグローバルに割り当てられる Tomcat セッション クッキーが管理されます。
<confluence-install>/confluence/WEB-INF/web.xml
- ここで、Confluence アプリケーションに割り当てられる Tomcat セッション cookie (
JSESSIONID
) が管理されます。 - ここで調整された値は前述のファイルよりも優先されます。
- ここで、Confluence アプリケーションに割り当てられる Tomcat セッション cookie (
<confluence-install>/confluence/WEB-INF/classes/seraph-config.xml
- このファイルで調整された値は、
seraph.confluence
cookie に適用されます。 - これは、Confluence がクラスター化されている場合の主な設定です。これを設定する必要がある場合は「Confluence で「ログイン情報を記憶する」機能を設定する方法」をご参照ください。
- このファイルで調整された値は、
環境
Confluence Data Center および Server
ソリューション
アイドル タイムアウトを変更する
ユーザーが 5 時間アイドル状態になったときにセッションを無効にしたいとします (これは単なる例であり、必要に応じて値を変更する必要があります)。ただし、[記憶する] オプションがオンになっている場合を除きます。その場合、修正する必要があるファイルは <confluence-install>/confluence/WEB-INF/web.xml
のみです。
<confluence-install>/confluence/WEB-INF/web.xml
を編集し、次のようなブロックを検索してください。これがデフォルトの設定です。<session-config> <session-timeout>60</session-timeout> <tracking-mode>COOKIE</tracking-mode> </session-config>
構成を次のように調整します。セッションのタイムアウトは分単位で設定されます。
<session-config> <session-timeout>300</session-timeout> <tracking-mode>COOKIE</tracking-mode> </session-config>
- Confluence を再起動して変更を適用します。
Confluence をクラスター化している場合は、上記の変更をすべてのノードに適用する必要があります。
ローリング リスタートで良いため、完全なダウンタイムは発生しません。
remember me cookie の有効期間を変更する
seraph.confluence
cookie の有効期間を 2 日間に変更したいとします (これは単なる例であり、値は必要に応じて変更する必要があります)。その場合、修正する必要があるファイルは <confluence-install>/confluence/WEB-INF/classes/seraph-config.xml
のみです。
通常、これはセッション タイムアウトを変更する必要があるときに変更する構成です。
<confluence-install>/confluence/WEB-INF/classes/seraph-config.xml
を編集し、以下の初期化パラメータを追加します。<!-- session-timeout --> <init-param> <param-name>autologin.cookie.age</param-name> <param-value>172800</param-value> </init-param>
デフォルトでは、
autologin.cookie.age
パラメーターはこのファイルに設定されていません。以前に変更を加えた場合は、それを検索してそこで値を変更することをお勧めします。
上記の構成ブロックは、以下のように<parameters>
タグに含める必要があります。- Confluence を再起動して変更を適用します。
Confluence をクラスター化している場合は、上記の変更をすべてのノードに適用する必要があります。
ローリング リスタートで良いため、完全なダウンタイムは発生しません。
認証後、一定時間経過後にユーザーのログアウトを強制する
厳格なセキュリティ ポリシーがあり、ユーザーがアイドル状態であるかどうかに関係なく、認証後 8 時間 (これは単なる例であり、値は必要に応じて変更する必要があります) でユーザー セッションを期限切れにする必要があるとします。
これにより、ユーザーは Confluence エディターでアクティブに作業している場合でもログアウトされます。これは場合によっては望ましくない動作となるため、このオプションを選択するときは慎重に行う必要があります。
このオプションは、上記の両方の解決策の組み合わせでは不十分な場合にのみ選択できます。
各ファイルで推奨される構成変更です。
<confluence-install>/conf/web.xml
を編集し、次のようなブロックを検索してください。これがデフォルトの設定です。<session-config> <session-timeout>30</session-timeout> </session-config>
構成を次のように調整します。
<session-config> <session-timeout>480</session-timeout> <tracking-mode>COOKIE</tracking-mode> <cookie-config> <max-age>28800</max-age> </cookie-config> </session-config>
session-timeout
は分単位で設定され、max-age
は秒単位で設定されます。max-age
をJSESSIONID
に追加すると、永続的 cookie に変わります。
<confluence-install>/confluence/WEB-INF/web.xml
を編集し、次のようなブロックを検索してください。これがデフォルトの設定です。<session-config> <session-timeout>60</session-timeout> <tracking-mode>COOKIE</tracking-mode> </session-config>
構成を次のように調整します。
<session-config> <session-timeout>480</session-timeout> <tracking-mode>COOKIE</tracking-mode> <cookie-config> <max-age>28800</max-age> </cookie-config> </session-config>
<confluence-install>/confluence/WEB-INF/classes/seraph-config.xml
を編集し、以下の初期化パラメータを追加します。<!-- session-timeout --> <init-param> <param-name>autologin.cookie.age</param-name> <param-value>28800</param-value> </init-param>
デフォルトでは、
autologin.cookie.age
パラメーターはこのファイルに設定されていません。以前に変更を加えた場合は、それを検索してそこで値を変更することをお勧めします。
上記の構成ブロックは、以下のように<parameters>
タグに含める必要があります。- Confluence を再起動して変更を適用します。
Confluence をクラスター化している場合は、上記の変更をすべてのノードに適用する必要があります。
ローリング リスタートで良いため、完全なダウンタイムは発生しません。
参考資料
HTTP authentication with Seraph
Confluence で「ログイン情報を記憶する」機能を設定する方法