ローカルアプリケーションの認証:SnowflakeOAuthの組み込みセキュリティ統合¶
認証に:doc:`Snowflake OAuth</user-guide/oauth-snowflake-overview>`を使用するアプリケーションには、Snowflakeとアプリケーション間のインターフェースを定義するセキュリティ統合が必要です。この変更により、組み込みのシステム所有のセキュリティ統合が導入され、ローカルデスクトップアプリケーションがSnowflakeOAuthで認証する方法が簡素化されます。
注釈
この動作変更を有効にすると、組み込みのセキュリティ統合はゆっくりとアカウントにロールアウトされ、すぐには利用できない可能性があります。
- 変更前:
Snowflakeへの認証にアプリケーションでSnowflakeOAuth を使用したい場合は、常にセキュリティ統合を作成して構成する必要があります。
- 変更後:
SnowflakeOAuthで認証するローカルのデスクトップアプリケーションは、セキュリティ統合を作成する必要がありません。組み込みのセキュリティ統合 ``SNOWFLAKE$LOCAL_APPLICATION``は、すべてのアカウントに存在します。OAUTHタイプのセキュリティ統合です。
セキュリティ統合を作成する必要がないため、アプリケーション開発者は、Snowflake管理者の支援なしでSnowflakeOAuthを実装できます。ただし、セキュリティ管理者は引き続き、組み込みのセキュリティ統合を構成して、アクセストークンの有効期間や1回限りの更新トークンを使用するかどうかなどを制御できます。
組み込みのセキュリティ統合を使用して認証できるのは、ローカルのデスクトップアプリケーションのみです。例えば、サードパーティのウェブアプリケーションなど、他のタイプのアプリケーションでは、 SnowflakeOAuthで認証する場合、セキュリティ統合を作成して構成する必要があります。
組み込み統合の利点¶
``SNOWFLAKE$LOCAL_APPLICATION``セキュリティ統合を使用してローカルアプリケーションを認証することには、次の利点があります。
パスワード認証の代替である簡単な認証方法を提供し、パスワードで認証する場合は、人間のユーザーが多要素認証(MFA)を使用するというSnowflakeの今後の要件に準拠するのに役立ちます。
管理上の混乱を減らします。 SnowflakeOAuthを使用するのに初期管理者アクションは必要ありません。
特にSnowflake CLIを使用する開発者のユーザーエクスペリエンスが改善します。
単一の認証方法としてOAuthをローカルアプリケーションで使用できるようにし、複雑な構成を取り除き、アプリケーションに対して認証プロセスをほとんど不透明にします。
他の認証方法と同様に、ロール内のセッションの切り替えをサポートします。ユーザー定義のSnowflake OAuth セキュリティ統合は、ロール内のセッション切り替えをサポートしていません。
ローカルアプリケーションをユーザー認証情報から分離します。これにより、ディスク上の長期間有効な認証情報がなくなります。つまり、パスワードや個人アクセストークンなどの機密認証データが安全でない方法で永続化されることはありません。
組み込みのセキュリティ統合を保有することで、アカウントのセキュリティ体制が強化されることはありませんが、ユーザーエクスペリエンスの向上と最も安全な形式のローカル認証を組み合わせることができます。OAuth 更新トークンの有効性ウィンドウ内で新しいセッションを作成することは、保存されたユーザー認証情報を使用して新しいセッションを作成する既存のパターンと同等です。さらに、管理者は:doc:認証ポリシー </user-guide/authentication-policies>
を使用して認証の制御を保持でき、ユーザーに対して許可される認証情報を指示します。
変更をオプトアウトする¶
アカウント管理者は、アカウントの``SNOWFLAKE$LOCAL_APPLICATION`` セキュリティ統合を無効にできます。このアクションによってローカルアプリケーションは、管理者が独自のセキュリティ統合を作成しない限り、認証にSnowflakeOAuthを使用できなくなります。
この変更をオプトアウトし、セキュリティ管理者が``SNOWFLAKE$LOCAL_APPLICATION``セキュリティ統合を有効化できないようにするには、次のコマンドを実行します。
USE ROLE ACCOUNTADMIN;
ALTER ACCOUNT SET DISABLE_SNOWFLAKE_LOCAL_APPLICATION_INTEGRATION = TRUE;
DISABLE_SNOWFLAKE_LOCAL_APPLICATION_INTEGRATIONパラメーターを使用してオプトアウトしても、``SNOWFLAKE$LOCAL_APPLICATION``統合が作成されることは防げません。統合はアカウントに引き続き存在しますが、その ENABLED プロパティは FALSEとなり、セキュリティ管理者はプロパティをTRUE に変更することはできません。
アカウント管理者は、SNOWFLAKE$LOCAL_APPLICATION
統合がアカウントで作成される前にDISABLE_SNOWFLAKE_LOCAL_APPLICATION_INTEGRATIONパラメーターを設定できます。そうすることでその統合が有効化されることはありません。
アカウント管理者がアカウントパラメーターを使用してオプトアウトしない場合でも、セキュリティ管理者は、作成後の``SNOWFLAKE$LOCAL_APPLICATION``統合を無効にできます。アカウントに存在した後に組み込みのセキュリティ統合を無効にするには、次のコマンドを実行します。
USE ROLE SECURITYADMIN;
ALTER SECURITY INTEGRATION SNOWFLAKE$LOCAL_APPLICATION SET ENABLED = FALSE;
参照:2056