연결 인증하기¶
Snowflake에 인증하기 위해서는 다음 옵션 중 1개를 사용할 수 있습니다.
비밀번호 기반 인증. 이 옵션을 사용하려면 연결할 때
password
옵션을 설정합니다.웹 브라우저를 통한 Single Sign-On(SSO).
Okta를 통한 기본 SSO.
웹 브라우저를 통한 Single Sign-On(SSO) 사용하기¶
Snowflake에서 Single Sign-On(SSO) 을 사용하도록 구성한 경우, 브라우저 기반 SSO를 사용하여 인증하도록 클라이언트 애플리케이션을 구성할 수 있습니다.
애플리케이션 코드에서:
authenticator
옵션을EXTERNALBROWSER
로 설정합니다.연결하려면
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({...});
});
웹 기반 SSO를 사용한 인증에 대한 자세한 내용은 브라우저 기반 SSO 를 참조하십시오.
Okta를 통한 기본 SSO 사용하기¶
Okta를 통해 Snowflake에서 Single Sign-On(SSO)를 사용하도록 구성 한 경우, Okta를 통해 기본 SSO 인증을 사용하도록 클라이언트 애플리케이션을 구성할 수 있습니다.
애플리케이션 코드에서:
다음 옵션을 설정합니다.
authenticator
옵션을 Okta 계정(예:https://<okta_계정_이름>.okta.com
)에 대한 Okta URL 엔드포인트로 설정합니다.username
및password
옵션을 ID 공급자(IdP)의 사용자 이름 및 비밀번호로 설정합니다.
연결하려면
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({...});
Okta를 통한 기본 SSO 인증 사용과 관련한 자세한 내용은 기본 SSO — Okta만 해당 을 참조하십시오.
키 페어 인증 및 키 페어 순환 사용하기¶
드라이버는 키 페어 인증 및 키 순환을 지원합니다. 키 페어 인증 및 키 순환을 사용하려면 아래 단계를 따르십시오.
키 페어 인증 및 키 페어 순환 에서의 설명과 같이 키 페어 인증을 구성합니다.
애플리케이션 코드에서:
authenticator
옵션을SNOWFLAKE_JWT
로 설정합니다.개인 키를 사용하여 다음 방법 중 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({...});다음 예에서는
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({...});
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({...});
자세한 내용은 클라이언트, 드라이버 및 커넥터 섹션을 참조하십시오.