高度な SAML SSO 機能

このトピックでは、Snowflakeで高度な SAML SSO 機能を構成して使用する方法について説明します。

このトピックの内容:

概要

SAML2 セキュリティ統合は、Snowflakeの高度な SAML SSO 機能の基盤です。

SAML2 セキュリティ統合を構成した後、セキュリティ統合を使用して以下のことを行います。

  • SAML SSO 構成を管理します。

  • SAML アサーションを暗号化します。

  • SAMLリクエストに署名します。

  • SAML NameID 形式を構成をします。

  • セキュリティ統合メタデータをエクスポートします。

  • 最初の SSO 認証フロー中に、Snowflakeへの再認証を強制します。

SAML2セキュリティ統合への移行

SAML2 セキュリティ統合は、SnowflakeのIDプロバイダー(つまり、IdP)情報を指定し、 SAML_IDENTITY_PROVIDER パラメーターに含まれる情報を置き換えることを目的としています。

SnowflakeでIdPを指定するには、2つのオプションがあります。

  1. システム関数を使用して、既存の IdP 情報をセキュリティ統合に移行します。

  2. IdP 情報が含まれるようにセキュリティ統合を作成または置き換えます。

オプション1は、 SAML_IDENTITY_PROVIDER パラメーターに基づいてSnowflakeへのフェデレーション認証を使用する IdP 設定が すでになされている 場合に推奨されるパスウェイです。

アカウントに SAML_IDENTITY_PROVIDER パラメーターが ない 場合、オプション2が推奨されるパスウェイです。

オプション1:システム関数を使用する

システム関数 SYSTEM$MIGRATE_SAML_IDP_REGISTRATION を使用して、既存の IdP 構成を SAML_IDENTITY_PROVIDER パラメーターからセキュリティ統合に移行できます。

このシステム関数を実行した後は、 SAML_IDENTITY_PROVIDER パラメーターを SAML SSO の構成や管理に使用しないでください。代わりに、 SAML2セキュリティ統合の管理 に示すように、 SAML2 セキュリティ統合を管理します。

注釈

必要に応じて、システム関数を実行する前に、次のステートメントを実行して SAML_IDENTITY_PROVIDER 構成を確認できます。

show parameters like 'SAML_IDENTITY_PROVIDER' in account;

オプション2: セキュリティ統合を作成するか置き換える

統合認証を使用するようにSnowflakeで既存の IdP を構成しておらず、統合認証用にSnowflakeで IdP を構成する場合は、 CREATE SECURITY INTEGRATION を使用して TYPE = SAML2 でセキュリティ統合を作成します。

TYPE = SAML2 に既存のセキュリティ統合があり、1つ以上のパラメーターを更新する必要がある場合は、 ALTER SECURITY INTEGRATION ステートメントを実行する、 または セキュリティ統合全体を CREATE OR REPLACE SECURITY INTEGRATION ステートメントに置き換えます。

セキュリティ統合での組織アカウントURLの使用 --- オプション

組織 プレビューに参加していて、対応するSnowflakeアカウントURLをSAML2セキュリティ統合で使用する場合は、次の手順を実行します。

  1. プレビューへの参加リクエストと組織のわかりやすい名前を含むメモを用意して Snowflakeサポート にご連絡ください。Snowflakeサポートがリクエストに対応いたします。

  2. Snowflakeサポートから組織オブジェクトに固有の使用する一意のアカウントURLを受け取った後に、以下に示すようにSAML2セキュリティ統合を更新します。

    -- Update the ACS URL
    
    alter security integration my_integration set SAML2_SNOWFLAKE_ACS_URL = 'https://<friendly_name>.snowflakecomputing.com/fed/login';
    

SAMLアサーションの暗号化

Snowflakeを使用すると、ユーザーが IdP に対して認証に成功した後、組織の IdP が暗号化された SAML2 アサーションをSnowflakeに送信できます。

暗号化された SAML2 アサーションにより、ユーザーはフェデレーション SSO を介してSnowflakeにアクセスしながら、安全に情報を転送できるようになります。お客様は、Snowflakeの公開証明書を使用して SAML アサーションを暗号化できます。顧客 IdP から暗号化されたアサーションを受け取ると、Snowflakeはその秘密鍵で暗号化されたアサーションを復号化します。Snowflakeが、その秘密鍵をエクスポートまたは使用可能にすることはありません。

