Security and roles¶
基本的なパッケージのインストールと構成を超えて、 HARPを動作させるにはPostgresの権限が必要です。これらにより、コンセンサスレイヤーでノードステータスを維持するために必要に応じてPostgresまたはBDRに関する情報を収集できます。
Postgresのアクセス許可¶
次のいずれかの方法で、 node.dsn
パラメーターで指定されたロールを作成します。
CREATE USER ...CREATE ROLE ... WITH LOGIN
この構文により、ロールはデータベースにログインして診断情報を収集できます。
同様に、このロールのpg_hba.conf
にエントリが存在する必要があります。これにはさまざまな方法があります。例として、すべてのデータベースホストが10.10.*
のどこかにあるVPNサブネットを考えます。このような場合、最も簡単なアプローチは特定の行を追加することです。
# TYPE DATABASE USER ADDRESS METHOD
hostssl all harp_user 10.10.1.1/16 scram-sha-256
注釈
この場合、現在非推奨の`md5` ではなく、より新しい`scram-sha-256` 認証を使用しています。 hostssl を指定して、SSL認証を要求することも選択しました。
BDRのアクセス許可¶
BDRノードには、特定のロールがHARP対応ユーザに付与されている場合にのみ表示されるメタデータとビューがあります。この場合、 HARPユーザーには以下が必要です。
GRANT bdr_monitor TO harp_user;
bdr_monitor
BDRロールは、クラスターオペレーションに関する進行中の情報を維持するステータスモニタリングツールを対象としているため、
HARPに最適です。
BDRコンセンサス権限¶
dcs.driver 構成パラメーターがbdr に設定されている場合、
HARPはBDRをコンセンサスレイヤーとして使用します。そのため、現在
bdr_superuser
ロールでのみ使用可能なAPIメソッドへのアクセスが必要です。これは、
HARP対応のユーザーが以下を必要とすることを意味します。
GRANT bdr_superuser TO foobar;
現在、 BDRコンセンサスモデルへのアクセスには、スーパーユーザーと同等の権限が必要です。
重要
BDRスーパーユーザーはPostgresスーパーユーザーではありません。 bdr_superuser ロールには、制限された機能、テーブル、ビュー、その他のオブジェクトへのアクセスなど、 BDRで昇格した権限が付与されるだけです。