Snowflakeに対してAzure ADアカウントによるシングルサインオンの設定


概要

Snowflakeに対して、Azure ADアカウントでログインするまでの設定手順を説明します。

手順

1.Azureポータルでのエンタープライズアプリケーション作成

1-1.Azureポータルにて、Azure Active Directoryにある”エンタープライズアプリケーション”を選択し、”新しいアプリケーション”を選択します。

1-2."ギャラリーから追加する"でSnowflakeを探し、適切な名前を設定した上で"追加"を選択します。

1-3."シングルサインオン"→"SAML"を選択します。

1-4."基本的な SAML 構成"にて、下記の設定を行い、"保存"を選択します。

番号 項目 設定値
1 識別子 {snowflakeのURL}
2 応答URL {snowflakeのURL}/fed/login

1-5.”3 SAML署名証明書”→”証明書 (Base64)”をダウンロードし、ファイルを開き内部の値を控えます。

1-6.”4 {アプリケーション名}のセットアップ”→”ログインURL”の値を控えます。

1-7.”ユーザーとグループ”→”ユーザーの追加”を選択し、ログイン許可したいユーザーを登録します。

2.SnowflakeにてAzure ADアプリケーションの登録とユーザー作成

2-1.”accountadmin”にて、下記のSQLを変更したものを実行し、Azure ADアプリケーションを登録します。

use role accountadmin;
alter account set saml_identity_provider = '{
"certificate": "{1-5の証明書の値}",
"ssoUrl":"{1-6のログインURLの値}",
"type":"custom",
"label":"AzureAD"
}';
alter account set sso_login_page = TRUE;

2-2. 下記のSQLを変更したものを実行し、ユーザーを登録します。

--Azure ADユーザーアカウントにて、Snowflakeにアカウント作成
use role accountadmin;
CREATE USER {Snowflakeのユーザー名} PASSWORD = '' LOGIN_NAME = '{AzureADでのメールアドレス}' DISPLAY_NAME = 'Snowflakeでの表示名';

--sysadminロールを付与
grant role sysadmin to user {Snowflakeのユーザー名};

--デフォルトのロールを、sysadminに変更
alter user {Snowflakeのユーザー名} set default_role=sysadmin;

2-3. 再度Snowflakeにブラウザで接続し、"Log in using AzureAD"を選択し、ログインできることを確認します。

よくあるエラー

ゲストユーザーを登録する場合

ゲストユーザーを登録する場合には、エンタープライズアプリケーションにて、一意のユーザーuser.mailに変更する必要がある。

参考リンク