- カテゴリ:
ユーザーとセキュリティ DDL (サードパーティのサービス統合)
ALTER SECURITY INTEGRATION¶
既存のセキュリティ統合のプロパティを変更します。
- こちらもご参照ください:
CREATE SECURITY INTEGRATION 、 DROP INTEGRATION 、 SHOW INTEGRATIONS
このトピックの内容:
構文¶
外部 OAuth
ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> SET [ TYPE = EXTERNAL_OAUTH ] [ ENABLED = { TRUE | FALSE } ] [ EXTERNAL_OAUTH_TYPE = { OKTA | AZURE | PING_FEDERATE | CUSTOM } ] [ EXTERNAL_OAUTH_ISSUER = '<string_literal>' ] [ EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM = '<string_literal>' ] [ EXTERNAL_OAUTH_SNOWFLAKE_USER_MAPPING_ATTRIBUTE = 'LOGIN_NAME | EMAIL_ADDRESS' ] [ EXTERNAL_OAUTH_JWS_KEYS_URL = '<string_literal>' ] [ EXTERNAL_OAUTH_RSA_PUBLIC_KEY = <public_key1> ] [ EXTERNAL_OAUTH_RSA_PUBLIC_KEY_2 = <public_key2> ] [ EXTERNAL_OAUTH_AUDIENCE_LIST = ('<string_literal>') ] [ EXTERNAL_OAUTH_ANY_ROLE_MODE = 'DISABLE | ENABLE | ENABLE_FOR_PRIVILEGE ] ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> UNSET { ENABLED | EXTERNAL_OAUTH_AUDIENCE_LIST } [ , ... ]
SAML2
ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> SET [ TYPE = SAML2 ] [ ENABLED = TRUE | FALSE ] [ SAML2_ISSUER = '<string_literal>' ] [ SAML2_SSO_URL = '<string_literal>' ] [ SAML2_PROVIDER = '<string_literal>' ] [ SAML2_X509_CERT = '<string_literal>' ] [ SAML2_SP_INITIATED_LOGIN_PAGE_LABEL = '<string_literal>' ] [ SAML2_ENABLE_SP_INITIATED = TRUE | FALSE ] [ SAML2_SNOWFLAKE_X509_CERT = '<string_literal>' ] [ SAML2_SIGN_REQUEST = TRUE | FALSE ] [ SAML2_REQUESTED_NAMEID_FORMAT = '<string_literal>' ] [ SAML2_FORCE_AUTHN = TRUE | FALSE ] [ SAML2_SNOWFLAKE_ISSUER_URL = '<string_literal>' ] [ SAML2_SNOWFLAKE_ACS_URL = '<string_literal>' ]
SCIM
ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> SET [ TYPE = SCIM ] [ SCIM_CLIENT = 'OKTA' | 'AZURE' | 'CUSTOM' ] [ RUN_AS_ROLE = 'OKTA_PROVISIONER' | 'AAD_PROVISIONER' | 'GENERIC_SCIM_PROVISIONER' ] [ NETWORK_POLICY = '<network_policy>' ] ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> UNSET { ENABLED | NETWORK_POLICY } [ , ... ]
パートナーアプリケーション用Snowflake OAuth
ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> SET [ ENABLED = { TRUE | FALSE } ] [ OAUTH_ISSUE_REFRESH_TOKENS = TRUE | FALSE ] [ OAUTH_REFRESH_TOKEN_VALIDITY = <integer> ] [ BLOCKED_ROLES_LIST = ( '<role_name>' [ , '<role_name>' , ... ] ) ] [ COMMENT = '<string_literal>' ]
カスタムクライアント用Snowflake OAuth
ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> SET [ ENABLED = { TRUE | FALSE } ] [ OAUTH_REDIRECT_URI = '<uri>' ] [ OAUTH_ALLOW_NON_TLS_REDIRECT_URI = TRUE | FALSE ] [ OAUTH_ENFORCE_PKCE = TRUE | FALSE ] [ PRE_AUTHORIZED_ROLES_LIST = ( '<role_name>' [ , '<role_name>' , ... ] ) ] [ BLOCKED_ROLES_LIST = ( '<role_name>' [ , '<role_name>' , ... ] ) ] [ OAUTH_ISSUE_REFRESH_TOKENS = TRUE | FALSE ] [ OAUTH_REFRESH_TOKEN_VALIDITY = <integer> ] [ NETWORK_POLICY = '<network_policy>' ] [ OAUTH_CLIENT_RSA_PUBLIC_KEY = <public_key1> ] [ OAUTH_CLIENT_RSA_PUBLIC_KEY_2 = <public_key2> ] [ COMMENT = '{string_literal}' ] ALTER [ SECURITY ] INTEGRATION [ IF EXISTS ] <name> UNSET { ENABLED | NETWORK_POLICY | OAUTH_CLIENT_RSA_PUBLIC_KEY | OAUTH_CLIENT_RSA_PUBLIC_KEY_2 } [ , ... ]
パラメーター¶
名前
変更する統合の識別子。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
外部 OAuth パラメーター¶
SET ...
統合用に設定する1つ(または複数)のプロパティ/パラメーターを指定します(空白、カンマ、または改行で区切られます)。
TYPE = EXTERNAL_OAUTH
外部 OAuth 統合と Snowflake OAuth を区別します。
ENABLED = TRUE | FALSE
統合の操作を開始するか、中断するかを指定します。
TRUE
は、パイプ定義で指定されたパラメーターに基づいて統合を許可します。FALSE
は、メンテナンスのために統合を一時停止します。Snowflakeとサードパーティサービスの統合はいずれも機能しません。
EXTERNAL_OAUTH_TYPE = OKTA | AZURE | PING_FEDERATE | CUSTOM
OAuth 2.0認証サーバーをOkta、Microsoft Azure AD、Ping Identity PingFederate、またはカスタム OAuth 2.0認証サーバーに指定します。
EXTERNAL_OAUTH_ISSUER = '文字列リテラル'
OAuth 2.0認証サーバーを定義する URL を指定します。
EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM = '文字列リテラル'
アクセストークンをSnowflakeユーザーレコードにマップするために使用する、アクセストークン要求を指定します。クレームの型は、単一のエントリを持つ文字列または文字列の配列である必要があります。
EXTERNAL_OAUTH_SNOWFLAKE_USER_MAPPING_ATTRIBUTE = 'LOGIN_NAME | EMAIL_ADDRESS'
アクセストークンをSnowflakeユーザーレコードにマップするために使用する、Snowflakeユーザーレコード属性を示します。
EXTERNAL_OAUTH_JWS_KEYS_URL = '文字列リテラル'
外部 OAuth アクセストークンを検証するための、公開キーまたは証明書をダウンロードするエンドポイントを指定します。
EXTERNAL_OAUTH_RSA_PUBLIC_KEY = パブリックキー1
-----BEGIN PUBLIC KEY-----
および-----END PUBLIC KEY-----
ヘッダーを含まない、Base64でエンコードされた RSA 公開キーを指定します。EXTERNAL_OAUTH_RSA_PUBLIC_KEY_2 = パブリックキー2
-----BEGIN PUBLIC KEY-----
および-----END PUBLIC KEY-----
ヘッダーを含まない、2番目の RSA 公開キーを指定します。キーのローテーションに使用されます。EXTERNAL_OAUTH_AUDIENCE_LIST = ('文字列リテラル')
お客様のSnowflakeアカウント URL の使用に加えて、アクセストークンのオーディエンス検証に使用できる追加の値を指定します(つまり、
<アカウント>.<地域>.snowflakecomputing.com
)。現在、複数のオーディエンス URLs は、 外部 OAuth カスタムクライアント に対してのみ指定できます。各 URL は、各 URL をコンマで区切って、単一引用符で囲む必要があります。例:
external_oauth_audience_list = ('https://example.com/api/v2/', 'https://example.com')
EXTERNAL_OAUTH_ANY_ROLE_MODE = 'DISABLE | ENABLE | ENABLE_FOR_PRIVILEGE'
OAuth クライアントまたはユーザーが、 OAuth アクセストークンで定義されていないロールを使用できるかどうかを指定します。
DISABLE
の場合、 OAuth クライアントまたはユーザーは、ロール(つまり、use role <ロール>;
)を切り替えられません。デフォルト。ENABLE
の場合、 OAuth クライアントまたはユーザーは、ロールを切り替えられます。ENABLE_FOR_PRIVILEGE
OAuth クライアントまたはユーザーは、USE_ANY_ROLE
権限を持つクライアントまたはユーザーのロールのみを切り替えられます。この権限は、ユーザーが使用できる1つ以上のロールに対して付与および取り消しができます。例:grant USE_ANY_ROLE on integration external_oauth_1 to role1;
revoke USE_ANY_ROLE on integration external_oauth_1 from role1;
UNSET ...
セキュリティ統合の設定を解除する1つ(または複数)のプロパティ/パラメーターを指定し、それらをデフォルトにリセットします。
ENABLED
EXTERNAL_OAUTH_AUDIENCE_LIST
SAML 2.0 パラメーター¶
SET ...
統合用に設定する1つ(または複数)のプロパティ/パラメーターを指定します(空白、カンマ、または改行で区切られます)。
TYPE = SAML2
統合の型を指定します。
SAML2
:SnowflakeとIDプロバイダーの間にセキュリティインターフェイスを作成します。
ENABLED = TRUE | FALSE
統合の操作を開始するか、中断するかを指定します。
TRUE
は、パイプ定義で指定されたパラメーターに基づいて統合を許可します。FALSE
は、メンテナンスのために統合を一時停止します。Snowflakeとサードパーティサービスの統合はいずれも機能しません。
SAML2_ISSUER = '文字列リテラル'
IdP
EntityID
/Issuer
を含む文字列。SAML2_SSO_URL = '文字列リテラル'
IdP SSO URL を含む文字列。ユーザーは、 SAML
AuthnRequest
メッセージでSnowflake(サービスプロバイダー)によりリダイレクトされます。SAML2_PROVIDER = '文字列リテラル'
IdP を説明する文字列。
次のいずれか:OKTA、 ADFS、カスタム。
SAML2_X509_CERT = '文字列リテラル'
Base64は、先頭の
-----BEGIN CERTIFICATE-----
と末尾の-----END CERTIFICATE-----
マーカーのない1行で IdP 署名証明書をエンコードしました。SAML2_SP_INITIATED_LOGIN_PAGE_LABEL = '文字列リテラル'
ログインページの Log In With ボタンの後に表示するラベルを含む文字列。
SAML2_ENABLE_SP_INITIATED = TRUE | FALSE
ログインページに Log In With ボタンを表示するかどうかを示すブール値。
TRUE
は、ログインページに Log in With ボタンを表示します。FALSE
は、ログインページに Log in With ボタンを表示しません。
SAML2_SNOWFLAKE_X509_CERT = '文字列リテラル'
SAMLアサーションの暗号化 と 署名済みの SAML リクエスト で使用するためにSnowflakeによって生成された、Base64エンコードの自己署名証明書。
証明書の値にアクセスするには、Snowflakeアカウントでこれらの機能(暗号化された SAML アサーションまたは署名済みの SAML 応答)の少なくとも1つを有効にする必要があります。
SAML2_SIGN_REQUEST = TRUE | FALSE
SAML リクエストが署名されているかどうかを示すブール値。
TRUE
は、 SAML リクエストへの署名を許可しますFALSE
は、 SAMLリクエストへの署名を許可しません。
SAML2_REQUESTED_NAMEID_FORMAT = '文字列リテラル'
SAML NameID 形式を使用すると、Snowflakeは、 IdP からの SAML アサーションでユーザーの識別属性(つまり SAML サブジェクト)の期待値を設定して、Snowflakeへの有効な認証を確認できます。値が指定されていない場合、Snowflakeは認証リクエストの
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
値を IdP に送信します。オプション。
SAML
NameID
形式を指定する場合は、次のいずれかの値を使用します。urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName
urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName
urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
urn:oasis:names:tc:SAML:2.0:nameid-format:transient
SAML2_FORCE_AUTHN = TRUE | FALSE
ユーザーが最初の認証フロー中に、Snowflakeにアクセスするために再認証を強制されるかどうかを示すブール値。
TRUE
に設定すると、SnowflakeからIDプロバイダーへの送信リクエストで、SnowflakeはForceAuthn
SAML パラメーターをTRUE
に設定します。TRUE
は、IDプロバイダーとの有効なセッションが存在する場合でも、ユーザーにSnowflakeにアクセスするための再認証を強制します。FALSE
は、Snowflakeにアクセスするためにユーザーに再認証を強制することはありません。
デフォルト:
FALSE
。SAML2_SNOWFLAKE_ISSUER_URL = '<string_literal>'
Snowflakeサービスプロバイダーの
EntityID
/Issuer
を含む文字列。誤った値が指定された場合、Snowflakeは使用可能な値を示すエラーメッセージを返します。
SAML2_SNOWFLAKE_ACS_URL = '<string_literal>'
IdP が SAML 認証応答をSnowflakeに送り返す、Snowflake Assertion Consumer Service URL を含む文字列。
このプロパティは、 IdP で SAML SSO 操作を開始するときに、Snowflakeによって生成される SAML 認証リクエストで設定されます。
誤った値が指定された場合、Snowflakeは使用可能な値を示すエラーメッセージを返します。
デフォルト:
https://<アカウント>.<地域>.snowflakecomputing.com/fed/login
代表的な例については、 セキュリティ統合での組織アカウントURLの使用 --- オプション をご参照ください。
SCIM パラメーター¶
TYPE = SCIM
統合の型を指定します。
SCIM
:Snowflakeと SCIM をサポートするクライアントとの間にセキュリティインターフェイスを作成します。
SCIM_CLIENT = 'OKTA' | 'AZURE' | 'CUSTOM'
SCIM クライアントを指定します。
RUN_AS_ROLE = 'OKTA_PROVISIONER' | 'AAD_PROVISIONER' | 'GENERIC_SCIM_PROVISIONER'
SCIM を使用して、IDプロバイダーからSnowflakeにインポートされるユーザーとロールを所有するSnowflakeの SCIM ロールを指定します。
値
OKTA_PROVISIONER
、AAD_PROVISIONER
、およびGENERIC_SCIM_PROVISIONER
は大文字と小文字が区別されるため、常に大文字にする必要があります。
NETWORK_POLICY = 'ネットワークポリシー'
アカウントに対してアクティブな既存の ネットワークポリシー を指定します。ネットワークポリシーは、アクセストークンまたは更新トークンの認証コードを交換するとき、および更新トークンを使用して新しいアクセストークンを取得するとき、ユーザー IP アドレスのリストを制限します。このパラメーターが設定されていない場合、アカウントのネットワークポリシー(存在する場合)が代わりに使用されます。
UNSET ...
セキュリティ統合の設定を解除する1つ(または複数)のプロパティ/パラメーターを指定し、それらをデフォルトにリセットします。
ENABLED
NETWORK_POLICY
Snowflake OAuth パートナーアプリケーションパラメーター¶
OAUTH_CLIENT = <partner_application>の場合(つまり、パートナーアプリケーションの統合を作成する場合)に有効
SET ...
統合用に設定する1つ(または複数)のプロパティ/パラメーターを指定します(空白、カンマ、または改行で区切られます)。
ENABLED = TRUE | FALSE
は、統合の操作を開始するか、中断するかを指定します。TRUE
は、パイプ定義で指定されたパラメーターに基づいて統合を許可します。FALSE
は、メンテナンスのために統合を一時停止します。Snowflakeとサードパーティサービスの統合はいずれも機能しません。
OAUTH_ISSUE_REFRESH_TOKENS = TRUE | FALSE
現在のアクセストークンの有効期限が切れたときに、クライアントがアクセストークンの更新トークンを交換できるようにするかどうかを指定するブール値。
FALSE
に設定されている場合、更新トークンは発行されません。ユーザーの同意は取り消され、ユーザーは再度認証を確認する必要があります。デフォルト:
TRUE
OAUTH_REFRESH_TOKEN_VALIDITY = 整数
更新トークンの有効期間を秒単位で指定する整数。これを使用して、更新トークンを定期的に失効させることができます。
組織で最小値または最大値をそれぞれ増減する場合は、アカウント管理者に依頼して Snowflakeサポート にリクエストを送信してください。
- 値
86400
(1日)から7776000
(90日)- デフォルト
7776000
BLOCKED_ROLES_LIST = '( ロール名' [ , 'ロール名' , ... ] )
ユーザーが認証後に使用に明示的に同意 できない Snowflakeロールのコンマ区切りリスト、例:
'custom_role1', 'custom_role2'
。 ACCOUNTADMIN および SECURITYADMIN ロールはデフォルトでこのリストに含まれていることに注意してください。ただし、これらのロールをアカウントから削除する必要がある場合は、アカウント管理者に依頼して、 Snowflakeサポート にリクエストを送信してください。COMMENT = '文字列リテラル'
統合のコメントを指定する文字列(リテラル)。
Snowflake OAuth カスタムクライアントパラメーター¶
OAUTH_CLIENT = CUSTOM の場合(つまり、カスタムクライアントの統合を作成する場合)に有効
SET ...
統合用に設定する1つ(または複数)のプロパティ/パラメーターを指定します(空白、カンマ、または改行で区切られます)。
ENABLED = TRUE | FALSE
は、統合の操作を開始するか、中断するかを指定します。TRUE
は、パイプ定義で指定されたパラメーターに基づいて統合を許可します。FALSE
は、メンテナンスのために統合を一時停止します。Snowflakeとサードパーティサービスの統合はいずれも機能しません。
OAUTH_REDIRECT_URI = 'uri'
クライアント URIを指定します。ユーザーが認証されると、ウェブブラウザーはこの URI にリダイレクトされます。オプションの
OAUTH_ALLOW_NON_TLS_REDIRECT_URI
パラメーターがTRUE
に設定されていない限り、 URI は TLS (トランスポート層セキュリティ)で保護する必要があります。OAUTH_ALLOW_NON_TLS_REDIRECT_URI = TRUE | FALSE
TRUE
の場合、OAUTH_REDIRECT_URI
を TLSで保護されて いない URI に設定できます。フィッシング攻撃で使用される中間者 OAuth リダイレクトを防ぐために、 TLS の使用を強くお勧めします。デフォルト:
FALSE
OAUTH_ENFORCE_PKCE = TRUE | FALSE
統合にコード交換の証明キー(PKCE)が必要かどうかを指定するブール値。
デフォルト:
FALSE
PRE_AUTHORIZED_ROLES_LIST = '( ロール名' [ , 'ロール名 , ... ] ')
ユーザーが認証後の使用に明示的に同意する必要のないSnowflakeロールのコンマ区切りリスト(例:
'custom_role1', 'custom_role2'
)。 ACCOUNTADMIN および SECURITYADMIN のロールをこのリストに含めることはできません。注釈
このパラメーターは機密クライアントでのみサポートされています。
BLOCKED_ROLES_LIST = '(ロール名', 'ロール名')
ユーザーが認証後に使用に明示的に同意 できない Snowflakeロールのコンマ区切りリスト、例:
'custom_role1', 'custom_role2'
。 ACCOUNTADMIN および SECURITYADMIN ロールはデフォルトでこのリストに含まれていることに注意してください。ただし、これらのロールをアカウントから削除する必要がある場合は、アカウント管理者に依頼して、 Snowflakeサポート にリクエストを送信してください。OAUTH_ISSUE_REFRESH_TOKENS = TRUE | FALSE
現在のアクセストークンの有効期限が切れたときに、クライアントがアクセストークンの更新トークンを交換できるようにするかどうかを指定するブール値。
FALSE
に設定されている場合、更新トークンは発行されません。ユーザーの同意は取り消され、ユーザーは再度認証を確認する必要があります。デフォルト:
TRUE
OAUTH_REFRESH_TOKEN_VALIDITY = 整数
更新トークンの有効期間を秒単位で指定する整数。これを使用して、更新トークンを定期的に失効させることができます。
更新トークンの有効期限が切れると、アプリケーションはユーザーに再度認証フローを指示して、新しい更新トークンを取得する必要があります。
サポートされている最小値、最大値、およびデフォルト値は次のとおりです。
アプリケーション
最小
最大
デフォルト
Tableau Desktop
60
(1分)36000
(10時間)36000
(10時間)Tableau ServerまたはTableau Online
60
(1分)7776000
(90日)7776000
(90日)カスタムクライアント
86400
(1日)7776000
(90日)7776000
(90日)ビジネスで最小値を下げるか、最大値を上げる必要がある場合は、アカウント管理者に依頼して Snowflakeサポート にリクエストを送信してください。
NETWORK_POLICY = 'ネットワークポリシー'
アカウントに対してアクティブな既存の ネットワークポリシー を指定します。ネットワークポリシーは、アクセストークンまたは更新トークンの認証コードを交換するとき、および更新トークンを使用して新しいアクセストークンを取得するとき、ユーザー IP アドレスのリストを制限します。このパラメーターが設定されていない場合、アカウントのネットワークポリシー(存在する場合)が代わりに使用されます。
OAUTH_CLIENT_RSA_PUBLIC_KEY = 公開キー1
RSA パブリックキーを指定します。詳細については、 OAuth をご参照ください。
OAUTH_CLIENT_RSA_PUBLIC_KEY_2 = パブリックキー2
2番目の RSA パブリックキーを指定します。キーのローテーションに使用されます。
COMMENT = '文字列リテラル'
統合のコメントを指定する文字列(リテラル)。
UNSET ...
セキュリティ統合の設定を解除する1つ(または複数)のプロパティ/パラメーターを指定し、それらをデフォルトにリセットします。
ENABLED
NETWORK_POLICY
OAUTH_CLIENT_RSA_PUBLIC_KEY
OAUTH_CLIENT_RSA_PUBLIC_KEY_2