Skip to main content

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

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

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

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

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

このヘルプページでは以下のトピックを見つけることができます:

スノーフレークにサインイン

Snowflakeにサインインする方法は2つあります:

  • ユーザー名とパスワードでサインインしてください: IlluminateのサービスアカウントはM2M(マシン間)接続に便利です。IPアドレス制限はサービスアカウントにのみ適用されます。SVC_BLACKBOARD_DATA

    ユーザー名とパスワード欄をハイライトしてSnowflake画面にサインインしてください
  • シングルサインオンでサインインしてください:Snowflakeはログイン時にIlluminateの認証情報を取得します。IP制限を設定するには、シングルサインオンでサインインし、BBDATA_USER_ROLEロールを持つ必要があります。シングルサインオンでサインインしたユーザーにはIPアドレス制限は適用されません。

    Snowflakeサインイン画面で「シングルサインオンでのサインイン」がハイライトされています

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

手順. IPアドレス制限を設定する
  1. 開発者ロールのユーザとしてIlluminateにサインインします。

  2. サイドパネルを開き、Developerオプションを選択してください。

  3. [Snowflakeの起動]を選択します。

    開発者向けホームページで、左下にLaunch Snowflakeと書かれています
  4. [シングルサインオンを使用してサインインする]を選択します。

    • IP制限を設定するには、シングルサインオン経由でサインインする必要があることに注意してください。サービスアカウントでSnowflakeにアクセスする場合、IP制限は適用されません。

    • SnowflakeユーザにははBBDATA_USER_ROLEが必要です。

    Snowflakeサインイン画面で「シングルサインオンでのサインイン」がハイライトされています
  5. Snowflakeのサイドパネルを開き、ワークシートを選択します。

  6. [新しいワークシートの作成]を選択します。

  7. ワークシートはSQLとPythonから選択できます。この例では、SQLワークシートを選択しました。

    SnowflakeのSQLワークシート例
  8. このクエリをベースとして使用できます。この例のクエリは、特定のIPアドレス(1.1.1.1)を許可し、サービスアカウントSVC_BLACKBOARD_DATAに対して192.168.1.0から192.168.1.255までのIPアドレスの範囲を制限しています。

    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');
    Snowflakeのワークシートタブ

コマンドの説明

  • ユーザーロール: IP制限ネットワークポリシーを変更する権限を持つ役割。

    • BBDATA_USER_ROLEはIPアドレス制限を変更できる唯一の役割です。

  • ALTER NETWORK POLICY: 既存のネットワークポリシーを更新するコマンドです。このポリシーは以前、IlluminateチームによってIPアドレス制限の設定を容易にするために作成されました。

    • 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アドレスを'記号の間に書き、それぞれの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アドレスの設定を確認してください
  1. Snowflakeのサイドパネルを開き、ワークシートを選択します。

  2. [新しいワークシートの作成]を選択します。ワークシートはSQLとPythonから選択できます。この例では、SQLワークシートを選択しました。

  3. 許可されたIPアドレスとブロックされたIPアドレスのリストを表示するには、以下のクエリを実行します:

    DESCRIBE NETWORK POLICY NP_SVC_BLACKBOARD_DATA;
    許可およびブロックされたIPアドレスの一覧
  4. 利用可能なネットワークポリシーや、許可されたIPリストおよびブロックされたIPリストのエントリ数を調べるために。

    SHOW NETWORK POLICIES;
    SQLワークシートのクエリ例

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

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

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

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

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

手順. Snowflakeサービスアカウントのパスワードを変更する
  1. 開発者ロールのユーザとしてIlluminateにサインインします。

  2. サイドパネルを開き、Developerを選択します。

  3. [設定]を選択します。

  4. Snowflakeアカウント設定タブを選択してください。

  5. Service Accountリストの下で、サービスアカウントSVC_BLACKBOARD_DATAを探してください。それがIlluminateで利用可能な唯一のSnowflakeサービスアカウントです。

  6. パスワード変更を選択します。

    右下に「パスワード変更」がハイライトされた設定画面を照らします
  7. パスワードをリセットしてくださいSnowflakeメニューで。