OpenText Analytics Database 旧Vertica

技術情報サイト

Analytics Database

特定のIPアドレスからのみ接続可能なユーザを作成する

公開日:
更新日:
セキュリティ
#セキュリティ
#IPアドレス

VerticaのユーザはデフォルトではすべてのIPアドレスからの接続を受け付けます。
セキュリティ対策等で、特定のIPアドレスからの接続しか受け付けないようにしたい場合は、任意の認証方式(認証ルール)を作成し、それをユーザに割り当てます。

認証方式の作成、割り当て方法

1)事前にユーザを作成しておきます。
すでにユーザを作成してある場合は、手順1)はスキップしてください。
例)kka1ユーザを作成する場合

dbadmin=> CREATE USER kka1;
CREATE USER

※本例ではログインパスワードや、権限の付与等は割愛しています。

2)以下のコマンドを実行し、認証方式(認証ルール)を作成します。

CREATE AUTHENTICATION 認証方式名 METHOD 'hash' HOST '接続を許可するIPアドレス';

例)192.168.111.111からの接続を許可するtestという名前の認証方式を作成する場合

dbadmin=> CREATE AUTHENTICATION test METHOD 'hash' HOST '192.168.111.111';
CREATE AUTHENTICATION

例)192.168.111.0~192.168.111.255からの接続を許可するtest2という名前の認証方式を作成する場合

dbadmin=> CREATE AUTHENTICATION test2 METHOD 'hash' HOST '192.168.111.0/24';
CREATE AUTHENTICATION

3)以下のコマンドを実行し、手順2)で作成した認証方式を対象のユーザに割り当てます。

GRANT AUTHENTICATION 認証方式名 TO ユーザ名;

例)test認証方式をkka1ユーザに割り当てる場合

dbadmin=> GRANT AUTHENTICATION test TO kka1;
GRANT AUTHENTICATION

設定後、許可されていないIPアドレスからアクセスを試みた場合、以下のようにエラーが返ります。

$ vsql -U kka1 -h testsrv
vsql: FATAL 2248:  Authentication failed for username "kka1"

なお、認証方式を1つでも設定した場合、設定した認証方式の接続のみがホワイトリスト扱いとなり、それ以外からの接続は拒否されます。例えば、上記test認証方式を設定した場合、192.168.111.111からkka1ユーザでのアクセスは許可されますが、kka2ユーザやdbadminユーザなどそれ以外のユーザでのアクセスは拒否されるようになります。
また、192.168.111.100等の別のIPアドレスからのkka1ユーザを含む何れのユーザでのアクセスも拒否されるようになります。
つまりクラスタ全体で許可する接続は「192.168.111.111からのkka1ユーザでの接続」のみとなります。
※Verticaがインストールされているサーバ(localhost)からはdbadminユーザで接続できます。
そのため、必要に応じて複数の認証方式を作成し、他ユーザのアクセスについても許可してください。

認証方式設定前



認証方式設定後

検証バージョンについて

この記事の内容はVertica 9.1で確認しています。