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>' ]
Copy

必須パラメーター

name

認証ポリシーの 識別子 を指定します。識別子にスペースまたは特殊文字が含まれる場合は、文字列を二重引用符で囲む必要があります。二重引用符で囲まれた識別子は、大文字と小文字が区別されます。識別子は 識別子の要件 を満たす必要があります。

オプションのパラメーター

CLIENT_TYPES = ( 'string_literal' [ , 'string_literal' , ... ] )

Snowflakeで認証できるクライアントのリスト。クライアントが接続を試みても、そのクライアントが有効な CLIENT_TYPES のいずれでもない場合は、ログインの試みに失敗します。このパラメーターは、以下の値を1つ以上受け付けます。

ALL

すべてのクライアントの認証を許可します。

SNOWFLAKE_UI

Snowsight または Classic Console。Snowflakeウェブインターフェイス。

DRIVERS

ドライバーは、 サポートされた言語 で記述されたアプリケーションからSnowflakeへのアクセスを許可します。例: GoJDBC.NET ドライバー、および Snowpipe Streaming

注意

DRIVERSCLIENT_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 または OAUTHAUTHENTICATION_METHODS リストにない場合には効果がありません。

SECURITY_INTEGRATIONS リストの値はすべて AUTHENTICATION_METHODS リストの値と互換性のある必要があります。たとえば、 SECURITY_INTEGRATIONS に SAML セキュリティ統合が含まれ、 AUTHENTICATION_METHODSOAUTH が含まれる場合は、認証ポリシーを作成できません。

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';
Copy