カテゴリ:

ユーザーとセキュリティ DDL (サードパーティのサービス統合)

ALTER SECURITY INTEGRATION

既存のセキュリティ統合のプロパティを変更します。

こちらもご参照ください:

CREATE SECURITY INTEGRATIONDROP INTEGRATIONSHOW 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>' ]

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

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_PROVISIONERAAD_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

次の例では、中断された統合の操作を開始します。

ALTER SECURITY INTEGRATION myint SET ENABLED = TRUE;