Snowpipe Streaming 구성

Snowpipe Streaming 속성

profile.json 파일에서 API 연결 설정을 구성합니다. 속성은 이 항목에 설명되어 있습니다.

Java 예시 (GitHub)에 표시된 것처럼, PROFILE_PATH 변수에 대한 입력값으로 파일 경로를 지정하여 profile.json 에서 설정을 로딩할 수 있습니다.

필수 속성

authorization_type

사용자에 대한 인증 및 권한 부여 메서드를 구성합니다. 다음 메서드 중 하나를 사용할 수 있습니다.

  • JWT: JWT(JSON Web Token)를 사용한 키 페어 인증. 이것이 기본 메서드입니다. authorization_type 이 구성되지 않은 경우 기본 메서드 JWT 가 사용됩니다. 키 페어 인증을 위해 다음 private_key 를 구성합니다.

    • private_key 사용자 인증을 위한 개인 키입니다. 키만 포함되어야 하며 헤더 또는 푸터는 포함되지 않아야 합니다. 키가 여러 라인으로 분할되는 경우에는 줄 바꿈을 제거합니다.

      암호화되지 않은 키를 제공하거나 암호화된 키를 제공하고 snowflake.private.key.passphrase 매개 변수를 제공하여 Snowflake가 키의 암호를 해독할 수 있도록 할 수 있습니다. snowflake.private.key 매개 변수 값이 암호화된 경우에만 이 매개 변수를 사용하십시오.

  • OAuth: Snowflake OAuth입니다. 이 옵션은 Snowflake Ingest SDK 버전 2.0.3 이상에서만 사용할 수 있습니다. profile.json 파일에서 Snowflake OAuth에 대해 다음 매개 변수를 구성합니다.

    • oauth_client_id: OAuth 통합의 클라이언트 ID입니다.

    • oauth_client_secret: OAuth 통합의 클라이언트 시크릿입니다.

    • oauth_refresh_token: OAuth 통합의 유효한 새로 고침 토큰입니다.

url

Snowflake 계정에 액세스하기 위한 URL입니다. 이 URL에는 반드시 계정 식별자 가 포함되어야 합니다. 프로토콜(https://) 및 포트 번호는 선택 사항입니다.

Snowflake Ingest SDK를 이미 사용 중이고 profile.json 파일에서 host, scheme, port 속성을 설정한 경우에는 url 이 필요하지 않습니다.

user

Snowflake 계정의 사용자 로그인 이름입니다.

선택적 속성

snowflake.private.key.passphrase

키가 암호화될 때 개인 키를 암호 해독하기 위한 암호 구문입니다. 자세한 내용은 이 항목의 키 페어 인증 및 키 순환 사용하기 를 참조하십시오.

role

Snowflake에 연결한 후 세션에 사용할 액세스 제어 역할입니다.

Snowflake Ingest SDK 버전 2.0.3 이상에서는 role 속성이 선택 사항입니다. 이전 Ingest SDK 버전에는 필수 사항입니다.

인증 및 권한 부여

Snowflake OAuth 사용하기

Snowflake Ingest SDK 버전 2.0.3 이상 또는 Kafka용 Snowflake 커넥터 버전 2.1.2 이상에서는 Snowflake OAuth를 권한 부여 방법으로 사용할 수 있습니다.

워크플로 에 따라 Snowflake OAuth 통합을 생성하고 OAuth 엔드포인트를 호출하여 권한 부여 코드를 요청하고 액세스 토큰을 새로 고칩니다. 토큰 요청의 응답에는 oauth_refresh_token 이 포함됩니다. Snowflake OAuth 통합이 생성된 후 SYSTEM$SHOW_OAUTH_CLIENT_SECRETS 함수를 실행하여 oauth_client_idoauth_client_secret 를 얻습니다.

Snowflake OAuth를 활성화하려면 profile.json 파일에서 authorization_typeOAuth 로 설정하고 위에서 얻은 매개 변수로 oauth_refresh_token, oauth_client_idoauth_client_secret 필드를 완성하십시오.

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

API 호출은 JWT(JSON Web Token)를 사용한 키 페어 인증에 의존합니다. JWTs는 RSA 암호화가 적용된 공용/개인 키 페어를 사용하여 서명됩니다. 이 인증 메서드에는 2048비트(최소) RSA 키 페어가 필요합니다. OpenSSL을 사용하여 공개-개인 키 페어를 생성합니다. 공개 키는 속성 파일에 정의된 Snowflake 사용자에게 할당됩니다.

키 페어 순환 에서 설명하는 키 페어 인증 지침에 따라 작업을 완료하십시오. 전체 개인 키를 복사하여 속성 파일의 snowflake.private.key 필드에 붙여넣습니다. 파일을 저장합니다.

지문 생성 및 JWT 토큰 생성의 예는 Java 예제 를 참조하십시오.

다음으로, 이 항목의 시크릿 외부화하기 를 위한 권장 사항을 평가합니다.

시크릿 외부화하기

Snowflake는 개인 키와 같은 시크릿을 외부화하고 암호화된 형태로 저장하거나 AWS Key Management Service(KMS), Microsoft Azure Key Vault 또는 HashiCorp Vault와 같은 키 관리 서비스에 저장할 것을 적극 권장합니다.

자세한 내용은 이 서비스 에 대한 Confluent 설명을 참조하십시오.