(Google+)15Snowflakeでは、標準のユーザー名/パスワードでの認証に加えて、SAML認証を使用したシングルサインオン(SSO)を設定することが可能です。IdPとして利用可能です。IdPにAuth0を利用してSnowflakeでSSOを設定する方法をご紹介します。前提条件SnowflakeおよびAuth0のアカウントは登録済みの前提で話を進めます。いずれも無料トライアルが可能です。Developers.IOAuth0側の設定Auth0側では以下を設定します。アプリケーション作成SAMLアドオンの設定Auth0の証明書とログインURL(SAMLリクエストの送信先URL)の確認ユーザー作成アプリケーション作成はじめにAuth0で「アプリケーション」を作成します。APPLICATION」ボタンを押下します。アプリケーションに任意の名前をつけます。App」を選択し「CREATE」をボタンを押下します。IdPとして設定する手順が詳細に記載されています。Snowflakeのコミュ二ティサイトのナレッジベースに、SnowflakeのSSOに必要なSAMLアサーションの属性情報が記載されています。IdPとして設定していきます。APP」を有効化します。App」の設定画面が表示されます。URL」には以下を設定します。Westの場合:https://<account_name>.snowflakecomputing.com/fed/loginその他のリージョン:https://<account_name>.<region_id>.snowflakecomputing.com/fed/login「Settings」は以下のように設定します。audienceに以下のURLを指定します。Westの場合:https://<account_name>.snowflakecomputing.comその他のリージョン:https://<account_name>.<region_id>.snowflakecomputing.comrecipientに以下のURLを指定します。Westの場合:https://<account_name>.snowflakecomputing.com/fed/loginその他のリージョン:https://<account_name>.<region_id>.snowflakecomputing.com/fed/loginアサーションへの署名に使用する署名アルゴリズムにrsa-sha256を、SAMLメッセージに署名するために使用するダイジェスト・アルゴリズムにsha256を指定します。Nameの値」とでユーザーのマッチングを行います。今回はメールアドレスでユーザーのマッチングを行う設定とします。Nameにメールアドレスを登録し、Auth0側ではSAMLアサーションのNameIDにAuth0ユーザーのメールアドレスをセットします。このための設定をmappingsで行います(※デフォルトではNameIDにはuser_idがセットされるので、これをemailに変更します)。"sha256"}「SAVE」ボタンを押下して設定を保存します。「DEBUG」ボタンを押下すると、生成されるSAMLアサーションの内容を確認できます。SignedInfoで、署名アルゴリズムがrsa-sha256、ダイジェスト・アルゴリズムがsha256になっていることを確認します。</Reference></SignedInfo>saml:Subjectで、NameIDにユーザーのメールアドレスがセットされていることを確認します。Recipientがhttps://<account_name>.snowflakecomputing.com/fed/login(またはhttps://<account_name>.<region_id>.snowflakecomputing.com/fed/login)になっていることを確認します。</saml:SubjectConfirmation></saml:Subject>saml:Conditionsで、saml:Audienceがhttps://<account_name>.snowflakecomputing.com(またはhttps://<account_name>.<region_id>.snowflakecomputing.com)になっていることを確認します。App」の設定画面で、以下の2つの情報を取得します(後述の手順でこれらをSnowflake側に登録します)。App」の設定画面に戻り、「Usage」をクリックします。certificate」をクリックして証明書ファイルをダウンロードします。URL」をメモしておきます。ユーザー作成Auth0側にユーザーを登録します。USER」ボタンを押下します。メールアドレス、パスワードを入力して「CREATE」ボタンを押下します。この時点ではユーザーのメールアドレスのverificationが完了していない(メールアドレスのverificationがpendingとなっている)ため、ユーザーが有効化されていない状態です。ACCOUNT」をクリックしてメールアドレスのverificationを行います。メールアドレスが「verified」になります。Snowflake側の設定Snowflake側では以下を設定します。ユーザー作成SSOの設定SSOのテストSSOの有効化ユーザー作成Snowlake側にユーザーを登録します。ACCOUNTADMIN権限を持つユーザーでSnowflakeの管理コンソールにログインします。Role」から「ACCOUNTADMIN」にスイッチします。userを実行します。NULLでパスワードを無効化します(Auth0経由のSSOのみ可能とする)。NameにはAuth0ユーザーと同じメールアドレスを登録します。(※default_roleの設定はオプションです。)SSOの設定SAML_IDENTITY_PROVIDERパラメーターを設定します。以下の値をJSON形式で指定します。SAMLアサーションを検証するための証明書。Auth0側で発行された証明書を指定する。証明書はヘッダーとフッターを除いたボディ部を一行で指定する(改行コードが含まれているとエラーとなる場合があるため)。SnowflakeからAuth0にSAMLリクエストを送信する際のURLエンドポイント。Auth0側で発行されたURLを指定する。"OKTA"、"ADFS"、"Custom"(Auth0などのその他のIdP)のいずれかを指定する。Snowflakeのログイン画面に表示されるSSOボタンのテキスト。using」に続く任意のテキストを指定する(アルファベットと数字のみ指定可能。オプション具体的には「Worksheets」から以下のようなクエリを実行します。"Auth0"}';SSOのテストSAML_IDENTITY_PROVIDERパラメーターを設定しただけでは、Snowflakeのログイン画面にSSOのボタンが表示されません。SSOボタンを表示させるためにはsso_login_pageパラメーターをtrueに設定する必要がありますが、その前にプレビューページを使ってSSOの動作確認を行うことができます。プレビューページを表示するために、以下のURLにアクセスします。Auth0)を押下します。Auth0のログイン画面が表示されるので、メールアドレスとパスワードを入力してログインします。ログインが成功することを確認します(初回ログイン時は以下のような画面が表示されます)。SSOの有効化SSOのテストに成功したら、SSOを有効化します(Snowflakeのログイン画面にSSOのボタンを表示させる)。ACCOUNTADMIN権限を持つユーザーでSnowflakeにログインします。Role」から「ACCOUNTADMIN」にスイッチします。「Worksheets」から以下のクエリを実行し、sso_login_pageパラメーターをtrueに設定します。true;通常のコンソールログインURLにアクセスして、プレビューのそれと同様のログイン画面が表示されればSSOの設定完了です。まとめSnowflakeとAuth0とのSAML連携については網羅的な情報が見つからず、かつ私自身のSAMLに関する知識の無さも影響して、Auth0側の正しい設定にたどり着くまでに試行錯誤がありましたが、、結果的には比較的シンプルな設定でSnowflakeとAuth0とのSAML連携が実現できることがわかりました(SAMLに関する理解も深まりました)。Snowflakeのコミュ二ティサイトのナレッジベースにはSnowflakeと様々なIdPとの連携手順が記載されていますので、こちらも参考になるかと思います。528,293Rust始めました。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。使いたいときの注意点を書きました。本が出ていたので読んでみたところよかったので紹介させていただきます。EC2)環境において、不要な踏み台サーバをなくすことができる便利なアップデートです。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介252SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健232こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。カフェ店長のオカノです。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。