実稼働環境でダウンタイムを発生させることなく実装する
実稼働環境または他の既存のDataStax Enterprise環境で実装する場合に、ダウンタイムを発生させることなくDSE Unified Authentication(DSE統合認証)を有効にする手順。
ダウンタイムを発生させることなくアクセス制御を有効にするには、移行モードを使用して、アカウントを持たないアプリケーションやユーザーを、サービスを中断させずに一時的にサポートします。
手順
-
すべてのアプリケーションを更新して認証情報を提供し、最新のDSEドライバーを使用するようにします。「DataStaxドライバー」を参照してください。
注: 認証と権限管理が無効になっている場合、接続要求の認証情報部分は無視されます。
- キースペースのセキュリティを確保するために、レプリケーション係数を変更します。「セキュリティ・キースペースのレプリケーション係数の設定」を参照してください。
- system_authおよびdse_authキースペースのフル・リペアを実行します。
- 各ノードで、移行モードの認証と権限管理を有効にします。
- ロギングをオンにして、アプリケーションの認証が可能なことを確認できるようにします。「DataStax Enterpriseのデータ監査の有効化」を参照してください。
- JMX認証を有効にします。「マネージドBeanの呼び出しの権限管理」を参照してください。
-
ローリング再起動を実行します。
注意: トランザクション・ノードは、再起動後の悪意のあるアクティビティーに対して脆弱です。誰でもデフォルトのcassandraアカウント(パスワードはcassandra)を使用してシステムにアクセスできます。DataStaxは、cassandraアカウントを無効にするまで、そのクラスターを分離することを推奨します。
-
再起動が完了したら、cqlshを使用してデフォルトのcassandraアカウントを置き換えます。「スーパーユーザー・アカウントの作成」を参照してください。
注: デフォルトのcassandraアカウントを使用すると、パフォーマンスに影響する可能性があります。ログインを含むすべての要求は、整合性レベルQUORUMで実行されます。DataStaxは、自分のrootアカウントを作成する目的でのみこのアカウントを使用することを推奨します。
- 新しいrootアカウントに切り替え、ロールを構成して、パーミッションを割り当てます。「ロールの管理」を参照してください。
- 監査ログを使用するか、Kerberosを使用しているときはKDCログを使用して、すべてのアプリケーションがトランザクション・ノードにアクセスでき、要求の実行に必要なパーミッションがあることを確認します。「DataStax Enterpriseのログの形式」を参照してください。
-
dse.yamlで、
authentication_options
とauthorization_options
transitional_mode
をdisabled
に設定します。 - ローリング再起動を実行します。