OceanBaseデータベースはアローリストポリシーを提供し、ネットワークセキュリティアクセス制御を実現します。テナントのアローリスト機能を使用して、どのクライアントが現在のテナントにアクセスできるかを設定できます。
テナントのアローリストは、システム変数ob_tcp_invited_nodesによって制御され、テナント全体のアローリスト制限パラメータです。デフォルト値は127.0.0.1,::1であり、このテナントへの接続を許可するのはローカルマシンのIPアドレスのみを意味します。 この変数はリスト形式の値をサポートしており、リスト内の値は英語のカンマ(,)で区切られています。例えば:A,B,C,D。ユーザーがログインすると、OBServerはユーザーのIPアドレスを順番にA、B、C、Dと照合検証します。すべて一致しない場合は、アクセスを拒否します。いずれか一つでも一致すれば、アローリストを通過したことになります。
リスト値は以下の値をサポートします:
- IPアドレス。例:
192.168.1.1。照合時には等価照合を採用し、ユーザーClient IPがそのIP値と等しい場合にのみ一致と見なされます。 - パーセント記号(%)またはアンダースコア(_)を含むIPアドレス。例:
192.168.1.%または192.168.1._。照合時にはあいまい一致を採用し、LIKE構文に似たものです。 - IP/NETMASKアドレス。例:
192.168.1.0/24または192.168.1.0/255.255.255.0。照合時にはマスク照合を採用し、Client_IP & NetMask == IPを満たす場合にのみ一致と見なされ、MySQLのマスク照合に似ています。
説明
テナントのアローリストを変更しても、既に作成されたsessionには影響しません。
テナントのアローリストの確認と設定
rootユーザーでクラスタのsysテナントにログインします。
obclient -uroot@sys -P2881 -h10.xxx.xxx.1 -p*******以下のステートメントを実行して、テナントのアローリストを確認します。
obclient> SHOW VARIABLES LIKE 'ob_tcp_invited_nodes'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | ob_tcp_invited_nodes | % | +----------------------+-------+ここで、値が
%の場合は、任意のクライアントIPアドレスからこのテナントへの接続を許可することを意味します。アローリスト設定を変更する必要がある場合は、以下のステートメントを実行して、テナントのアローリストを再設定できます。
例:
obclient> SET GLOBAL ob_tcp_invited_nodes='%'; obclient> SET GLOBAL ob_tcp_invited_nodes='10.10.10.%';