暗号化された SAML アサーションは、 SAML2 セキュリティ統合に統合されています。既存の SAML2 セキュリティ統合を使用するか、新しい SAML2 セキュリティ統合を作成できます。

暗号化された SAML アサーションを構成して使用する一般的な手順は次のとおりです。

  1. SAML2 セキュリティ統合を作成します。

  2. Snowflakeから公開証明書を PEM 形式でエクスポートします。

  3. 公開証明書を SAML IdP にインポートします。

  4. Snowflakeに接続します。

暗号化された SAML アサーションの手順

以下のステップに従って暗号化された SAML アサーションを構成し、Snowflakeに接続します。

ステップ1: SAML2 セキュリティ統合を作成または移行する

Snowflakeに既存の SAML 設定があり、この機能を使用したい場合は、この SQL ステートメントを実行して、 SAML2 セキュリティ統合に移行できます。このシステム関数の詳細については、 SYSTEM$MIGRATE_SAML_IDP_REGISTRATION をご参照ください。

select system$migrate_saml_idp_registration('<integration_name>', '<issuer>');

それ以外の場合は、次の SQL ステートメントを実行して SAML2 セキュリティ統合を作成します。詳細については、 CREATE SECURITY INTEGRATION をご参照ください。

create security integration my_idp
    type = saml2
    enabled = true
    saml2_issuer = 'https://example.com'
    saml2_sso_url = 'http://myssoprovider.com'
    saml2_provider = 'ADFS'
    saml2_x509_cert='my_x509_cert'
    saml2_sp_initiated_login_page_label = 'my_idp'
    saml2_enable_sp_initiated = false;

ステップ2:Snowflakeから公開証明書をエクスポートする

Snowflakeから公開証明書をエクスポートするには、以下の手順を実行します。

  1. SAML2 統合で次の SQL ステートメントを実行して、 SAML2_SNOWFLAKE_X509_CERT 値(行7内)を取得します。

    desc security integration my_idp;
    
  2. 値をPEM形式で保存します。必ず BEGIN CERTIFICATE および END CERTIFICATE 区切り文字を含めてください。以下は、PEM形式の切り捨てられた証明書の代表的な例です。

    -----BEGIN CERTIFICATE-----
    MIICrTCCAZWgAwIBAgIJAOF6EPk93wjlMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNV
    BAMMC1RFU1RBQ0NPVU5UMB4XDTIwMDE....
    -----END CERTIFICATE-----
    

証明書署名要求(CSR)を作成する --- オプション

デフォルトでは、Snowflakeの SAML2 セキュリティ統合は、 SAML IdP の自己署名証明書を使用して SAML アサーションを暗号化します。組織が認証機関(CA)から発行された証明書を使用する必要がある場合は、以下の手順を実行します。

  1. システム関数 SYSTEM$GENERATE_SAML_CSR を使用して、Snowflakeから証明書署名要求(CSR)を生成します。

  2. 証明書を発行できるように、選択したCAにCSRを提供します。

  3. 次の ALTER ステートメントを使用し、 BEGIN CERTIFICATE および END CERTIFICATE 区切り文字なしで、Base64でエンコードされた証明書を SAML 統合にアップロードします。

    alter security integration my_idp set SAML2_SNOWFLAKE_X509_CERT = 'AX2bv...';
    

そうすると、関数によって生成されたCSRを使用して、その秘密キーの証明書をSnowflakeにアップロードできます。

ステップ3: SAML IdP を構成する

保存した証明書を PEM 形式で組織の IdP に SAML 暗号化証明書としてアップロードします。

Snowflakeサービスプロバイダー(SP)の SAML アサーションを暗号化するように IdP を構成します。

ステップ4:Snowflakeに接続する

IdP を構成した後、次のタスクを完了します。

  • IdP の設定を確認します。

  • Snowflakeでユーザーを作成し、ロールを割り当てます。

  • ユーザーがSnowflakeに接続する際、介する SSO が IdP から開始されるのか、 SP から開始されるのかを決定します。

    • IdPで開始されたSSOの場合は、Snowflakeへのアクセス方法(例: 内部ポータルへのアクセス)をユーザーに通知します。

    • SP で開始された SSO (つまり、ユーザーがSnowflakeにアクセスしてから顧客 IdP にリダイレクトされる)の場合、アカウントパラメーター SSO_LOGIN_PAGE をtrueに設定して、Snowflakeで開始された SSO を有効にします。ACCOUNTADMINロールを持つユーザーとして、次のステートメントを実行します。

      use role accountadmin;
      
      alter account set SSO_LOGIN_PAGE = true;
      
  • フェデレーション認証の管理/使用 に示すようにSnowflakeにアクセスします。

