チュートリアル: Microsoft Entra SSO と Snowflake の統合

このチュートリアルでは、Snowflake を Microsoft Entra ID と統合する方法について学習します。 Snowflake を Microsoft Entra ID と統合すると、次のことができます:

  • Snowflake にアクセスできるユーザーを Microsoft Entra ID で制御する。
  • ユーザーが自分の Microsoft Entra アカウントを使用して Snowflake に自動的にサインインできるようにする。
  • 1 つの場所でアカウントを管理します。

前提条件

Microsoft Entra と Snowflake の統合を構成するには、次の項目が必要です。

  • Microsoft Entra サブスクリプション。 Microsoft Entra の環境がない場合は、無料アカウントを取得できます。
  • Snowflake でのシングル サインオンが有効なサブスクリプション。
  • クラウド アプリケーション管理者と共に、アプリケーション管理者も、Microsoft Entra ID でアプリケーションを追加または管理することができます。 詳細については、Azure の組み込みロールに関するページを参照してください。

Note

この統合は、Microsoft Entra 米国政府クラウド環境から利用することもできます。 このアプリケーションは、Microsoft Entra 米国政府クラウドのアプリケーション ギャラリーにあり、パブリック クラウドの場合と同じように構成できます。

シナリオの説明

このチュートリアルでは、テスト環境で Microsoft Entra シングル サインオンを構成してテストします。

