■本記事の目的
Snowflakeのトライアルおよびご契約後の初期設定を行うため
管理者ロールの段階を理解するため
■前回の記事
■今回の作業
SECURITYADMINロールを使用して、
ネットワークポリシーでIPリストを定義し、
SnowflakeアカウントへのIP制限を行います。
■ネットワークポリシー:アカウントレベル
まずはアクセス元のセキュリティを設定します。
ネットワークポリシーには、アカウントもしくはユーザーレベルでの設定が可能です。
後者はクラウドツール専用ユーザーなどでも利用するケースがあります。
以下のコード例になります。
ネットワークポリシーの定義名は任意です。
許可IPリストは、カンマ区切り、''囲みで記述します。
CIDR表記でアドレス範囲指定も可能です。※CIDRなしは[/32]と見なされます。
拒否IPアドレスは、記述しなくても問題ありません。
許可リストのアドレス範囲から一部だけ拒否したい場合に利用します。
use role SECURITYADMIN ;
create or replace network policy XXX_ACCESS_RESTRICTION_POLICY
allowed_ip_list =
(
'XXX.XXX.XXX.XXX/YY',
'XXX.XXX.XXX.XXX/YY'
)
--ブロックアドレス指定は任意
blocked_ip_list =
(
'XXX.XXX.XXX.XXX/YY',
'XXX.XXX.XXX.XXX/YY',
)
--ブロックアドレス指定は任意
comment = 'トライアル-アカウントレベル' --管理用に記載しておくと便利
;
定義を作成しただけでは、IP制限は機能しませんので、アクティブ化します。
use role SECURITYADMIN ;
alter account set network_policy = XXX_ACCESS_RESTRICTION_POLICY;
これで、IP制限がかかりました。
それでは、回線を切り替えて実際に再度ログイン検証すると、
以下のIP制限がかかったことが確認できます。
ネットワークポリシーの一覧確認は以下のコマンド実行することで確認できます。
use role SECURITYADMIN ;
show parameters like 'network_policy' in account;
ネットワークポリシーの詳細は以下で確認できます。
use role SECURITYADMIN ;
describe network POLICY XXX_ACCESS_RESTRICTION_POLICY ;
■あとがき
SECURITYADMINで、ユーザー、ロール作成まで記事を書きたかったのですが、
上記の作業は、USERADMINを使用する方が良さそうなので、
今回はここまでの作業とします。