0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiita100万記事感謝祭!記事投稿キャンペーン開催のお知らせ

Snowflakeで全ユーザーにMFAを強制する設定方法

Last updated at Posted at 2025-01-17

はじめに

Snowflakeでは多要素認証(MFA)を導入することで、アカウントのセキュリティを大幅に向上させることができます。本記事では、情報漏洩リスクを低減するために、全ユーザーにMFAを強制するための設定方法を解説します。

1. 認証ポリシーの作成

SnowflakeではCREATE AUTHENTICATION POLICYコマンドを使用して認証ポリシーを作成できます。以下の手順で認証ポリシーを作成し、適用します。

1.1 認証ポリシーを作成

以下は、全ユーザーにMFAを強制する認証ポリシーの例です。

-- 全ユーザー向けのMFA強制認証ポリシーを作成
CREATE OR REPLACE AUTHENTICATION POLICY mfa_enforcement_auth_policy
    CLIENT_TYPES = ('SNOWFLAKE_UI', 'SNOWSQL', 'DRIVERS') -- 許可されたクライアント
    AUTHENTICATION_METHODS = ('SAML', 'PASSWORD') -- 認証方法
    MFA_AUTHENTICATION_METHODS = ('PASSWORD', 'SAML') -- MFAの認証方法
    MFA_ENROLLMENT = 'REQUIRED'; -- MFA登録を必須化

1.2 認証ポリシーをアカウント全体に適用

作成したポリシーをアカウントに適用します。

-- アカウント全体に認証ポリシーを適用
ALTER ACCOUNT SET AUTHENTICATION POLICY mfa_enforcement_auth_policy;

2. パスワードポリシーを設定

パスワードの強度を確保するために、例として以下のようなポリシーを作成します。

-- 強力なパスワード要件を定義
CREATE OR REPLACE PASSWORD POLICY account_password_policy
    PASSWORD_MIN_UPPER_CASE_CHARS = 1 -- 大文字を1文字以上
    PASSWORD_MAX_RETRIES = 3 -- パスワード試行回数3回
    PASSWORD_LOCKOUT_TIME_MINS = 30 -- ロック解除まで30分
    PASSWORD_HISTORY = 24; -- 過去24回と同じパスワード禁止

パスワードポリシーをアカウント全体に適用

-- パスワードポリシーをアカウント全体に適用
ALTER ACCOUNT SET PASSWORD_POLICY account_password_policy;

3. セッションポリシーを設定

セッションのタイムアウトを設定し、不必要に長いセッションを防ぎます。

-- セッションのアイドル時間を制限
CREATE OR REPLACE SESSION POLICY account_session_policy
    SESSION_IDLE_TIMEOUT_MINS = 240 -- 自動連携のアイドルタイム(分)
    SESSION_UI_IDLE_TIMEOUT_MINS = 20; -- Snowsight用のアイドルタイム(分)

セッションポリシーをアカウント全体に適用

-- アカウント全体にセッションポリシーを適用
ALTER ACCOUNT SET SESSION_POLICY account_session_policy;

4. 必要なロールと権限の設定

認証ポリシーを管理するための専用ロールを作成し、権限を付与します。

-- ポリシー管理専用のロールを作成
CREATE ROLE policy_admin;

-- 必要な権限を付与
GRANT USAGE ON DATABASE my_database TO ROLE policy_admin;
GRANT USAGE ON SCHEMA my_database.my_schema TO ROLE policy_admin;
GRANT CREATE AUTHENTICATION POLICY ON SCHEMA my_database.my_schema TO ROLE policy_admin;
GRANT APPLY AUTHENTICATION POLICY ON ACCOUNT TO ROLE policy_admin;

5. モニタリングとレビュー

設定が適切に機能しているか確認するため、SnowflakeのTrust Centerを利用してください。また、定期的にポリシーを見直し、必要に応じて調整することをお勧めします。

まとめ

これらの設定を適用することで、全ユーザーに対してMFAを強制し、安全性を高めることができます。さらに、パスワード強度を確保し、セッションタイムアウトを設定することで、Snowflakeアカウントのセキュリティを大幅に向上させることが可能です。

セキュリティと運用のバランスを考えつつ、適切な設定を行い、情報漏洩リスクを低減しましょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?