SnowflakeサービスアカウントのIPアドレス制限

データセキュリティは重要です。所属教育機関は、特定のIPアドレスにSnowflakeサービスアカウントへのアクセスを許可または制限することができます。これにより、機密データへの不正アクセスのリスクが軽減されます。

特定のIPアドレスまたはIPアドレスの範囲に対して許可したり制限したりできます。

IPアドレスが制限されているユーザは、Snowflakeサービスアカウントにアクセスしたり、Snowflakeサービスアカウントのパスワードを変更したりすることはできません。

このヘルプページでは、以下のトピックをご覧いただけます。

Snowflakeサービスアカウントとは?

Snowflakeにサインインするには2つの方法があります。

  • ユーザ名とパスワードでサインインする : これはIlluminateサービスアカウントと呼ばれ、M2M (マシン間) 接続に便利です。IPアドレス制限は、サービスアカウントにのみ適用されます。現在、Illuminateで利用できるサービスアカウントは、SVC_BLACKBOARD_DATAだけです。
Sign in to Snowflake screen with user name and password fields highlighted
  • シングルサインオンでサインインする : Snowflakeは、Illuminateの認証情報でログインできます。IP制限を設定するには、シングルサインオン経由でサインインし、BBDATA_USER_ROLEロールを持っている必要があります。IPアドレスの制限は、シングルサインオンでサインインするユーザには適用されません。
Snowflake sign in screen with Sign in using SSO highlighted

IPアドレス制限を設定する

IPアドレス制限を設定するには、次の手順に従います。

  • 開発者ロールのユーザとしてIlluminateにサインインします。
  • サイドパネルを開き、[開発者]オプションを選択します。
  • [Snowflakeの起動]を選択します。
Developer homepage, with Launch Snowflake in the bottom left
  • [シングルサインオンを使用してサインインする]を選択します。
    • IP制限を設定するには、シングルサインオン経由でサインインする必要があることに注意してください。サービスアカウントでSnowflakeにアクセスすると、IP制限は適用されません。
    • SnowflakeユーザにははBBDATA_USER_ROLEが必要です。
Snowflake sign in screen with Sign in using SSO highlighted
  • Snowflakeでサイドパネルを開き、[ワークシート]を選択します。
  • [新しいワークシートの作成]を選択します。
  • ワークシートはSQLとPythonから選択できます。この例では、SQLワークシートを選択しました。
Example SQL worksheet in Snowflake
  • このクエリをベースとして使用できます。このクエリの例では、SVC_BLACKBOARD_DATAというサービスアカウントに対して、特定のIPアドレス (1.1.1.1) を許可し、IPアドレスの範囲 (192.168.1.0から192.168.1.255) を制限しています。

USE ROLE BBDATA_USER_ROLE;

ALTER NETWORK POLICY NP_SVC_BLACKBOARD_DATA SET ALLOWED_IP_LIST = ('1.1.1.1');

ALTER NETWORK POLICY NP_SVC_BLACKBOARD_DATA SET BLOCKED_IP_LIST = ('192.168.1.0/24');

Worksheets tab in Snowflake

コマンドの説明

  • USER ROLE。IP制限ネットワークポリシーを変更する権限を持つロール。
    • BBDATA_USER_ROLEは、IPアドレス制限を変更できる唯一のロールです。
  • ALTER NETWORK POLICY。既存のネットワーク ポリシーを更新するコマンド。このポリシーは、IPアドレス制限の設定を容易にするために、Illuminateチームが以前に作成したものです。
    • NP_ SVC_BLACKBOARD_DATA。IPアドレス制限が適用されるサービスアカウントのネットワークポリシーを識別します。ネットワークポリシーは、常に"NP"プレフィックスで始まり、その後にサービスアカウントのユーザ名が続きます。使用可能なサービスアカウントは、SVC_BLACKBOARD_DATAのみです。
  • SET_ALLOWED_ID_LIST。サービスアカウントを使用してSnowflakeテナントに許可されるIPアドレスのリストを指定するコマンド。
  • SET_BLOCKED_ID_LIST。サービスアカウントを使用してSnowflakeテナントに制限されるIPアドレスのリストを指定するコマンド。

次の表記に従って、必要なIPアドレスを含めます。

  •  単一のIPアドレス : IPアドレスを'記号で囲み、それを括弧で囲んで記述します。('1.1.1.1')
  • 複数のIPアドレス : すべてのIPアドレスを1つの括弧で囲んで記述します。各IPアドレスは'記号で囲み、それぞれをカンマで区切ります。( '1.1.1.1','2.2.2.2','3.3.3.3')
  • IPアドレスの範囲 : IPアドレスの末尾に/記号を使用して範囲を表します。この例では、192.168.1.0から192.168.1.255の範囲内のすべてのIPアドレスを許可します。('192.168.1.0/24')

IPアドレス制限の設定を確認する

IPアドレス制限の設定を確認するには、次のコマンドを使用できます。

  • 前述の手順と同様に、Snowflakeでサイドパネルを開き、[ワークシート]を選択します。
  • [新しいワークシートの作成]を選択します。ワークシートはSQLとPythonから選択できます。この例では、SQLワークシートを選択しました。
  • 次のクエリを実行します。

DESCRIBE NETWORK POLICY NP_SVC_BLACKBOARD_DATA; 

  • [結果]セクションに、許可されたIPアドレスとブロックされたIPアドレスのリストが表示されます。
List of allowed and blocked IP addresses
  • 次のクエリを実行することもできます。

SHOW NETWORK POLICIES; 

  • [結果 ]セクションに、使用可能なネットワーク ポリシーと、許可されたIPリストとブロックされたIPリストのエントリ数が表示されます。
SQL worksheet example of a query

IPアドレス制限がある場合にSnowflakeサービスアカウントのパスワードを変更する

サービスアカウントのパスワードを変更できるのは、IPアドレスが制限されていないマシン、または許可されたIPアドレスリストに含まれているマシンのみです。

これは、サービスアカウントのパスワードのリセットが、IPアドレスの制限が適用されているSnowflakeで行われるためです。

  • IlluminateユーザがSnowflakeサービスアカウントのパスワードを変更できるようにするには、IPアドレスリストを一時的に変更して、許可されたIPアドレスリストにユーザのマシンのIPアドレスを含めます。
  • Illuminateユーザがサービスアカウントのパスワードを変更した後、そのユーザのマシンのIPアドレスを許可されたリストから再度削除することができます。

Snowflakeサービスアカウントのパスワードは、次の手順で変更できます。

  • 開発者ロールのユーザとしてIlluminateにサインインします。
  • サイドパネルを開き、[開発者]を選択します。
  • [設定]を選択します。
  • [Snowflakeアカウント設定]タブを選択します。
  • [サービスアカウント]リストで、SVC_BLACKBOARD_DATAサービスアカウントを見つけます。これは、Illuminateで使用できる唯一のSnowflakeサービスアカウントです。
  • [パスワードの変更]を選択します。
  • [Snowflake]メニューで[パスワードのリセット]を選択します。
Illuminate Settings screen with Change Password highlighted in the bottom right