CREATE AUTHENTICATION POLICY¶
現在のスキーマまたは指定したスキーマで新しい認証ポリシーを作成するか、既存の認証ポリシーを置き換えます。認証ポリシーを使用して、アカウントまたはユーザーの認証制御およびセキュリティ要件を定義することができます。
- こちらもご参照ください。
ALTER AUTHENTICATION POLICY, DESCRIBE AUTHENTICATION POLICY, DROP AUTHENTICATION POLICY, SHOW AUTHENTICATION POLICIES
構文¶
CREATE [ OR REPLACE ] AUTHENTICATION POLICY [ IF NOT EXISTS ] <name>
[ CLIENT_TYPES = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ AUTHENTICATION_METHODS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ SECURITY_INTEGRATIONS = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ COMMENT = '<string_literal>' ]
必須パラメーター¶
オプションのパラメーター¶
CLIENT_TYPES = ( 'string_literal' [ , 'string_literal' , ... ] )
Snowflakeで認証できるクライアントのリスト。クライアントが接続を試みても、そのクライアントが有効な
CLIENT_TYPES
のいずれでもない場合は、ログインの試みに失敗します。このパラメーターは、以下の値を1つ以上受け付けます。ALL
すべてのクライアントの認証を許可します。
SNOWFLAKE_UI
Snowsight または Classic Console。Snowflakeウェブインターフェイス。
DRIVERS
ドライバーは、 サポートされた言語 で記述されたアプリケーションからSnowflakeへのアクセスを許可します。例: Go、 JDBC、 .NET ドライバー、および Snowpipe Streaming。
注意
DRIVERS
がCLIENT_TYPES
リストに含まれていない場合、自動インジェスチョンは機能しなくなる可能性があります。SNOWSQL
Snowflakeに接続するための コマンドラインクライアント。
デフォルト:
ALL
。AUTHENTICATION_METHODS = ( 'string_literal' [ , 'string_literal' , ... ] )
注意
認証方法で制限すると、ドライバー接続やサードパーティの統合をブロックするなど、意図しない結果を招く可能性があります。
ログイン時に許可される認証方法のリスト。このパラメーターは、以下の値を1つ以上受け付けます。
ALL
すべての認証方法を許可します。
SAML
SAML2 セキュリティ統合 を許可します。
SAML
がある場合は、 SSO ログインオプションが表示されます。SAML
が存在しない場合は、 SSO ログインオプションは表示されません。PASSWORD
ユーザー名とパスワードによる認証を許可します。
OAUTH
外部 OAuth を許可します。
KEYPAIR
キーペア認証 を許可します。
デフォルト:
ALL
。SECURITY_INTEGRATIONS = ( 'string_literal' [ , 'string_literal' , ... ] )
認証ポリシーが関連付けられているセキュリティ統合のリスト。このパラメーターは、
SAML
またはOAUTH
がAUTHENTICATION_METHODS
リストにない場合には効果がありません。SECURITY_INTEGRATIONS
リストの値はすべてAUTHENTICATION_METHODS
リストの値と互換性のある必要があります。たとえば、SECURITY_INTEGRATIONS
に SAML セキュリティ統合が含まれ、AUTHENTICATION_METHODS
にOAUTH
が含まれる場合は、認証ポリシーを作成できません。ALL
すべてのセキュリティ統合を許可します。
デフォルト:
ALL
。COMMENT = 'string_literal'
ポリシーの説明を指定します。
アクセス制御の要件¶
この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
メモ |
---|---|---|
CREATE AUTHENTICATION POLICY |
スキーマ |
Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed. |
スキーマ内の任意のオブジェクトを操作するには、親データベースとスキーマに対する USAGE 権限も必要であることに注意してください。
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
認証ポリシーを作成した後、Snowflakeがポリシーを適用する前に、 ALTER ACCOUNT または ALTER USER コマンドを使用して、ポリシーをアカウントまたはユーザーに設定する必要があります。
既存の認証ポリシーを更新し、ポリシーの定義を確認する必要がある場合は、 DESCRIBE AUTHENTICATION POLICY コマンドまたは GET_DDL 関数を実行します。
CREATE OR REPLACE <オブジェクト> ステートメントはアトミックです。つまり、オブジェクトが置き換えられると、単一のトランザクションで、古いオブジェクトが削除されて新しいオブジェクトが作成されます。
例¶
restrict_client_types_policy
という名前の認証ポリシーを作成し、 Snowsight または Classic Console 経由のアクセスのみを許可します。
CREATE AUTHENTICATION POLICY restrict_client_types_policy
CLIENT_TYPES = ('SNOWFLAKE_UI')
COMMENT = 'Auth policy that only allows access through the web interface';