❄️
【Snowflake】Snowsight UIへのアクセスを禁止する方法と残る抜け道の話
本記事で参考になるケース
- Snowflakeユーザアカウントの接続方式を限定したい
記事の概要
- Authentication policiesを利用して、ユーザの接続方式を限定する
パスワード再設定用URLを用いると、上記制限を潜りにけられてしまうため注意が必要(202404現在)
背景
- ユーザに対して、Snowsightへのアクセスを許可したくなかった
方法
- Authentication policiesを作成
CREATE AUTHENTICATION POLICY DATABASE_A.SCHEMA_A.AUTHENTICATION_POLICY
CLIENT_TYPES = ('SNOWSQL', 'DRIVERS')
COMMENT = 'Not Allowd Web UI Access';
- ユーザへの設定
ALTER USER user_a SET AUTHENTICATION POLICY DATABASE_A.SCHEMA_A.AUTHENTICATION_POLICY;
制限を突破される(202404現在) 現在無事防がれる
注意点 : ユーザのパスワード再設定用のURLを発行した場合....
ALTER USER user_a RESET PASSWORD
user_a
にはAUTHENTICATION_POLICYによりSnowsightへのアクセスが制限されているが、上記パスワード再設定用URLからのアクセスの場合Snowsightへのアクセスを許してしまう.(パスワード再設定後通常のSnowsightへリダイレクトされてしまいます)
この点は注意が必要です.
発展
- 認証方式を限定する
パスワードのみに!
CREATE AUTHENTICATION POLICY DATABASE_A.SCHEMA_A.AUTHENTICATION_POLICY
CLIENT_TYPES = ('SNOWSQL', 'DRIVERS')
AUTHENTICATION_METHODS = ('PASSWORD')
COMMENT = 'Not Allowd Web UI Access';
SAMLのみに!
CREATE AUTHENTICATION POLICY DATABASE_A.SCHEMA_A.AUTHENTICATION_POLICY
CLIENT_TYPES = ('SNOWSQL', 'DRIVERS')
AUTHENTICATION_METHODS = ('SAML')
COMMENT = 'Not Allowd Web UI Access';
参考
Authentication policyの組み合わせで、さらに複雑なアクセス制限を実現できそうですね!
まだまだできることはありますので下記をご参考にお試しください.
Snowlfake データクラウドのユーザ会 SnowVillage のメンバーで運営しています。 Publication参加方法はこちらをご参照ください。 zenn.dev/dataheroes/articles/db5da0959b4bdd
Discussion
こちらですが、20240924現在、突破されないようになっているようです。
パスワード再設定後、一旦ログイン画面にリダイレクトされるようになって、その後ログインしようとしたらauthentication_policyでパスワード認証がrejectされました。
コメントありがとうございます!
記事修正いたしました! 😍