署名済みの SAML リクエスト

署名済みの SAML リクエストをSnowflakeから IdP に送信して、Snowflakeが正規のサービスプロバイダーであることを確認できます。Snowflakeを検証するには、 SAML2 セキュリティ統合に保存されている証明書を使用するように IdP を設定して、 SAML リクエストがSnowflakeを偽装しているサードパーティではなく、Snowflakeから発信されるようにします。

署名済みのSAMLリクエストは、SAML2セキュリティ統合に統合されています。 type = saml2 の既存のセキュリティ統合を使用するか、新しいセキュリティ統合を作成して、署名済みの SAML リクエストを使用します。

IdPが署名済みのSAMLリクエストの受け入れをサポートしている場合、署名済みのSAMLリクエストを構成して使用するための一般的な手順は次のとおりです。

  1. セキュリティ統合を作成または更新します。

  2. SAML2 セキュリティ統合を更新します。

  3. 署名済みの SAML リクエストを受け入れるように IdP を構成します。

  4. Snowflakeに接続します。

署名済みの SAML リクエスト手順

以下のステップに従って署名済みの SAML アサーションを構成し、Snowflakeに接続します。

ステップ1: SAML2 セキュリティ統合を作成または移行する

Snowflakeに既存の SAML 設定があり、この機能を使用したい場合は、この SQL ステートメントを実行して、 SAML2 セキュリティ統合に移行できます。このシステム関数の詳細については、 SYSTEM$MIGRATE_SAML_IDP_REGISTRATION をご参照ください。

select system$migrate_saml_idp_registration('<integration_name>', '<issuer>');

それ以外の場合は、次の SQL ステートメントを実行して SAML2 セキュリティ統合を作成します。詳細については、 CREATE SECURITY INTEGRATION をご参照ください。

create security integration my_idp
    type = saml2
    enabled = true
    saml2_issuer = 'https://example.com'
    saml2_sso_url = 'http://myssoprovider.com'
    saml2_provider = 'ADFS'
    saml2_x509_cert='my_x509_cert'
    saml2_sp_initiated_login_page_label = 'my_idp'
    saml2_enable_sp_initiated = false;

ステップ2: SAML2 セキュリティ統合を更新する

Snowflakeで署名済みのリクエストを使用するには、Snowflakeで以下を実行する必要があります。

  • セキュリティ統合を有効にしてリクエストに署名します。

  • 次のステップで使用するために saml2_snowflake_x509_cert の値を保存します。

アカウント管理者(つまり、ACCOUNTADMINロールを持つユーザー)として、次のステートメントを実行します。

-- update the security integration

alter security integration my_idp set SAML2_SIGN_REQUEST = true;

-- view the updated security integration, save the certificate value in row 7.

desc security integration my_idp;

ステップ3:署名済みのリクエストを受け入れるように IdP を設定する

Snowflakeから署名済みのリクエストを受け入れるようにIdPを設定します。構成中、 IdP は証明書を saml2_snowflake_x509_cert パラメーターに保存する必要があります。IdPはこの証明書を使用して、SAMLリクエストがSnowflakeからのものであることを確認します。

注釈

Snowflakeは IdP の構成を担当しません。IdPの構成については、内部セキュリティ管理者にご相談ください。

ステップ4:Snowflakeに接続する

IdP を構成した後、次のタスクを完了します。

  • IdP の設定を確認します。

  • Snowflakeでユーザーを作成し、ロールを割り当てます。

  • ユーザーがSnowflakeに接続する際、介する SSO が IdP から開始されるのか、 SP から開始されるのかを決定します。

    • IdPで開始されたSSOの場合は、Snowflakeへのアクセス方法(例: 内部ポータルへのアクセス)をユーザーに通知します。

    • SP で開始された SSO (つまり、ユーザーがSnowflakeにアクセスしてから顧客 IdP にリダイレクトされる)の場合、アカウントパラメーター SSO_LOGIN_PAGE をtrueに設定して、Snowflakeで開始された SSO を有効にします。ACCOUNTADMINロールを持つユーザーとして、次のステートメントを実行します。

      use role accountadmin;
      
      alter account set SSO_LOGIN_PAGE = true;
      
  • フェデレーション認証の管理/使用 に示すようにSnowflakeにアクセスします。

