연결 인증하기

Snowflake에 인증하기 위해서는 다음 옵션 중 1개를 사용할 수 있습니다.

웹 브라우저를 통한 Single Sign-On(SSO) 사용하기

Snowflake에서 Single Sign-On(SSO) 을 사용하도록 구성한 경우, 브라우저 기반 SSO를 사용하여 인증하도록 클라이언트 애플리케이션을 구성할 수 있습니다.

애플리케이션 코드에서:

  1. authenticator 옵션을 EXTERNALBROWSER 로 설정합니다.

  2. 연결하려면 connect 메서드가 아닌 connectAsync 메서드를 호출합니다.

예:

// Use a browser to authenticate via SSO.
var connection = snowflake.createConnection({
  ...,
  authenticator: "EXTERNALBROWSER"
});
// Establish a connection. Use connectAsync, rather than connect.
connection.connectAsync(
  function (err, conn)
  {
    ... // Handle any errors.
  }
).then(() =>
{
  // Execute SQL statements.
  var statement = connection.execute({...});
});
Copy

웹 기반 SSO를 사용한 인증에 대한 자세한 내용은 브라우저 기반 SSO 를 참조하십시오.

Okta를 통한 기본 SSO 사용하기

Okta를 통해 Snowflake에서 Single Sign-On(SSO)를 사용하도록 구성 한 경우, Okta를 통해 기본 SSO 인증을 사용하도록 클라이언트 애플리케이션을 구성할 수 있습니다.

애플리케이션 코드에서:

  1. 다음 옵션을 설정합니다.

    • authenticator 옵션을 Okta 계정(예: https://<okta_계정_이름>.okta.com)에 대한 Okta URL 엔드포인트로 설정합니다.

    • usernamepassword 옵션을 ID 공급자(IdP)의 사용자 이름 및 비밀번호로 설정합니다.

  2. 연결하려면 connect 메서드가 아닌 connectAsync 메서드를 호출합니다.

예:

// Use native SSO authentication through Okta.
var connection = snowflake.createConnection({
  ...,
  username: '<user_name_for_okta>',
  password: '<password_for_okta>',
  authenticator: "https://myaccount.okta.com"
});

// Establish a connection.
connection.connectAsync(
  function (err, conn)
  {
    ... // Handle any errors.
  }
);

// Execute SQL statements.
var statement = connection.execute({...});
Copy

Okta를 통한 기본 SSO 인증 사용과 관련한 자세한 내용은 기본 SSO — Okta만 해당 을 참조하십시오.

키 페어 인증 및 키 페어 순환 사용하기

드라이버는 키 페어 인증 및 키 순환을 지원합니다. 키 페어 인증 및 키 순환을 사용하려면 아래 단계를 따르십시오.

  1. 키 페어 인증 및 키 페어 순환 에서의 설명과 같이 키 페어 인증을 구성합니다.

  2. 애플리케이션 코드에서:

    1. authenticator 옵션을 SNOWFLAKE_JWT 로 설정합니다.

    2. 개인 키를 사용하여 다음 방법 중 1개로 인증합니다.

      • privateKey 옵션을 개인 키로 설정합니다.

      • privateKeyPath 옵션을 개인 키 파일의 경로로 설정합니다.

        파일이 암호화된 경우에는 privateKeyPass 옵션도 개인 키의 암호를 해독하기 위한 암호 구문으로 설정해야 합니다.

다음 예에서는 파일에서 개인 키를 로드하여 privateKey 옵션을 개인 키로 설정합니다.

// Read the private key file from the filesystem.
var crypto = require('crypto');
var fs = require('fs');
var privateKeyFile = fs.readFileSync('<path_to_private_key_file>/rsa_key.p8');

// Get the private key from the file as an object.
const privateKeyObject = crypto.createPrivateKey({
  key: privateKeyFile,
  format: 'pem',
  passphrase: 'passphrase'
});

// Extract the private key from the object as a PEM-encoded string.
var privateKey = privateKeyObject.export({
  format: 'pem',
  type: 'pkcs8'
});

// Use the private key for authentication.
var connection = snowflake.createConnection({
  ...
  authenticator: "SNOWFLAKE_JWT",
  privateKey: privateKey
});

// Establish a connection.
connection.connect(
  function (err, conn)
  {
    ... // Handle any errors.
  }
);

// Execute SQL statements.
var statement = connection.execute({...});
Copy

다음 예에서는 privateKeyPath 옵션을 암호화된 개인 키 파일로 설정하고 privateKeyPass 옵션을 개인 키의 암호를 해독하기 위해 사용되는 암호 구문으로 설정합니다.

// Use an encrypted private key file for authentication.
// Specify the passphrase for decrypting the key.
var connection = snowflake.createConnection({
  ...
  authenticator: "SNOWFLAKE_JWT",
  privateKeyPath: "<path-to-privatekey>/privatekey.p8",
  privateKeyPass: '<passphrase_to_decrypt_the_private_key>'
});

// Establish a connection.
connection.connect(
  function (err, conn)
  {
    ... // Handle any errors.
  }
);

// Execute SQL statements.
var statement = connection.execute({...});
Copy

OAuth 사용하기

OAuth를 사용하려 연결하려면, authenticator 옵션을 OAUTH 로 설정하고 token 옵션을 OAuth 액세스 토큰으로 설정합니다. 예:

// Use OAuth for authentication.
var connection = snowflake.createConnection({
  ...
  authenticator: "OAUTH",
  token: "<your_oauth_token>"
});

// Establish a connection.
connection.connect(
  function (err, conn)
  {
    ... // Handle any errors.
  }
);

// Execute SQL statements.
var statement = connection.execute({...});
Copy

자세한 내용은 클라이언트, 드라이버 및 커넥터 섹션을 참조하십시오.