1. 主要ページへ移動
  2. メニューへ移動
  3. ページ下へ移動

QES ブログ

記事公開日

Microsoft Entra IDとSnowflakeのSSO方法について

  • このエントリーをはてなブックマークに追加
こんにちは、DXソリューション営業本部の中道です。
今回は、Microsoft Entra ID (旧 Azure AD) と Snowflake の SSO (シングルサインオン) 連携の手順を紹介します。
Microsoft、Snowflake共に公式で手順を紹介していますが、SCIMトークン作成の際につまづいたため、
備忘録として実際に設定できた手順をご紹介します。

事前準備

※Microsoft Entra ID側、Snowflake側共に必要なアカウントやロールについては付与されている前提で進めます。
必要な情報は、Snowflake側から以下の3つです。
  1. アカウント/サーバーURL
  2. アカウントロケーター
  3. リージョン
1、2はアカウントの詳細から、3はアカウントの管理画面から確認します。


リージョンはAzureの東日本リージョンの場合「japan-east.azure」になります。

エンタープライズアプリの作成

ここから実際に作成手順に入ります。
Microsoft Entra 管理センター(https://entra.microsoft.com/)にアクセスします。
左側のメニューから[Entra ID]>[エンタープライズアプリ]から「新しいアプリケーション」をクリックします。

「アプリケーションを検索」に「Snowflake」と入力すると[Snowflake for Microsoft Entra ID]が表示されるので、名前を決めて「作成」をクリックします。

[シングルサインオン]から[SAML]をクリックします。

[基本的なSAML構成]では以下に設定して「保存」をクリックします。
識別子:https://<アカウントロケーター>.<リージョン>.snowflakecomputing.com
応答URL:https://<アカウントロケーター>.<リージョン>.snowflakecomputing.com/fed/login
サインオンURL:https://<アカウントロケーター>.<リージョン>.snowflakecomputing.com
ログアウトURL:https://<アカウントロケーター>.<リージョン>.snowflakecomputing.com/fed/logout

SAML証明書から[証明書(Base64)]をダウンロードし、Snowflake for Microsoft Entra ID のセットアップから
[ログインURL]と[Microsoft Entra 識別子]を控えておきます。

ユーザーの追加

[ユーザーとグループ]より、SSO対象のユーザーを追加します。

統合の作成

以下のコマンドを実行します。
統合 MICROSOFT_ENTRA_SECURITY_INT が正常に作成されましたと表示されれば成功です。
CREATE OR REPLACE SECURITY INTEGRATION microsoft_entra_security_int
TYPE = SAML2
ENABLED = TRUE
SAML2_ISSUER = '<EntraID識別子>'
SAML2_SSO_URL = '<ログインURL>'
SAML2_PROVIDER = 'CUSTOM'
SAML2_X509_CERT = '<証明書>';

SCIMトークンの作成

プロビジョニングに必要なSCIMトークンを作成します。
実行が完了すると、トークンが表示されるのでこれをすべてコピーします。
DECLARE token STRING;
BEGIN
EXECUTE IMMEDIATE 'CREATE ROLE IF NOT EXISTS AAD_PROVISIONER';
EXECUTE IMMEDIATE 'GRANT CREATE USER ON ACCOUNT TO ROLE AAD_PROVISIONER';
EXECUTE IMMEDIATE 'GRANT CREATE ROLE ON ACCOUNT TO ROLE AAD_PROVISIONER';
EXECUTE IMMEDIATE 'GRANT ROLE AAD_PROVISIONER TO ROLE ACCOUNTADMIN';
EXECUTE IMMEDIATE $$CREATE OR REPLACE SECURITY INTEGRATION AAD_PROVISIONING
TYPE = SCIM
SCIM_CLIENT = 'AZURE'
RUN_AS_ROLE = 'AAD_PROVISIONER'$$;
token := SYSTEM$GENERATE_SCIM_ACCESS_TOKEN('AAD_PROVISIONING');
RETURN token;
END;

プロビジョニングの実行

Entra IDに戻って、Snowflakeアプリの[プロビジョニング]>[新しい構成]をクリックします。
以下を入力して「テスト接続」をクリックします。
テナントのURL:https://アカウント/サーバーURL.snowflakecomputing.com/scim/v2
シークレットトークン:先ほど生成したトークン

成功したら「作成」をクリックします。
作成後[プロビジョニング]を開いて、[プロビジョニング状態]を「オン」にして保存します。

プロビジョニングが成功した後、Entra IDのユーザーでサインイン出来るようになります。
初回のプロビジョニングから反映までには40分ほどかかることもあるので、1時間ほど待ってサインインするのがオススメです。

サインイン画面の設定

このままだとSSO設定は完了しましたが、サインイン時に選べないため選べるようにSnowflake側で設定します。
ALTER SECURITY INTEGRATION microsoft_entra_security_int SET
SAML2_ENABLE_SP_INITIATED = TRUE,
SAML2_SP_INITIATED_LOGIN_PAGE_LABEL = 'SSO Login';

以上を実行することで、Snowflakeのサインイン画面にSSO用のサインイン表示が出るようになります。
最後の「SSO Login」の部分は表示させる際の名前を指定する箇所なので、何でも大丈夫です。
「を 使用してサインイン」の前の文章を指定しています。
複数アカウントがある場合は、クリック後に選択する形になるので間違えることもないと思います。

まとめ

本記事ではMicrosoft Entra IDとSnowflakeのSSO、プロビジョニングまでを実際にできる手順で試しました。
機会があれば他のSSOについても紹介しようと思います。
弊社は今回紹介したMicrosoft Entra IDをはじめ、Microsoft製品のサービス導入、運用支援を行っております。
ご興味がありましたら、是非お気軽にお問い合わせください。
※このブログで参照されている、Microsoft、Windows、その他のマイクロソフト製品およびサービスならびにSnowflakeは、 それぞれの所有者の国における商標または登録商標です。
  • このエントリーをはてなブックマークに追加

お問い合わせ

Contact

ご質問やご相談、サービスに関する詳細など、何でもお気軽にご連絡ください。下記のお問い合わせフォームよりお気軽に送信ください。

お問い合わせ

資料ダウンロード

Download

当社のサービスに関する詳細情報を掲載した資料を、下記のページよりダウンロードいただけます。より深く理解していただける内容となっております。ぜひご活用ください。

資料ダウンロード