Snowflake に対する SSO 設定 (Auth0)
[履歴] [最終更新] (2021/10/22 01:06:37)
最近の投稿
注目の記事

概要

こちらのページで基本的な使い方を把握した Snowflake に対して、外部の ID 基盤 (IdP; ID Provider) による認証でログインするための設定例を記載します。IdP としては Auth0 を用います。

参考資料:

Auth0 の設定

Create Application をクリックします。

Uploaded Image

Native を選択します。

Uploaded Image

Settings をクリックします。

Uploaded Image

URL を設定して Save Changes をクリックします。例:

https://xxx12345.us-east-1.snowflakecomputing.com
https://xxx12345.us-east-1.snowflakecomputing.com,https://xxx12345.us-east-1.snowflakecomputing.com/fed/login
https://xxx12345.us-east-1.snowflakecomputing.com/fed/logout

Uploaded Image

SAML2 をクリックします。

Uploaded Image

以下の値を設定して Enable → Save をクリックします。

https://xxx12345.us-east-1.snowflakecomputing.com

{
  "audience": "https://xxx12345.us-east-1.snowflakecomputing.com",
  "recipient": "https://xxx12345.us-east-1.snowflakecomputing.com/fed/login",
  "signatureAlgorithm": "rsa-sha256",
  "digestAlgorithm": "sha256",
  "destination": "https://xxx12345.us-east-1.snowflakecomputing.com/fed/login",
  "nameIdentifierProbes": [
    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
  ],
  "logout": {
    "callback": "https://xxx12345.us-east-1.snowflakecomputing.com/fed/logout"
  },
  "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
}

Uploaded Image

検証用ユーザの作成

Create User をクリックして、メールアドレスを指定します。

Uploaded Image

メールアドレスの認証を行います。

Uploaded Image

Snowflake 側の設定

Auth0 Application の Settings をクリックします。

Uploaded Image

Advanced Settings の Certificates をクリックして、Signing Certificate をコピーします。

Uploaded Image

Endpoints をクリックします。

Uploaded Image

SAML Protocol URL をコピーします。

Uploaded Image

Snowflake で以下のクエリを実行します。certificate には Certificates のヘッダとフッタ、および改行を除いて一行にした値を指定します。

ALTER ACCOUNT SET saml_identity_provider = '{
  "certificate": "XXXXX",
  "ssoUrl": "https://myauth.jp.auth0.com/samlp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "type": "Custom",
  "label": "Auth0"
}';

更に、以下のパラメータも設定します。

ALTER ACCOUNT SET sso_login_page = true;

検証用のユーザを作成します。login_name に Auth0 のユーザのメールアドレスを指定します。password に NULL を設定することで、パスワードログインを無効化します。

CREATE USER ssotestuser
  password = NULL
  login_name = 'myuser@gmail.com'
  default_role = SYSADMIN;

動作検証

ログイン画面で Sign in using Auth0 が選択できるようになっています。

Uploaded Image

Auth0 で作成したユーザでログインします。

Uploaded Image

その他の話題

関連ページ