Databricks 연결 구성
type: databricks는 작업 공간의 호스트 이름과 컴퓨트 리소스의 HTTP Path로 연결합니다. 인증에는 워크로드 신원 페더레이션, OAuth M2M, 개인 액세스 토큰 또는 기존 사용자 이름과 비밀번호 방식을 사용합니다.
워크로드 신원 페더레이션의 JSON 구분자 철자는 workflowIdentityFederation입니다. 서비스 주체 ID를 제공하면 서비스 주체 페더레이션 정책을, 생략하면 계정 페더레이션 정책을 사용합니다. 원천 쪽 신뢰 관계와 인증 조건은 Databricks 연결을 따릅니다.
생성 입력의 필드
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 분기를 구분하는 type 값입니다. 허용값: databricks. | databricks |
hostName | string | 필수 | Databricks 작업 공간의 호스트 이름입니다. | west-us-2.azuredatabricks.net |
httpPath | string | 필수 | Databricks 컴퓨트 리소스의 HTTP Path 값입니다. | /sql/1.0/warehouses/1234 |
jdbcProperties | map<string, string> | 선택 | JDBC 드라이버에 전달할 일반 속성 맵입니다. 추가 속성은 해당 드라이버의 계약을 따릅니다. 비밀값용 암호화 속성이 아니므로 비밀번호나 키를 이 맵에 넣지 않습니다. | |
authentication | DatabricksAuthenticationMode | 필수 | 사용할 인증 방식입니다. |
authentication의 구조
분기 workflowIdentityFederation
워크로드 신원 페더레이션으로 서비스 주체에 인증하는 권장 방식입니다. Databricks 비밀값 없이 Foundry 워크로드가 Databricks API를 사용할 수 있습니다. Foundry를 신원 제공자로 신뢰하는 페더레이션 정책이 필요하며 서비스 주체를 지정하는 구성에는 해당 서비스 주체의 페더레이션 정책을 사용합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 분기를 구분하는 type 값입니다. 허용값: workflowIdentityFederation. | workflowIdentityFederation |
audience | string | 필수 | 액세스 토큰의 수신 대상을 식별하는 URI 문자열입니다. 이 Connection이 속한 플랫폼의 기본 호스트 이름을 사용합니다. | https://example.palantirfoundry.com |
servicePrincipalApplicationId | string | 선택 | Databricks 서비스 주체의 ID입니다. 지정하면 서비스 주체 페더레이션 정책으로 JWT를 교환하고, 생략하면 계정 페더레이션 정책으로 교환합니다. |
분기 oauthM2M
OAuth로 서비스 주체에 인증합니다. Databricks에 서비스 주체를 만들고 OAuth 비밀을 생성하여 클라이언트 ID와 비밀값을 준비합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 분기를 구분하는 type 값입니다. 허용값: oauthM2M. | oauthM2M |
clientID | string | 필수 | 서비스 주체의 클라이언트 ID입니다. | |
clientSecret | EncryptedProperty | 필수 | 클라이언트 비밀값입니다. |
clientSecret의 구조
입력과 조회에서 사용하는 값의 차이 및 두 분기의 전체 구조는 암호화 속성을 따릅니다.
분기 personalAccessToken
개인 액세스 토큰으로 사용자 또는 서비스 주체에 인증합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 분기를 구분하는 type 값입니다. 허용값: personalAccessToken. | personalAccessToken |
personalAccessToken | EncryptedProperty | 필수 | 조회 시에는 암호화된 값 대신 비밀 이름을 반환합니다. 쓸 때 평문 값을 전달하면 암호화하여 저장합니다. 비밀 이름을 전달하면 해당 속성의 기존 비밀 이름과 같아야 하며 기존 암호화 값을 유지합니다. |
personalAccessToken의 구조
입력과 조회에서 사용하는 값의 차이 및 두 분기의 전체 구조는 암호화 속성을 따릅니다.
분기 basic
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 분기를 구분하는 type 값입니다. 허용값: basic. | basic |
password | EncryptedProperty | 필수 | 조회 시에는 암호화된 값 대신 비밀 이름을 반환합니다. 쓸 때 평문 값을 전달하면 암호화하여 저장합니다. 비밀 이름을 전달하면 해당 속성의 기존 비밀 이름과 같아야 하며 기존 암호화 값을 유지합니다. | |
username | string | 필수 |
password의 구조
입력과 조회에서 사용하는 값의 차이 및 두 분기의 전체 구조는 암호화 속성을 따릅니다.
페더레이션의 생성 입력과 조회 결과
생성 입력의 workflowIdentityFederation에는 audience가 필수이고 servicePrincipalApplicationId는 선택입니다. audience는 Connection이 속한 플랫폼의 기본 호스트를 나타내는 URI입니다. 조회한 구성에는 다음 두 필드가 추가됩니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
issuerUrl | string | 필수 | 액세스 토큰 발급 주체를 식별하는 URI 문자열입니다. | https://pltroidcpublicexample.s3.us-east-1.amazonaws.com/foundry |
subject | string | 필수 | 외부 시스템에 연결하는 Connection의 RID입니다. | ri.magritte..source.c078b71b-92f9-41b6-b0df-3760f411120b |
필드 값 예시
다음 값은 지정한 필드에 넣는 가상 입력 구조입니다. 전체 연결 생성 요청과 구분하고, 실제 호스트와 역할, 자격 증명 및 드라이버가 지원하는 속성으로 바꿉니다.
databricks.jdbcProperties
{
"propertyName1": "propertyValue1",
"propertyName2": "propertyValue2"
}