OAuth 認証:ネットワークポリシーの動作の変更(延期)¶
注釈
この動作変更は2025_06バンドルの一部でしたが、変更は延期されています。この変更は将来のバンドルで導入されます。この変更は、テストには利用できません。
この動作変更を有効にすると、Snowflakeがクライアントやエンドユーザーからの受信トラフィックを制限するために ネットワークポリシー を適用する方法について、Snowflake OAuth と外部 OAuth の両方に変更が加えられます。
Snowflake OAuth 認証:クライアントからSnowflakeへのリクエストに使用されるネットワークポリシーの変更¶
Snowflake OAuth では、ネットワークポリシーを使用して、 OAuth クライアントや認証を行っているユーザーからのネットワークトラフィックを制限できます。このトラフィックを制限するネットワークポリシーは、3つあります。
OAuth クライアントからのリクエストを制御するネットワークポリシー。このネットワークポリシーは、クライアントがSnowflakeと対話できるようにするセキュリティ統合に関連付けられています。
認証するユーザーからのリクエストを制御するネットワークポリシー。このネットワークポリシーはユーザーに関連付けられています。
統合レベルやユーザーレベルのネットワークポリシーがない場合に適用されるアカウントレベルのネットワークポリシー。
この動作変更は、OAuth クライアントからSnowflakeへのリクエストにどのネットワークポリシーが適用されるかに影響します次の図では、変更によって影響を受けるリクエストをハイライトしています。
- 変更前:
統合レベルのネットワークポリシーではなく、ユーザーレベルのネットワークポリシーが、リソースサーバーとして OAuth クライアントからSnowflakeにアクセストークンを送るリクエストに適用されます。
- 変更後:
指定されている場合は、統合レベルのネットワークポリシーが、リソースサーバーとして OAuth クライアントからSnowflakeにアクセストークンを送るリクエストに適用されます。統合レベルのネットワークポリシーがない場合は、アカウントレベルのネットワークポリシーが適用されます。
Snowflakeへの他のリクエストに適用されるネットワークポリシーは、変更されていません。
ユーザーからSnowflakeに送信されるユーザー認証およびユーザー同意リクエストは、指定されている場合は、引き続きユーザーレベルのネットワークポリシーが適用されます。
OAuth クライアントからSnowflakeに送信されるリクエストのアクセストークンには、指定されている場合は、引き続き統合レベルのネットワークポリシーが適用されます。
外部 OAuth :統合レベルのネットワークポリシーが優先される¶
このバンドルを有効にすると、ネットワークポリシーを外部 OAuth セキュリティ統合に関連付けることができます。以前は、Snowflake OAuth セキュリティ統合のみをネットワークポリシーに関連付けることができました。
この変更の一環として、 OAuth クライアントからのネットワークトラフィックを制限するときに、Snowflakeはユーザーレベルのネットワークポリシーを考慮しなくなりました。Snowflakeは、この変更を以下のスケジュールに従って段階的に実施します。
変更がデフォルトで有効になっている場合、Snowflakeは OAuth クライアントからのリクエストを制限するときに、ユーザーレベルのネットワークポリシー と 統合レベルのネットワークポリシーを考慮します。
この期間の障害を回避するには、現在のユーザーレベルのネットワークポリシーをセキュリティ統合に添付します。次のコードは、ユーザーに割り当てられているネットワークポリシーを判別し、同じポリシーを統合に割り当てる方法を示しています。
ユーザーに添付されているネットワークポリシーを検索します。
SHOW PARAMETERS LIKE 'network_policy' IN USER <user_name>;
前述のコマンドによって返されたネットワークポリシーを外部 OAuth セキュリティ統合に添付します。
ALTER SECURITY INTEGRATION <external_oauth_integration_name> SET NETWORK_POLICY = <network_policy_attached_to_user>;
変更が一般で有効になっている場合、ユーザーレベルのネットワークポリシーは、 OAuth クライアントからSnowflakeへのリクエストには影響しません。Snowflakeはこれらのリクエストを統合レベルのネットワークポリシーと照合し、次にアカウントレベルのポリシーと照合します。ユーザーレベルのネットワークポリシーは無効であるため、以下のコマンドを実行してユーザーから削除する必要があります。
ALTER USER <user_name> UNSET NETWORK_POLICY;
参照:2094