キャッシュ設定の構成

ロールおよびパーミッションをキャッシュする時間と更新間隔を変更します。

デフォルトでは、DataStax Enterprise(DSE)はログイン・ユーザーのロールとそれに関連するパーミッションをキャッシュします。キャッシュすることで、アクションごとに許可プロセス全体(system_authテーブルにクエリーする)を繰り返すことなく、指定された期間内に複数の接続要求を実行することが可能になります。

cassandra.yaml

cassandra.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/cassandra/cassandra.yaml
tarボール・インストール installation_location/resources/cassandra/conf/cassandra.yaml

セキュリティ関連のキャッシュ設定

cassandra.yaml ファイルの設定を調整します。

roles_validity_in_ms
ロール・キャッシュの有効期間(ミリ秒)。ユーザーに割り当てられているロールのリストをキャッシュする時間を指定します。ユーザーは、直接割り当てられたり、継承(別のロールに付与されたロール)したりすることで、複数のロールを持つ場合があります。ロール階層の複雑さ、ロール変更に対する許容範囲、環境内のノード数、クラスターのアクティビティー・レベルなどに基づいて、この設定を調整します。
パーミッションのフェッチは高負荷操作になる場合があり、この設定を使うことで柔軟性が得られます。認証セッションで付与されたロールは、AuthenticatedUserにキャッシュされます。指定された時間を過ぎると、ロールの有効性が再度チェックされます。DseAuthenticatorの使用時に内部認証が有効でない場合、自動的に無効になります。
  • 0 - ロール・キャッシングは無効
  • milliseconds - ユーザーに割り当てられているロールのリストをキャッシュする時間

デフォルト:120000(2分)

roles_update_interval_in_ms
ロール・キャッシュの更新間隔を有効にします。この間隔を過ぎると、キャッシュ・エントリーを更新できるようになります。次回アクセス時に、非同期の再読み込みがスケジュールされ、再読み込みが完了するまで古い値が返されます。roles_validity_in_msがゼロではない場合、こちらもゼロ以外の値でなければなりません。設定しない場合、デフォルトはroles_validity_in_msと同じ値です。

デフォルト:コメントアウト(120000

permissions_validity_in_ms
パーミッション・クエリーがパフォーマンスに及ぼす影響を管理するために、キャッシュ内のパーミッションが有効と見なされる期間。パーミッションのフェッチはリソースを多く消費する場合があります。セキュリティの許容範囲に合わせてキャッシュの有効期間を設定します。このキャッシュは、標準認証と行レベル・アクセス制御(RLAC)キャッシュに使用されます。キャッシュが完全に有効なのは短い期間です。
  • 0 - パーミッション・キャッシングは無効
  • milliseconds - 実行時間(単位はミリ秒)
注意: REVOKEは、キャッシュされたパーミッションを自動的には無効にしません。パーミッションは、次回更新された際に無効になります。

デフォルト:120000(2分)

permissions_update_interval_in_ms
標準認証キャッシュと行レベル・アクセス制御(RLAC)キャッシュの更新間隔を設定します。この間隔を過ぎると、キャッシュ・エントリーを更新できるようになります。次回アクセス時に、非同期の再読み込みがスケジュールされ、再読み込みが完了するまで古い値が返されます。permissions_validity_in_msがゼロではない場合、roles_update_interval_in_msもゼロ以外の値でなければなりません。設定しない場合、デフォルトはpermissions_validity_in_msと同じ値です。

デフォルト:コメントアウト(2000)

permissions_cache_max_entries
標準認証キャッシュと行レベル・アクセス制御(RLAC)キャッシュで保持されるエントリーの最大数。デフォルト値1000の場合、RLACパーミッション・キャッシュは最大で1000のエントリーを保持でき、標準認証キャッシュも最大で1000のエントリーを保持できます。このオプションは両方のキャッシュに適用されます。行レベル・アクセス制御(RLAC)の設定も行う場合にパーミッション・キャッシュのサイズを指定するには、以下の式を使用します。
numRlacUsers * numRlacTables + 100
このオプションがcassandra.yamlに含まれていない場合は、手動で入力して1000以外の値を使用します。「DSE Unified Authentication(DSE統合認証)の有効化」を参照してください。

デフォルト:設定されていません(1000)

認証と権限管理のキャッシングの無効化

(ロールとパーミッションの)許可キャッシュの構成を無効にするには、jvm.optionsファイルの以下の行をコメント解除します。

-Dcassandra.disable_auth_caches_remote_configuration=true

このオプションを設定すると、cassandra.yaml ファイルでのみキャッシュ・オプションを設定できるようになります。新しい設定を有効にするには、Cassandraを再起動します。