Azure Microsoft Entra ID への Snowflake の統合を構成するには、ギャラリーからマネージド SaaS アプリの一覧に Snowflake を追加する必要があります。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
  2. [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[新しいアプリケーション] に移動します。
  3. [ギャラリーから追加する] セクションで、検索ボックスに「Snowflake」と入力します。
  4. 結果のパネルから [Snowflake] を選択し、アプリを追加します。 お使いのテナントにアプリが追加されるのを数秒待機します。

または、Enterprise App Configuration ウィザードを使用することもできます。 このウィザードでは、SSO の構成に加えて、テナントへのアプリケーションの追加、アプリへのユーザーとグループの追加、ロールの割り当てを行うことができます。 Microsoft 365 ウィザードの詳細をご覧ください。

Snowflake 用に Microsoft Entra SSO を構成してテストする

B.Simon というテスト ユーザーを使用して、Snowflake に対する Microsoft Entra SSO を構成してテストします。 SSO が機能するためには、Microsoft Entra ユーザーと Snowflake の関連ユーザーとの間にリンク関係を確立する必要があります。

Snowflake に対して Microsoft Entra SSO を構成してテストするには、次の手順を実行します:

  1. Microsoft Entra SSO を構成する - ユーザーがこの機能を使用できるようにします。
    1. Microsoft Entra のテスト ユーザーの作成 - B.Simon を使用して Microsoft Entra シングル サインオンをテストします。
    2. Microsoft Entra テスト ユーザーを割り当てる - B.Simon が Microsoft Entra シングル サインオンを使用できるようにします。
  2. Snowflake の SSO の構成 - アプリケーション側でシングル サインオン設定を構成します。
    1. Snowflake のテスト ユーザーの作成 - Snowflake で B.Simon に対応するユーザーを作成し、Microsoft Entra の B.Simon にリンクさせます。
  3. SSO のテスト - 構成が機能するかどうかを確認します。

Microsoft Entra SSO の構成

次の手順に従って Microsoft Entra SSO を有効にします。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。

  2. [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[Snowflake]>[シングル サインオン] に移動します。

  3. [シングル サインオン方式の選択] ページで、 [SAML] を選択します。

  4. [SAML によるシングル サインオンのセットアップ] ページで、 [基本的な SAML 構成] の鉛筆アイコンをクリックして設定を編集します。

    Screenshot shows to edit Basic S A M L Configuration.

  5. [基本的な SAML 構成] セクションで、IDP 開始モードでアプリケーションを構成する場合は、次の手順を実行します。

    a. [識別子] ボックスに、https://<SNOWFLAKE-URL>.snowflakecomputing.com の形式で URL を入力します。

    b. [応答 URL] ボックスに、https://<SNOWFLAKE-URL>.snowflakecomputing.com/fed/login のパターンを使用して URL を入力します

  6. アプリケーションを SP 開始モードで構成する場合は、 [追加の URL を設定します] をクリックして次の手順を実行します。

    a. [サインオン URL] ボックスに、https://<SNOWFLAKE-URL>.snowflakecomputing.com という形式で URL を入力します。

    b. [ログアウト URL] テキスト ボックスに、https://<SNOWFLAKE-URL>.snowflakecomputing.com/fed/logout のパターンを使用して URL を入力します。

    Note

    これらは実際の値ではありません。 これらの値は、実際の識別子、応答 URL、サインオン URL、およびログアウト URL で更新してください。 これらの値を取得するには、Snowflake クライアント サポート チームに問い合わせてください。 [基本的な SAML 構成] セクションに示されているパターンを参照することもできます。

  7. [SAML でシングル サインオンをセットアップします] ページの [SAML 署名証明書] セクションで、 [ダウンロード] をクリックして要件のとおりに指定したオプションからの証明書 (Base64) をダウンロードして、お使いのコンピューターに保存します。

    Screenshot shows the Certificate download link.

  8. [Snowflake の設定] セクションで、要件に従って適切な URL をコピーします。

    Screenshot shows to copy configuration appropriate U R L.

Microsoft Entra テスト ユーザーを作成する

このセクションでは、B.Simon というテスト ユーザーを作成します。

  1. Microsoft Entra 管理センターユーザー管理者以上でサインインしてください。
  2. [ID]>[ユーザー]>[すべてのユーザー] の順に移動します。
  3. 画面の上部で [新しいユーザー]>[新しいユーザーの作成] を選択します。
  4. [ユーザー] プロパティで、以下の手順を実行します。
    1. "表示名" フィールドに「B.Simon」と入力します。
    2. [ユーザー プリンシパル名] フィールドに「username@companydomain.extension」と入力します。 たとえば、「 B.Simon@contoso.com 」のように入力します。
    3. [パスワードを表示] チェック ボックスをオンにし、 [パスワード] ボックスに表示された値を書き留めます。
    4. [Review + create](レビュー + 作成) を選択します。
  5. [作成] を選択します。

Microsoft Entra テスト ユーザーを割り当てる

このセクションでは、Snowflake へのアクセスを許可することで B.Simon がシングル サインオンを使用できるようにします。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
  2. [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[Snowflake] に移動します。
  3. アプリの概要ページで、[ユーザーとグループ] を選択します。
  4. [ユーザーまたはグループの追加] を選択し、 [割り当ての追加] ダイアログで [ユーザーとグループ] を選択します。
    1. [ユーザーとグループ] ダイアログの [ユーザー] の一覧から [B.Simon] を選択し、画面の下部にある [選択] ボタンをクリックします。
    2. ユーザーにロールが割り当てられることが想定される場合は、 [ロールの選択] ドロップダウンからそれを選択できます。 このアプリに対してロールが設定されていない場合は、[既定のアクセス] ロールが選択されていることを確認します。
    3. [割り当ての追加] ダイアログで、 [割り当て] をクリックします。

Snowflake の SSO の構成

  1. 別の Web ブラウザー ウィンドウで、セキュリティ管理者として Snowflake にログインします。

  2. ページの右上で [プロファイル] をクリックして、 [Switch Role](ロールの切り替え)[ACCOUNTADMIN] を選択します。

    注意

    これは、右上の [ユーザー名] で選択したコンテキストとは別のものです。

    The Snowflake admin

  3. ダウンロードした Base 64 証明書をメモ帳で開きます。 "-----BEGIN CERTIFICATE-----" と "-----END CERTIFICATE-----" の間の値をコピーし、この内容を SAML2_X509_CERT に貼り付けます。

  4. [SAML2_ISSUER] に、前にコピーした識別子の値を貼り付けます。

  5. [SAML2_SSO_URL] に、前にコピーしたログイン URL の値を貼り付けます。

  6. [SAML2_PROVIDER] に、CUSTOM のような値を指定します。

  7. [All Queries](すべてのクエリ) を選択し、 [実行] をクリックします。

    Snowflake sql

    CREATE [ OR REPLACE ] SECURITY INTEGRATION [ IF NOT EXISTS ]
    TYPE = SAML2
    ENABLED = TRUE | FALSE
    SAML2_ISSUER = '<EntityID/Issuer value which you have copied>'
    SAML2_SSO_URL = '<Login URL value which you have copied>'
    SAML2_PROVIDER = 'CUSTOM'
    SAML2_X509_CERT = '<Paste the content of downloaded certificate from Azure portal>'
    [ SAML2_SP_INITIATED_LOGIN_PAGE_LABEL = '<string_literal>' ]
    [ SAML2_ENABLE_SP_INITIATED = TRUE | FALSE ]
    [ SAML2_SNOWFLAKE_X509_CERT = '<string_literal>' ]
    [ SAML2_SIGN_REQUEST = TRUE | FALSE ]
    [ SAML2_REQUESTED_NAMEID_FORMAT = '<string_literal>' ]
    [ SAML2_POST_LOGOUT_REDIRECT_URL = '<string_literal>' ]
    [ SAML2_FORCE_AUTHN = TRUE | FALSE ]
    [ SAML2_SNOWFLAKE_ISSUER_URL = '<string_literal>' ]
    [ SAML2_SNOWFLAKE_ACS_URL = '<string_literal>' ]
    

ログイン URL として組織名を持つ新しい Snowflake URL を使用している場合は、次のパラメーターを更新する必要があります。

統合を変更して Snowflake 発行者 URL と SAML2 Snowflake ACS URL を追加します。詳細については、こちらの記事の手順 6 に従ってください。

  1. [ SAML2_SNOWFLAKE_ISSUER_URL = '<string_literal>' ]

    alter security integration <your security integration name goes here> set SAML2_SNOWFLAKE_ISSUER_URL = https://<organization_name>-<account name>.snowflakecomputing.com;

  2. [ SAML2_SNOWFLAKE_ACS_URL = '<string_literal>' ]

    alter security integration <your security integration name goes here> set SAML2_SNOWFLAKE_ACS_URL = https://<organization_name>-<account name>.snowflakecomputing.com/fed/login;

注意

SAML2 セキュリティ統合を作成する方法の詳細については、このガイドに従ってください。

注意

saml_identity_provider アカウント パラメーターを使用する既存の SSO セットアップがある場合は、このガイドに従って、これを SAML2 セキュリティ統合に移行します。

Snowflake のテスト ユーザーの作成

Microsoft Entra ユーザーが Snowflake にログインできるようにするには、そのユーザーを Snowflake にプロビジョニングする必要があります。 Snowflake では、プロビジョニングは手動のタスクです。

ユーザー アカウントをプロビジョニングするには、次の手順に従います。

  1. セキュリティ管理者として Snowflake にログインします。

  2. ページの右上で [プロファイル] をクリックして、 [Switch Role](ロールの切り替え)[ACCOUNTADMIN] を選択します。

    The Snowflake admin

  3. 次に示すように、"Login name" がワークシートの Microsoft Entra ユーザー名に設定されていることを確認して、次の SQL クエリを実行してユーザーを作成します。

    The Snowflake adminsql

     use role accountadmin;
     CREATE USER britta_simon PASSWORD = '' LOGIN_NAME = 'BrittaSimon@contoso.com' DISPLAY_NAME = 'Britta Simon';
    

Note

ユーザーとグループが SCIM 統合を使用してプロビジョニングされている場合、手動プロビジョニングは必要ありません。 Snowflake の自動プロビジョニングを有効にする方法をご覧ください。

SSO のテスト

このセクションでは、次のオプションを使用して Microsoft Entra のシングル サインオン構成をテストします。

SP Initiated:

  • [このアプリケーションをテストする] をクリックします。これにより、ログイン フローを開始できる Snowflake のサインオン URL にリダイレクトされます。

  • Snowflake のサインオン URL に直接移動し、そこからログイン フローを開始します。

IDP Initiated:

  • [このアプリケーションをテストする] をクリックすると、SSO を設定した Snowflake に自動的にサインインされるはずです。

また、Microsoft マイ アプリを使用して、任意のモードでアプリケーションをテストすることもできます。 マイ アプリで [Snowflake] タイルをクリックすると、SP モードで構成されている場合は、ログイン フローを開始するためのアプリケーション サインオン ページにリダイレクトされます。IDP モードで構成されている場合は、SSO を設定した Snowflake に自動的にサインインされます。 詳細については、「Microsoft Entra のマイ アプリ」を参照してください。

次のステップ

Snowflake を構成したら、組織の機密データを流出と侵入からリアルタイムで保護するセッション制御を適用することができます。 セッション制御は、条件付きアクセスを拡張したものです。 Microsoft Defender for Cloud Apps でセッション制御を強制する方法をご覧ください。