SAML NameID 形式

Snowflakeでは、Snowflakeから IdP に送信される、送信 SAML 認証リクエストで要求される SAML NameID フォーマットを管理者(つまり、 ACCOUNTADMIN ロールを持つユーザー)が指定できるようにします。

SAML NameID 形式を指定すると、Snowflakeで IdP からの SAML アサーションでユーザーの識別属性(つまり、 SAML サブジェクト)の期待値を設定して、Snowflakeへの有効な認証を確認できます。

SAML NameID 形式は、 SAML2 セキュリティ統合に統合できます。次のいずれかの値を使用して、セキュリティ統合で 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

SAML NameID 形式が指定されていない場合、Snowflakeは次の値を使用します。

urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

IdP が SAML アサーションで SAML NameID の指定をサポートしている場合、 NameID を構成して指定する一般的な手順は次のとおりです。

  1. SnowflakeでSAML2セキュリティ統合を作成または移行します。

  2. NameId をサポートするように、セキュリティ統合を更新します。

  3. IdP を構成して、 SAML NameID 形式を指定します。

  4. Snowflakeに接続します。

SAML NameID 構成手順

以下のステップに従って SAML NameID 形式を構成し、Snowflakeに接続します。

ステップ1: SAML2 セキュリティ統合を作成または移行する

Snowflakeに既存の SAML 設定があり、この機能を使用したい場合は、この SQL ステートメントを実行して、 SAML2 セキュリティ統合に移行できます。このシステム関数の詳細については、 SYSTEM$MIGRATE_SAML_IDP_REGISTRATION をご参照ください。

select system$migrate_saml_idp_registration('<integration_name>', '<issuer>');

それ以外の場合は、次の SQL ステートメントを実行して SAML2 セキュリティ統合を作成します。詳細については、 CREATE SECURITY INTEGRATION をご参照ください。

create security integration my_idp
    type = saml2
    enabled = true
    saml2_issuer = 'https://example.com'
    saml2_sso_url = 'http://myssoprovider.com'
    saml2_provider = 'ADFS'
    saml2_x509_cert='my_x509_cert'
    saml2_sp_initiated_login_page_label = 'my_idp'
    saml2_enable_sp_initiated = false;

ステップ2: NameID の SAML2 セキュリティ統合を更新する

SAML NameID 形式を指定するには、アカウント管理者(つまり、 ACCOUNTADMIN ロールを持つユーザー)として、次のステートメントを実行します。

-- update the security integration

alter security integration my_idp set SAML2_REQUESTED_NAMEID_FORMAT = '<string_literal>';

-- view the updated security integration

desc security integration my_idp;

ステップ3: IdP を構成して、 NameID を指定する

SAML アサーションで SAML NameID 形式を指定するように IdP を構成します。

注釈

Snowflakeは IdP の構成を担当しません。IdPの構成については、内部セキュリティ管理者にご相談ください。

ステップ4:Snowflakeに接続する

IdP を構成した後、次のタスクを完了します。

  • IdP の設定を確認します。

  • Snowflakeでユーザーを作成し、ロールを割り当てます。

  • ユーザーがSnowflakeに接続する際、介する SSO が IdP から開始されるのか、 SP から開始されるのかを決定します。

    • IdPで開始されたSSOの場合は、Snowflakeへのアクセス方法(例: 内部ポータルへのアクセス)をユーザーに通知します。

    • SP で開始された SSO (つまり、ユーザーがSnowflakeにアクセスしてから顧客 IdP にリダイレクトされる)の場合、アカウントパラメーター SSO_LOGIN_PAGE をtrueに設定して、Snowflakeで開始された SSO を有効にします。ACCOUNTADMINロールを持つユーザーとして、次のステートメントを実行します。

      use role accountadmin;
      
      alter account set SSO_LOGIN_PAGE = true;
      
  • フェデレーション認証の管理/使用 に示すようにSnowflakeにアクセスします。

SAML2セキュリティ統合メタデータのエクスポート

Snowflakeは、IdPでのSnowflakeサービスプロバイダーの設定を容易にするために、SAML2セキュリティ統合用のSAML 2.0メタデータを提供します。

