Snowflake 연결 구성
type: snowflake는 Snowflake 계정과 데이터베이스에 연결합니다. 계정 식별자에는 전체 HTTPS URL 대신 accountIdentifier 값을 사용합니다. 역할, 데이터베이스, 스키마와 웨어하우스는 실제로 존재하고 해당 사용자와 역할에 필요한 권한이 있어야 합니다.
API의 인증 분기는 externalOauth, keyPair, basic입니다. basic은 기존 사용자 이름과 비밀번호 방식이며 운영 환경의 인증 정책과 Snowflake 연결 조건을 확인합니다. UI의 다른 인증 옵션을 이 API의 새 type 값으로 만들어 보내지 않습니다.
생성 입력의 필드
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 분기를 구분하는 type 값입니다. 허용값: snowflake. | snowflake |
schema | string | 선택 | 연결 후 지정 데이터베이스에서 사용할 기본 스키마입니다. 생략하면 빈 문자열입니다. 기본 역할이 접근할 권한을 가진 기존 스키마를 지정합니다. | myschema |
database | string | 선택 | 연결 후 사용할 기본 데이터베이스입니다. 생략하면 빈 문자열입니다. 기본 역할이 접근할 권한을 가진 기존 데이터베이스를 지정합니다. | mydatabase |
role | string | 선택 | 드라이버가 Snowflake 세션을 시작할 때 선택할 기본 접근 제어 역할입니다. 생략하면 이 설정으로 역할을 선택하지 않습니다. 기존 역할이 해당 사용자에게 이미 할당되어 있어야 하며, 할당되지 않은 역할은 세션 시작에 사용하지 않습니다. | myrole |
accountIdentifier | string | 필수 | 조직 안과 Snowflake의 클라우드 및 리전 전체에서 계정을 고유하게 식별하는 값입니다. 계정 URL은 <account_identifier>.snowflakecomputing.com 형식입니다. 예: https://acme-test_aws_us_east_2.snowflakecomputing.com. | acme-test_aws_us_east_2 |
jdbcProperties | map<string, string> | 선택 | JDBC 드라이버에 전달할 일반 속성 맵입니다. 추가 속성은 해당 드라이버의 계약을 따릅니다. 비밀값용 암호화 속성이 아니므로 비밀번호나 키를 이 맵에 넣지 않습니다. | |
warehouse | string | 선택 | 연결 후 사용할 가상 웨어하우스입니다. 생략하면 빈 문자열입니다. 기본 역할이 접근할 권한을 가진 기존 웨어하우스를 지정합니다. | mywarehouse |
authenticationMode | SnowflakeAuthenticationMode | 필수 | Snowflake 데이터베이스의 인증 방식입니다. |
authenticationMode의 구조
분기 externalOauth
External OAuth 보안 통합을 사용하여 Snowflake에 연결하고 인증합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 분기를 구분하는 type 값입니다. 허용값: externalOauth. | externalOauth |
분기 keyPair
키 쌍을 사용하여 Snowflake에 연결하고 인증합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 분기를 구분하는 type 값입니다. 허용값: keyPair. | keyPair |
privateKey | EncryptedProperty | 필수 | 조회 시에는 암호화된 값 대신 비밀 이름을 반환합니다. 쓸 때 평문 값을 전달하면 암호화하여 저장합니다. 비밀 이름을 전달하면 해당 속성의 기존 비밀 이름과 같아야 하며 기존 암호화 값을 유지합니다. | |
user | string | 필수 |
privateKey의 구조
입력과 조회에서 사용하는 값의 차이 및 두 분기의 전체 구조는 암호화 속성을 따릅니다.
분기 basic
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 분기를 구분하는 type 값입니다. 허용값: basic. | basic |
password | EncryptedProperty | 필수 | 조회 시에는 암호화된 값 대신 비밀 이름을 반환합니다. 쓸 때 평문 값을 전달하면 암호화하여 저장합니다. 비밀 이름을 전달하면 해당 속성의 기존 비밀 이름과 같아야 하며 기존 암호화 값을 유지합니다. | |
username | string | 필수 |
password의 구조
입력과 조회에서 사용하는 값의 차이 및 두 분기의 전체 구조는 암호화 속성을 따릅니다.
External OAuth의 생성 입력과 조회 결과
External OAuth 연결을 생성할 때의 authenticationMode는 다음 형태입니다.
{"type": "externalOauth"}
조회 결과에는 이 인증 방식에 대한 다음 필드가 추가됩니다. 생성 입력에 조회용 issuerUrl이나 subject를 임의로 채우지 않습니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
audience | string | 필수 | 액세스 토큰의 수신 대상을 식별하는 URI 문자열입니다. | https://example.east-us-1.azure.snowflakecomputing.com |
issuerUrl | string | 필수 | 액세스 토큰 발급 주체를 식별하는 URI 문자열입니다. | https://pltroidcpublicexample.blob.store.com/foundry |
subject | string | 필수 | 외부 시스템에 연결하는 Connection의 RID입니다. | ri.magritte..source.c078b71b-92f9-41b6-b0df-3760f411120b |
필드 값 예시
다음 값은 지정한 필드에 넣는 가상 입력 구조입니다. 전체 연결 생성 요청과 구분하고, 실제 호스트와 역할, 자격 증명 및 드라이버가 지원하는 속성으로 바꿉니다.
snowflake.jdbcProperties
{
"propertyName1": "propertyValue1",
"propertyName2": "propertyValue2"
}