概要
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
に変更する必要がある。