SAML 2.0メタデータは SAML2_SNOWFLAKE_METADATA プロパティに含まれており、SAML2 セキュリティ統合で DESCRIBE INTEGRATION コマンドを実行して取得できます。例:

desc security integration my_idp;

------------------------------------+---------------+-----------------------------------------------------------------------------+------------------+
              property              | property_type |                               property_value                                | property_default |
------------------------------------+---------------+-----------------------------------------------------------------------------+------------------+
SAML2_X509_CERT                     | String        | MIICrTCCAZWgAwIBAgIJAOF6EPk93wj...                                          |                  |
SAML2_PROVIDER                      | String        | OKTA                                                                        |                  |
SAML2_ENABLE_SP_INITIATED           | Boolean       | false                                                                       | false            |
SAML2_SP_INITIATED_LOGIN_PAGE_LABEL | String        | my_idp                                                                      |                  |
SAML2_SSO_URL                       | String        | https://okta.com/sso                                                        |                  |
SAML2_ISSUER                        | String        | https://okta.com                                                            |                  |
SAML2_SNOWFLAKE_X509_CERT           | String        | MIICrTCCAZWgAwIBAgIJAOF6EPk93wj...                                          |                  |
SAML2_REQUESTED_NAMEID_FORMAT       | String        | urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress                      |                  |
SAML2_SNOWFLAKE_ACS_URL             | String        | https://example.snowflakecomputing.com/fed/login                            |                  |
SAML2_SNOWFLAKE_ISSUER_URL          | String        | https://example.snowflakecomputing.com                                      |                  |
SAML2_SNOWFLAKE_METADATA            | String        | <md:EntityDescriptor entityID="https://example.snowflakecomputing.com"> ... |                  |
SAML2_DIGEST_METHODS_USED           | String        | http://www.w3.org/2001/04/xmlenc#sha256                                     |                  |
SAML2_SIGNATURE_METHODS_USED        | String        | http://www.w3.org/2001/04/xmldsig-more#rsa-sha256                           |                  |
------------------------------------+---------------+-----------------------------------------------------------------------------+------------------+

代表的な例として、 SAML2_SNOWFLAKE_METADATA プロパティからフォーマットされた SAML 2.0 XML メタデータを以下に示します。 signing および encryptionX509certificate 値は切り捨てられることに注意してください。

<md:EntityDescriptor xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" entityID="https://example.snowflakecomputing.com">
 <md:SPSSODescriptor AuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
  <md:KeyDescriptor use="signing">
    <dsig:KeyInfo>
      <dsig:X509Data>
        <dsig:X509Certificate>MIICrTCCAZWgAwIBAgIJAOF6EPk93wj... </dsig:X509Certificate>
      </dsig:X509Data>
    </dsig:KeyInfo>
  </md:KeyDescriptor>
  <md:KeyDescriptor use="encryption">
    <dsig:KeyInfo>
      <dsig:X509Data>
        <dsig:X509Certificate>MIICrTCCAZWgAwIBAgIJAOF6EPk93wj... </dsig:X509Certificate>
      </dsig:X509Data>
    </dsig:KeyInfo>
  </md:KeyDescriptor>
  <md:AssertionConsumerService index="0" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://example.snowflakecomputing.com/fed/login" />
 </md:SPSSODescriptor>
</md:EntityDescriptor>

参考までに、次のテーブルは、XMLメタデータタグをSnowflake SAML2セキュリティ統合プロパティにマップしています。

XML 出力

SAML2 セキュリティ統合プロパティ

entityID

SAML2_SNOWFLAKE_ISSUER_URL

AuthnRequestsSigned

SAML2_SIGN_REQUEST

署名証明書

SAML2_SNOWFLAKE_X509_CERT

暗号化証明書

SAML2_SNOWFLAKE_X509_CERT

アサーションコンシューマーサービス URL

SAML2_SNOWFLAKE_ACS_URL

Snowflakeへの再認証の強制

Snowflakeは、SAML2セキュリティ統合の構成をサポートしており、初期認証SSOフロー中、または現在のSnowflakeセッションの有効期限が切れたときに、認証ユーザーはSnowflakeにアクセスするために再認証する必要があります。

Snowflake SAML2 セキュリティ統合でこの機能を有効にすると、SnowflakeはSnowflakeから IdP への送信 SAML リクエストで SAML 仕様 ForceAuthn パラメータを True に設定します。IdP が ForceAuthn パラメータを True に設定したリクエストを受信すると、IdP はSnowflakeにリクエストを送信します。その結果、ユーザーはSnowflakeにアクセスするために認証情報(ユーザー名、パスワードなど)を再入力するよう求められます。

