2017-04-25 14 views
0

私はdjangoでcqlengineを使用します。いくつかのケースでは、Cassandraはユーザーに何かの権限がないことを示すエラーをスローします。場合によってはこれが選択されていることもあります。私は共有するコードはありません。これを行う特定の行がないからです。私は非常にユーザーがすべてのアクセス許可を持っていると確信して、時にはそれが動作します。そのため、ユーザーが権限を持っていない場合、権限エラーは発生しません。Cassandra:時折許可エラー

これの背後にある理由とその問題を見つける方法は?

+0

あなたの 'system_auth'キースペースのクラス名と複製要素は何ですか? –

答えて

0

system_authキースペースRFはノードの量と同じですか? system_authキースペースで修復を実行しようとしましたか?もしそうでなければ。

私にとっては、一貫性の問題のように思えます。

0

認証を有効にしている場合は、キースペースsystem_auth(ノード数に等しい)に適切なRFを設定してください。

次に、作成したユーザーがすべてのキースペースに対して次の権限を持っていることを確認します。 {'ALTER', 'CREATE', 'DROP', 'MODIFY', 'SELECT'}。ユーザーがスーパーユーザーである場合は、そのユーザーの上記の一覧に加えて、アクセス許可として'AUTHORIZE'を追加してください。

第三に、あなたはこの問題を解決しますCONSISTENCY ALL; SELECT * from system_auth.users ; SELECT * from system_auth.permissions ; SELECT * from system_auth.credentials ;

希望を実行することにより、system_authキースペース内のすべてのデータの読み取り・修理の仕事をオフに設定することができます!