Snowflake認証の概要¶
次のセクションでは、ユーザーおよびアプリケーションがSnowflakeにアクセスするために使用できる認証方法について説明します。また、ユースケースに最適な認証方法を選択するのに役立つ重要な考慮事項も提供します。
Snowsight の認証の選択¶
Snowsight は、Snowflakeのユーザーインターフェースです。このセクションでは、ユーザーが Snowsight にサインインするために使用できる認証方法の概要を説明し、その後各メソッドを比較します。
注釈
Snowsight に対して認証する個人のSnowflakeユーザーオブジェクトを作成する場合、 TYPE = PERSON を指定します。ユーザーの型の詳細については、 ユーザーのタイプ をご参照ください。
- シングルサインオン(SSO)
Snowsight の SSO を使用すると、ユーザーはSnowflakeで直接認証するのではなく、サードパーティのIDプロバイダー(IdP)で認証します。ユーザーが Snowsight にアクセスすると、サインインページにはSnowflakeが管理するパスワードの代わりに、 IdP で認証するオプションが含まれます。IdP はユーザーのIDを確認し、セキュリティアサーションマークアップ言語(SAML)アサーションをSnowflakeに送信します。Snowflakeと IdP には以前に確立された信頼関係があり、SnowflakeはユーザーのIDの証明としてアサーションを受け入れ、ユーザーが Snowsight にアクセスすることを許可します。
一部の組織は同じ IdP を使用して、組織のすべてのアプリケーションに SSO エクスペリエンスを提供しています。これらの組織は、Snowflakeを新しいサービスプロバイダー(SP)として追加するだけで、従業員が IdP を使用して Snowsight にアクセスできるようになります。
- 多要素認証(MFA)によるユーザー名とパスワード
パスワード認証により、ユーザーはパスワードポリシーによって適用される要件に適合する文字列を入力して Snowsight にアクセスできるようになります。この認証メソッドのセキュリティを強化するために、Snowflakeはすべてのパスワードユーザーに MFA を要求します。MFA では、ユーザーはパスワードを入力し、認証の2番目の要素を使用してIDを確認します。たとえば、ユーザーは認証の2番目の要素として、コンピューターに保存されているパスキーを使用する場合があります。
次のテーブルでは、ユーザーが Snowsight にサインインするために使用できる認証メソッドを比較したものです。
メソッド |
メリット |
チャレンジ |
|---|---|---|
シングルサインオン .推奨オプション |
組織が認証を集中管理できるようにします。ユーザーは、Snowflakeだけでなく、組織のすべてのアプリケーションに対して同じ IdP を使用して認証します。 既に IdP を使用してアプリケーションに SSO を提供している組織に最適です。 |
サードパーティIdP の構成が必要 |
MFA とパスワード |
簡単な実装。 |
パスワードがSnowflakeによって管理される場合、組織はそのすべてのアプリケーションに対して認証設定を繰り返す必要があります。 |
アプリケーションの認証メソッドの概要¶
このトピックでは、アプリケーション は、 Snowsight ユーザーインターフェース経由ではなく、プログラムでSnowflakeデータにアクセスするものすべてを指します。この定義には、カスタムウェブアプリケーション、サードパーティマルチテナントアプリケーション、デスクトップアプリケーション、ローカルスクリプト、およびクラウド内のワークロードが含まれます。
使用可能な認証メソッドについて説明する場合、このトピックでは2つのタイプのアプリケーションを区別します。
個人と対話し、その個人の代わりにSnowflakeに対して認証する インタラクティブアプリケーション。例: アナリストと対話するビジネスインテリジェンス(BI)ツール。
他のユーザーと対話することなく、サービス専用の認証メソッドを持つ サービスツーサービスアプリケーション。例: CI/CD パイプライン。
- ワークロードIDフェデレーション(WIF)
ワークロードIDフェデレーションは、シークレットレス認証の形式であり、クラウドワークロードですでに利用可能な一時的な認証情報を活用するため、安全性が高くなります。シークレットを管理したり、ローテーションしたりする必要がありません。
AWSEC2、Microsoft Azure VMs、Google Cloud VMs などのクラウドプロバイダーでワークロードが実行されている場合、ワークロードIDフェデレーションは、クラウドプロバイダーのネイティブIDメカニズムを使用して、ワークロードがSnowflakeに対して認証できるようにします。たとえば、 AWSEC2 で実行されているワークロードの場合、ワークロードに関連づけられている AWS IDおよびアクセス管理(IAM)ロールから証明書(つまりそのIDの証明)を取得できます。ワークロードのドライバーは、ネイティブIDメカニズムから証明書を取得し、それをSnowflakeに送信してワークロードを認証します。
ワークロードIDフェデレーションは、 GitHub アクションのようなサードパーティのワークロードやKubernetesで実行されているワークロードが OIDC フェデレーション と呼ばれるプロセスで、 OpenID 接続準拠のIDプロバイダー(IdP)を使用して認証することもできます。Snowflakeは、ワークロードのIDの証明として IdP によって生成された ID トークンを受け入れます。
最適:
サービス間のアプリケーション
- 認証サーバーとしてSnowflake を使用する OAuth (Snowflake OAuth)
Snowflake OAuth は OAuth 2.0認証フレームワーク のセキュリティを提供します。Snowflake OAuth を使用すると、Snowflakeは、Snowflakeユーザーを認証する認証サーバーであると同時に、クライアントからアクセストークンを受け入れてそのユーザーのデータにアクセスするリソースサーバーとしても機能します。Snowflake OAuth は、クライアントに認証コード付与タイプを使用させます。
Snowflakeは認証サーバーであるため、アプリケーションを操作するユーザーは、Snowflakeユーザーインターフェースを使用して認証します。シングルサインオン(SSO)またはパスワードでユーザーを認証するようにSnowflakeを構成できます。SSO とパスワード認証についての利点と課題については、 Snowsight の認証の選択 をご参照ください。
最適:
インタラクティブなアプリケーション
- サードパーティの認証サーバーを使用した OAuth(外部 OAuth)
外部 OAuth も OAuth 2.0のセキュリティを提供しますが、認証サーバーとして機能するのはSnowflakeではなくサードパーティ IdP です。アプリケーションはサードパーティ IdP からアクセストークンを取得し、その後、トークンを使用してリソースとしてSnowflakeにアクセスします。
サービス間のアプリケーションは、クライアント認証情報付与タイプを使用して、独自のSnowflakeデータにアクセスできます。インタラクティブアプリケーションは、認証コード付与タイプを使用して、アプリケーションを使用している人のSnowflakeデータにアクセスできます。
最適:
インタラクティブなアプリケーション
サービス間のアプリケーション
- キーペア認証
キーペア認証は、暗号化キーペア に依存します。プライベートキーとパブリックキーです。プライベートキーはアプリケーションが保持するシークレットであり、パブリックキーはSnowflakeユーザーオブジェクトに関連付けられます。認証中に、アプリケーションはプライベートキーを持っているという証明書を送信し、Snowflakeは、プライベートキーがSnowflakeユーザーに関連付けられたパブリックキーに対応していることを確認して応答します。この認証メソッドでは、パスワードを送信または保存する必要がなくなり、認証情報盗難のリスクが軽減されます。
最適:
サービス間のアプリケーション
標準のユースケースではありませんが、キーペア認証は対話型アプリケーションにも使用できます。
- プログラムのアクセストークン(PATs)
PAT は、アプリケーションがパスワードなしで認証できる時間制限付きの認証情報です。PAT は、 MFA またはより安全な認証メソッドが機能しないシナリオで、単一要素パスワードの代替として使用できます。PAT は、一時的な認証情報であり、追加のセキュリティ対策を実装する必要があり、特定のアクセス制御ロールにスコープできるため、パスワードよりも強力です。
最適:
インタラクティブなアプリケーション
サービス間のアプリケーション
インタラクティブアプリケーションの認証の選択¶
インタラクティブアプリケーションとは、個人と対話し、その個人に代わってSnowflakeを認証するアプリケーションのことです。次のテーブルは、インタラクティブアプリケーションに使用できる認証メソッドに関連する利点と課題を示しています。これらの認証方法の概要については、 アプリケーションの認証メソッドの概要 をご参照ください。
注釈
インタラクティブアプリを使用している人向けにSnowflakeユーザーオブジェクトを作成する場合は、 TYPE = PERSON を指定します。ユーザーの型の詳細については、 ユーザーのタイプ をご参照ください。
メソッド |
メリット |
チャレンジ |
|---|---|---|
Snowflake OAuth:newline: |
|
なし。 |
外部 OAuth:newline: |
|
サードパーティ IdP を認証サーバーとしての構成するための専門知識が必要です。 |
プログラムアクセストークン(PAT) |
|
|
キーペア |
|
|
サービス間のアプリケーション認証の選択¶
サービス間のアプリケーションは個人とやり取りせず、サービス専用の認証メソッドを持ちます。次のテーブルは、サービス間のアプリケーションで使用できる認証メソッドに関連する利点と課題を示しています。これらの認証方法の概要については、 アプリケーションの認証メソッドの概要 をご参照ください。
注釈
サービス間のアプリケーション用にSnowflakeユーザーオブジェクトを作成する場合は、 TYPE = SERVICE を指定します。ユーザーの型の詳細については、 ユーザーのタイプ をご参照ください。
メソッド |
メリット |
チャレンジ |
|---|---|---|
ワークロードIDフェデレーション .推奨オプション |
|
なし。 |
外部 OAuth:newline: |
|
サードパーティ IdP を認証サーバーとしての構成するための専門知識が必要です。 |
キーペア |
|
長期間の認証情報に関連するセキュリティリスクは、ネットワークポリシーや堅牢なストレージおよびローテーション戦略などの他のセキュリティ対策で軽減する必要があります。プログラムのアクセストークンとは異なり、キーペアは追加の手段を 必要としない ため、認証の安全性が低下する可能性があります。 |
プログラムアクセストークン(PAT) |
|
|