この機能は、再認証を通じてセキュリティを強化します。さらに、再認証プロンプトを使用すると、 SSO を開始してSnowflakeにアクセスするために使用したものとは異なる認証情報のセットをユーザーは入力できます。

重要

この機能を実装する前に、 IdP が SSO 認証フロー中のIDの切り替えをサポートしていることを確認してください。

この機能がSnowflakeに実装されており、IdP が最初の SSO 認証フロー中にIDの切り替えをサポートしていない場合、ユーザーは再認証プロンプトで提供される異なる認証情報のセットを使用してSnowflakeにアクセスできない可能性があります。

Snowflakeプロシージャへの再認証の強制

以下の手順に従って、Snowflakeにアクセスするための強制的な再認証を構成します。

ステップ1: SAML2 セキュリティ統合を作成または移行する

Snowflakeに既存の SAML 設定があり、この機能を使用したい場合は、この SQL ステートメントを実行して、 SAML2 セキュリティ統合に移行できます。このシステム関数の詳細については、 SYSTEM$MIGRATE_SAML_IDP_REGISTRATION をご参照ください。

select system$migrate_saml_idp_registration('<integration_name>', '<issuer>');

それ以外の場合は、次の SQL ステートメントを実行して SAML2 セキュリティ統合を作成します。詳細については、 CREATE SECURITY INTEGRATION をご参照ください。

create security integration my_idp
    type = saml2
    enabled = true
    saml2_issuer = 'https://example.com'
    saml2_sso_url = 'http://myssoprovider.com'
    saml2_provider = 'ADFS'
    saml2_x509_cert='my_x509_cert'
    saml2_sp_initiated_login_page_label = 'my_idp'
    saml2_enable_sp_initiated = false;

ステップ2:再認証を強制するために SAML2 セキュリティ統合を更新する

Snowflakeにアクセスするために強制的な再認証をサポートするように既存の SAML2 セキュリティ統合を更新するには、 ALTER SECURITY INTEGRATION コマンドを実行します。 DESCRIBE INTEGRATION ステートメントを使用して、セキュリティ統合設定を確認できます。

-- update the security integration
alter security integration my_idp set SAML2_FORCE_AUTHN = true;

-- verify the security integration
desc security integration my_idp;

条件:

SAML2_FORCE_AUTHN = TRUE | FALSE

ユーザーが最初の認証フロー中に、Snowflakeにアクセスするために再認証を強制されるかどうかを示すブール値。 TRUE に設定すると、SnowflakeからIDプロバイダーへの送信リクエストで、Snowflakeは ForceAuthn SAML パラメーターを TRUE に設定します。

  • TRUE は、IDプロバイダーとの有効なセッションが存在する場合でも、ユーザーにSnowflakeにアクセスするための再認証を強制します。

  • FALSE は、Snowflakeにアクセスするためにユーザーに再認証を強制することはありません。

デフォルト: FALSE

SAML2セキュリティ統合の管理

ALTER SECURITY INTEGRATION コマンドを使用して、 SAML2 セキュリティ統合を管理できます。例:

  • X.509証明書を既存の SAML2 セキュリティ統合に文字列としてアップロードします。

    alter security integration my_idp set SAML2_SNOWFLAKE_X509_CERT = 'AX2bv...';
    
  • 既存の秘密鍵と自己署名証明書を上書きし、新しい秘密鍵と自己署名証明書を生成します。

    alter security integration my_idp refresh SAML2_SNOWFLAKE_PRIVATE_KEY;
    
  • 署名済みのリクエストを有効にします。

    alter security integration my_idp set SAML2_SIGN_REQUEST = true;
    
  • NameID 形式を指定します。

    alter security integration my_idp set SAML2_REQUESTED_NAMEID_FORMAT = 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified';
    
  • Snowflakeへの強制再認証を設定または設定解除します。

    -- update an existing security integration to enable forced re-authentication
    alter security integration my_idp set SAML2_FORCE_AUTHN = true;
    
    -- unset forced re-authentication
    alter security integration my_idp unset SAML2_FORCE_AUTHN;
    

詳細については、 ALTER SECURITY INTEGRATION をご参照ください。