InfoGrab DocsInfoGrab Docs

Databricks 자격 증명

요약

이 자격 증명을 사용하여 다음 노드를 인증할 수 있습니다. 이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요. 자격 증명이 인증하는 주체(로그인한 사용자 또는 서비스 주체)에게는 실행하는 작업에 따라 Databricks에서 다음 권한이 필요합니다.

이 자격 증명을 사용하여 다음 노드를 인증할 수 있습니다.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

사전 요구사항#

  • AWS, Azure, GCP 중 하나에 있는 Databricks 워크스페이스.
  • 사용자 로그인 방식 OAuth2의 경우: 계정 콘솔에서 커스텀 OAuth 앱 연결을 만들 수 있는 Databricks 계정 관리자.
  • 서비스 주체 방식 OAuth2의 경우: 서비스 주체를 만들고 해당 서비스 주체의 OAuth 시크릿을 생성할 수 있는 Databricks 관리자.
  • 실행하려는 작업에 대해 인증 주체에게 필요한 권한.

지원되는 인증 방법#

  • 개인 액세스 토큰(Personal access token): 하나의 Databricks 사용자에 연결된 토큰입니다. Databricks 노드에서만 지원됩니다.
  • 사용자 로그인 방식 OAuth2: 브라우저에서 Databricks 계정에 로그인하여 자격 증명을 연결합니다. 작업은 해당 사용자의 권한으로 실행되며 Databricks 감사 로그에 해당 사용자의 ID로 기록됩니다. 각 사용자는 자신의 계정으로 워크플로를 실행하도록 자신만의 자격 증명을 만들 수 있습니다. Databricks는 사람이 지켜보는 대화형 사용에 이 방식을 권장합니다.
  • OAuth2(서비스 주체): n8n이 사용자 상호작용 없이 클라이언트 ID와 시크릿으로 서비스 주체로서 인증합니다. Databricks는 완전 자동화된 프로덕션 워크플로처럼 사람이 지켜보지 않는 시나리오에 이 방식을 권장합니다.

필요한 Databricks 권한#

자격 증명이 인증하는 주체(로그인한 사용자 또는 서비스 주체)에게는 실행하는 작업에 따라 Databricks에서 다음 권한이 필요합니다.

작업 필요한 권한
모든 작업 Workspace access 엔타이틀먼트
Databricks SQL (Execute Query) Databricks SQL access 엔타이틀먼트와 SQL 웨어하우스에 대한 CAN USE
Job (Get, Get Run, Get Run Output) 작업에 대한 CAN VIEW
Job (Run) 작업에 대한 CAN MANAGE RUN
Unity Catalog 데이터 읽기 또는 쓰기 카탈로그에 대한 USE CATALOG, 스키마에 대한 USE SCHEMA, 쿼리하는 테이블 또는 뷰에 대한 SELECT. 함수와 모델에는 EXECUTE도 필요합니다
Genie (Databricks 노드 작업 및 Genie MCP server) Genie 스페이스에 대한 CAN RUN과 해당 SQL 웨어하우스에 대한 CAN USE
Model Serving (Query Endpoint) 서빙 엔드포인트에 대한 CAN QUERY
Unity AI Gateway 모델 서비스 (Databricks Chat Model) 모델 서비스가 있는 카탈로그와 스키마에 대한 USE CATALOG 및 USE SCHEMA, 모델 서비스에 대한 EXECUTE. Databricks는 system.ai 서비스에 대한 EXECUTE를 기본적으로 모든 사용자에게 부여합니다
작업 또는 파이프라인 감시 (Databricks Trigger) 작업 또는 파이프라인에 대한 CAN VIEW
Note

새 서비스 주체는 권한이 없는 상태로 시작합니다

새로 만든 서비스 주체에는 부여된 권한이 없으므로, 첫 작업은 누락된 권한을 알려주는 권한 오류와 함께 실패합니다. 워크플로를 실행하기 전에 위의 권한을 할당하세요.

자세한 내용은 Databricks entitlements, Access control lists, Unity Catalog privileges를 참조하세요.

관련 자료#

이 서비스에 대한 자세한 내용은 Databricks 인증 문서를 참조하세요.

개인 액세스 토큰 사용#

이 자격 증명을 구성하려면 다음이 필요합니다.

  • Host: Databricks 워크스페이스의 URL(예: https://adb-1234567890123456.7.azuredatabricks.net).
  • Access Token: Databricks 워크스페이스에서 생성한 개인 액세스 토큰.

개인 액세스 토큰을 생성하려면:

  1. Databricks 워크스페이스에서 오른쪽 상단의 사용자 이름을 선택한 다음 Settings를 선택합니다.
  2. Developer를 선택합니다.
  3. Access tokens 옆의 Manage를 선택합니다.
  4. Generate new token을 선택합니다.
  5. 선택적으로 토큰을 식별할 Comment를 입력한 다음 Generate를 선택합니다.
  6. 토큰을 복사하여 안전한 곳에 저장합니다. 이 대화 상자를 닫은 후에는 토큰을 다시 볼 수 없습니다.
  7. n8n 자격 증명의 Access Token에 토큰을 입력합니다.
Note

Token format

개인 액세스 토큰은 dapi로 시작합니다. 예: dapi1234abcd5678efgh.

자세한 내용은 Databricks 개인 액세스 토큰 인증을 참조하세요.

사용자 로그인 방식 OAuth2 사용#

이 방식은 Databricks OAuth 사용자-머신(U2M) 흐름을 사용합니다. 브라우저에서 Databricks에 로그인하여 자격 증명을 연결하며, 작업은 사용자의 권한으로 실행됩니다. 공유된 자격 증명은 이를 연결한 사용자로 실행되므로, 서로 다른 ID에는 별도의 자격 증명을 만드세요.

이 자격 증명을 구성하려면 다음이 필요합니다.

  • Host: Databricks 워크스페이스의 URL(예: https://adb-1234567890123456.7.azuredatabricks.net).
  • Client ID와 Client Secret: Databricks 계정 관리자가 계정 콘솔에서 만든 커스텀 OAuth 앱 연결에서 가져옵니다.

이 자격 증명을 설정하는 단계는 세 가지입니다.

  1. Databricks에서 커스텀 OAuth 앱 연결 만들기.
  2. 선택적으로 토큰 수명 구성하기.
  3. n8n에서 자격 증명 설정하기.
Note

계정 콘솔 액세스 필요

커스텀 OAuth 앱 연결을 만들려면 Databricks 계정 콘솔이 필요합니다. Databricks Free Edition에는 계정 콘솔 액세스가 포함되어 있지 않으므로, Free Edition 워크스페이스에서는 대신 서비스 주체 또는 개인 액세스 토큰을 사용하세요.

커스텀 OAuth 앱 연결 만들기#

Databricks 계정 관리자가 다음 단계를 완료해야 합니다.

  1. n8n에서 Databricks 자격 증명을 열고 OAuth Redirect URL을 복사합니다(형식은 https://<your-n8n-instance>/rest/oauth2-credential/callback입니다).
  2. 사용하는 클라우드(AWS, Azure, GCP)의 Databricks 계정 콘솔에 로그인하고 사이드바에서 Settings 아이콘을 선택합니다.
  3. App connections 탭에서 Add connection을 선택합니다.
  4. 연결 이름을 입력합니다(예: n8n).
  5. n8n에서 복사한 OAuth Redirect URL을 리디렉션 URL로 추가합니다.
  6. 연결에 필요한 액세스 범위(scope)를 선택합니다. Databricks 노드와 Databricks Chat Model 노드에는 All APIs가 필요합니다. 연결이 Genie MCP server에만 사용된다면 대신 genie를 선택하세요. 그러면 해당 연결은 다른 Databricks API에 접근할 수 없고, 사용자는 더 좁은 범위의 권한 부여에 동의하게 됩니다. Databricks는 n8n이 연결을 유지하는 데 필요한 offline_access 범위를 자동으로 허용합니다. n8n의 테스트에서는 All APIs가 genie 범위도 포함했습니다. 타일 연결이 범위 오류로 실패하면 genie 범위를 추가하세요.
  7. 클라이언트 시크릿 생성을 활성화합니다. n8n은 기밀 클라이언트(confidential client)이므로 시크릿이 필요합니다.
  8. 연결을 저장한 다음 Client ID와 Client Secret을 복사합니다. Databricks는 시크릿을 한 번만 표시합니다.

자격 증명을 만들 n8n 사용자에게 클라이언트 ID와 시크릿을 공유하세요. 모든 사용자가 같은 OAuth 앱 연결을 재사용하지만, 각 사용자는 자신의 ID로 실행되도록 자신의 n8n 자격 증명을 만들어 연결합니다.

자세한 내용은 Enable or disable partner OAuth applications를 참조하세요.

Genie MCP server용 genie 범위 추가#

Databricks Genie MCP server 타일은 genie 및 offline_access 범위를 요청합니다. n8n의 테스트에서는 All APIs가 설정된 앱 연결이 명시적인 genie 범위 없이도 이 요청을 충족했습니다. 그렇지 않은 계정에서는 사용자가 타일에서 Connect my account를 선택할 때 다음 오류가 표시됩니다.

access_denied: Scopes 'genie' are not assigned to the client <client-id>

해결하려면 Databricks 계정 관리자가 앱 연결에 genie 범위를 추가합니다. 계정 콘솔의 연결 페이지에서 Add scope 선택기에 genie가 있으면 거기서 추가하세요. 없으면 계정에 인증된 Databricks CLI를 사용합니다. CLI 업데이트는 범위 목록 전체를 교체하므로 앱에 필요한 모든 범위를 포함하세요. Databricks 노드, Databricks Chat Model 노드, Genie MCP server를 모두 처리하는 앱 연결 하나에는 세 가지 범위가 모두 필요합니다.

databricks account custom-app-integration update <integration-id> \
	--json '{"scopes": ["all-apis", "genie", "offline_access"]}'

<integration-id>는 databricks account custom-app-integration list로 찾거나 계정 콘솔의 연결 상세 페이지에서 찾을 수 있습니다. API 레퍼런스는 Update Custom OAuth App Integration을 참조하세요.

Databricks 동의 화면에는 n8n이 요청하는 더 좁은 범위가 아니라 앱 연결에 할당된 범위가 표시됩니다. All APIs 앱을 통해 Genie MCP server에 연결하는 사용자는 n8n이 받는 토큰의 범위가 genie offline_access로 제한되더라도 동의 화면에서 All APIs를 보게 됩니다.

앱 연결이 Genie MCP server에만 사용된다면 범위를 ["genie", "offline_access"]로 대신 설정하세요. 그러면 사용자는 더 좁은 범위의 권한 부여를 보고 동의하게 됩니다. 클라이언트도 다른 Databricks API에 접근할 수 없습니다.

토큰 수명 구성#

앱 연결의 토큰 액세스 정책은 사용자의 n8n 연결이 유효하게 유지되는 기간을 제어합니다.

  • Access token TTL: 각 액세스 토큰이 유지되는 시간. 기본값은 60분입니다. n8n은 리프레시 토큰을 사용해 만료된 액세스 토큰을 자동으로 갱신하므로 기본값을 유지해도 됩니다.
  • Refresh token TTL: 리프레시 토큰이 유지되는 시간. 기본값은 10080분(7일)이며 최대 129600분(90일)입니다. 리프레시 토큰이 만료되면 사용자가 n8n에서 자격 증명을 열어 다시 로그인할 때까지 자격 증명이 작동하지 않습니다.

Databricks 계정 관리자는 계정 API 또는 CLI를 통해 절대 세션 수명과 일회용 리프레시 토큰도 설정할 수 있습니다. 절대 세션 수명은 리프레시 토큰이 아직 유효하더라도 해당 시점에 도달하면 세션을 종료합니다.

Warning

수명이 짧으면 사용자가 다시 연결해야 합니다

리프레시 토큰 TTL이나 절대 세션 수명이 짧으면 사용자가 주기적으로 n8n에서 자격 증명을 다시 열어 로그인해야 하며, 그동안 해당 자격 증명을 사용하는 워크플로는 실패합니다. 예약된 워크플로를 실행하는 자격 증명에는 수명을 넉넉하게 설정하거나 대신 서비스 주체를 사용하세요.

n8n에서 자격 증명 설정#

  1. 워크스페이스 URL을 Host로 입력합니다.
  2. Grant Type을 **Authorization Code (User)**로 설정합니다.
  3. 커스텀 OAuth 앱 연결의 Client ID와 Client Secret을 입력합니다.
  4. Connect my account를 선택하고 Databricks 계정으로 로그인합니다.

기본적으로 자격 증명은 all-apis 및 offline_access 범위를 요청합니다. offline_access 범위는 연결을 한 시간 이후에도 유지하므로 항상 포함됩니다. Custom Scopes를 활성화하고 목록에서 이 범위를 제거해도 n8n이 자동으로 다시 추가합니다.

OAuth2 (서비스 주체) 사용#

이 방식은 OAuth M2M(machine-to-machine) 흐름과 함께 Databricks 서비스 주체를 사용합니다. 사용자 상호작용이 필요하지 않으므로 자동화된 워크플로에 권장되는 방식입니다.

이 자격 증명을 구성하려면 다음이 필요합니다.

  • Host: Databricks 워크스페이스의 URL(예: https://adb-1234567890123456.7.azuredatabricks.net).
  • Client ID: 서비스 주체의 애플리케이션 ID.
  • Client Secret: 서비스 주체를 위해 생성한 OAuth 시크릿.

이 자격 증명을 설정하는 단계는 두 가지입니다.

  1. Databricks에서 서비스 주체와 OAuth 시크릿 생성하기.
  2. n8n에서 자격 증명 설정하기.

서비스 주체 및 OAuth 시크릿 생성#

  1. Databricks 계정 콘솔에서 User management를 선택합니다.
  2. Service principals를 선택한 다음 Add service principal을 선택합니다.
  3. 서비스 주체의 이름을 입력하고 Add를 선택합니다.
  4. 서비스 주체를 열고 Configuration 탭으로 이동하여 필요한 워크스페이스 권한(entitlements)을 부여합니다.
  5. Secrets 탭으로 이동하여 Generate secret을 선택합니다.
  6. 시크릿의 유효 기간을 일 단위로 설정한 다음(최대 730일) Generate를 선택합니다.
  7. 표시된 Secret과 Client ID(애플리케이션 ID와 동일)를 복사합니다. 시크릿은 한 번만 표시됩니다.
Note

Workspace assignment

서비스 주체는 액세스할 워크스페이스에 할당되어야 합니다. Permissions 탭으로 이동하여 필요한 사용자 또는 그룹에게 서비스 주체를 관리하고 사용할 수 있는 권한을 부여합니다.

Warning

OAuth 시크릿은 만료됩니다

서비스 주체 시크릿의 최대 수명은 730일입니다. 시크릿이 만료되면 자격 증명이 작동하지 않고 이를 사용하는 워크플로가 실패합니다. 만료일을 추적하고, 만료되기 전에 새 시크릿을 생성한 다음 n8n 자격 증명의 Client Secret을 업데이트하세요.

자세한 내용은 OAuth를 사용하여 Databricks에 대한 서비스 주체 액세스 권한 부여하기를 참조하세요.

OAuth2 자격 증명 설정#

n8n 자격 증명에서:

  1. Authentication을 OAuth2로 설정합니다.
  2. 워크스페이스 URL을 Host로 입력합니다.
  3. Grant Type을 **Client Credentials (Service Principal)**로 설정합니다. 이것이 기본값입니다.
  4. 서비스 주체에서 복사한 Client ID를 입력합니다.
  5. 생성한 Client Secret을 입력합니다.

Databricks 자격 증명

n8n v2.42
원문 보기

요약

이 자격 증명을 사용하여 다음 노드를 인증할 수 있습니다. 이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요. 자격 증명이 인증하는 주체(로그인한 사용자 또는 서비스 주체)에게는 실행하는 작업에 따라 Databricks에서 다음 권한이 필요합니다.

이 자격 증명을 사용하여 다음 노드를 인증할 수 있습니다.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

사전 요구사항#

  • AWS, Azure, GCP 중 하나에 있는 Databricks 워크스페이스.
  • 사용자 로그인 방식 OAuth2의 경우: 계정 콘솔에서 커스텀 OAuth 앱 연결을 만들 수 있는 Databricks 계정 관리자.
  • 서비스 주체 방식 OAuth2의 경우: 서비스 주체를 만들고 해당 서비스 주체의 OAuth 시크릿을 생성할 수 있는 Databricks 관리자.
  • 실행하려는 작업에 대해 인증 주체에게 필요한 권한.

지원되는 인증 방법#

  • 개인 액세스 토큰(Personal access token): 하나의 Databricks 사용자에 연결된 토큰입니다. Databricks 노드에서만 지원됩니다.
  • 사용자 로그인 방식 OAuth2: 브라우저에서 Databricks 계정에 로그인하여 자격 증명을 연결합니다. 작업은 해당 사용자의 권한으로 실행되며 Databricks 감사 로그에 해당 사용자의 ID로 기록됩니다. 각 사용자는 자신의 계정으로 워크플로를 실행하도록 자신만의 자격 증명을 만들 수 있습니다. Databricks는 사람이 지켜보는 대화형 사용에 이 방식을 권장합니다.
  • OAuth2(서비스 주체): n8n이 사용자 상호작용 없이 클라이언트 ID와 시크릿으로 서비스 주체로서 인증합니다. Databricks는 완전 자동화된 프로덕션 워크플로처럼 사람이 지켜보지 않는 시나리오에 이 방식을 권장합니다.

필요한 Databricks 권한#

자격 증명이 인증하는 주체(로그인한 사용자 또는 서비스 주체)에게는 실행하는 작업에 따라 Databricks에서 다음 권한이 필요합니다.

작업 필요한 권한
모든 작업 Workspace access 엔타이틀먼트
Databricks SQL (Execute Query) Databricks SQL access 엔타이틀먼트와 SQL 웨어하우스에 대한 CAN USE
Job (Get, Get Run, Get Run Output) 작업에 대한 CAN VIEW
Job (Run) 작업에 대한 CAN MANAGE RUN
Unity Catalog 데이터 읽기 또는 쓰기 카탈로그에 대한 USE CATALOG, 스키마에 대한 USE SCHEMA, 쿼리하는 테이블 또는 뷰에 대한 SELECT. 함수와 모델에는 EXECUTE도 필요합니다
Genie (Databricks 노드 작업 및 Genie MCP server) Genie 스페이스에 대한 CAN RUN과 해당 SQL 웨어하우스에 대한 CAN USE
Model Serving (Query Endpoint) 서빙 엔드포인트에 대한 CAN QUERY
Unity AI Gateway 모델 서비스 (Databricks Chat Model) 모델 서비스가 있는 카탈로그와 스키마에 대한 USE CATALOG 및 USE SCHEMA, 모델 서비스에 대한 EXECUTE. Databricks는 system.ai 서비스에 대한 EXECUTE를 기본적으로 모든 사용자에게 부여합니다
작업 또는 파이프라인 감시 (Databricks Trigger) 작업 또는 파이프라인에 대한 CAN VIEW
Note

새 서비스 주체는 권한이 없는 상태로 시작합니다

새로 만든 서비스 주체에는 부여된 권한이 없으므로, 첫 작업은 누락된 권한을 알려주는 권한 오류와 함께 실패합니다. 워크플로를 실행하기 전에 위의 권한을 할당하세요.

자세한 내용은 Databricks entitlements, Access control lists, Unity Catalog privileges를 참조하세요.

관련 자료#

이 서비스에 대한 자세한 내용은 Databricks 인증 문서를 참조하세요.

개인 액세스 토큰 사용#

이 자격 증명을 구성하려면 다음이 필요합니다.

  • Host: Databricks 워크스페이스의 URL(예: https://adb-1234567890123456.7.azuredatabricks.net).
  • Access Token: Databricks 워크스페이스에서 생성한 개인 액세스 토큰.

개인 액세스 토큰을 생성하려면:

  1. Databricks 워크스페이스에서 오른쪽 상단의 사용자 이름을 선택한 다음 Settings를 선택합니다.
  2. Developer를 선택합니다.
  3. Access tokens 옆의 Manage를 선택합니다.
  4. Generate new token을 선택합니다.
  5. 선택적으로 토큰을 식별할 Comment를 입력한 다음 Generate를 선택합니다.
  6. 토큰을 복사하여 안전한 곳에 저장합니다. 이 대화 상자를 닫은 후에는 토큰을 다시 볼 수 없습니다.
  7. n8n 자격 증명의 Access Token에 토큰을 입력합니다.
Note

Token format

개인 액세스 토큰은 dapi로 시작합니다. 예: dapi1234abcd5678efgh.

자세한 내용은 Databricks 개인 액세스 토큰 인증을 참조하세요.

사용자 로그인 방식 OAuth2 사용#

이 방식은 Databricks OAuth 사용자-머신(U2M) 흐름을 사용합니다. 브라우저에서 Databricks에 로그인하여 자격 증명을 연결하며, 작업은 사용자의 권한으로 실행됩니다. 공유된 자격 증명은 이를 연결한 사용자로 실행되므로, 서로 다른 ID에는 별도의 자격 증명을 만드세요.

이 자격 증명을 구성하려면 다음이 필요합니다.

  • Host: Databricks 워크스페이스의 URL(예: https://adb-1234567890123456.7.azuredatabricks.net).
  • Client ID와 Client Secret: Databricks 계정 관리자가 계정 콘솔에서 만든 커스텀 OAuth 앱 연결에서 가져옵니다.

이 자격 증명을 설정하는 단계는 세 가지입니다.

  1. Databricks에서 커스텀 OAuth 앱 연결 만들기.
  2. 선택적으로 토큰 수명 구성하기.
  3. n8n에서 자격 증명 설정하기.
Note

계정 콘솔 액세스 필요

커스텀 OAuth 앱 연결을 만들려면 Databricks 계정 콘솔이 필요합니다. Databricks Free Edition에는 계정 콘솔 액세스가 포함되어 있지 않으므로, Free Edition 워크스페이스에서는 대신 서비스 주체 또는 개인 액세스 토큰을 사용하세요.

커스텀 OAuth 앱 연결 만들기#

Databricks 계정 관리자가 다음 단계를 완료해야 합니다.

  1. n8n에서 Databricks 자격 증명을 열고 OAuth Redirect URL을 복사합니다(형식은 https://<your-n8n-instance>/rest/oauth2-credential/callback입니다).
  2. 사용하는 클라우드(AWS, Azure, GCP)의 Databricks 계정 콘솔에 로그인하고 사이드바에서 Settings 아이콘을 선택합니다.
  3. App connections 탭에서 Add connection을 선택합니다.
  4. 연결 이름을 입력합니다(예: n8n).
  5. n8n에서 복사한 OAuth Redirect URL을 리디렉션 URL로 추가합니다.
  6. 연결에 필요한 액세스 범위(scope)를 선택합니다. Databricks 노드와 Databricks Chat Model 노드에는 All APIs가 필요합니다. 연결이 Genie MCP server에만 사용된다면 대신 genie를 선택하세요. 그러면 해당 연결은 다른 Databricks API에 접근할 수 없고, 사용자는 더 좁은 범위의 권한 부여에 동의하게 됩니다. Databricks는 n8n이 연결을 유지하는 데 필요한 offline_access 범위를 자동으로 허용합니다. n8n의 테스트에서는 All APIs가 genie 범위도 포함했습니다. 타일 연결이 범위 오류로 실패하면 genie 범위를 추가하세요.
  7. 클라이언트 시크릿 생성을 활성화합니다. n8n은 기밀 클라이언트(confidential client)이므로 시크릿이 필요합니다.
  8. 연결을 저장한 다음 Client ID와 Client Secret을 복사합니다. Databricks는 시크릿을 한 번만 표시합니다.

자격 증명을 만들 n8n 사용자에게 클라이언트 ID와 시크릿을 공유하세요. 모든 사용자가 같은 OAuth 앱 연결을 재사용하지만, 각 사용자는 자신의 ID로 실행되도록 자신의 n8n 자격 증명을 만들어 연결합니다.

자세한 내용은 Enable or disable partner OAuth applications를 참조하세요.

Genie MCP server용 genie 범위 추가#

Databricks Genie MCP server 타일은 genie 및 offline_access 범위를 요청합니다. n8n의 테스트에서는 All APIs가 설정된 앱 연결이 명시적인 genie 범위 없이도 이 요청을 충족했습니다. 그렇지 않은 계정에서는 사용자가 타일에서 Connect my account를 선택할 때 다음 오류가 표시됩니다.

access_denied: Scopes 'genie' are not assigned to the client <client-id>

해결하려면 Databricks 계정 관리자가 앱 연결에 genie 범위를 추가합니다. 계정 콘솔의 연결 페이지에서 Add scope 선택기에 genie가 있으면 거기서 추가하세요. 없으면 계정에 인증된 Databricks CLI를 사용합니다. CLI 업데이트는 범위 목록 전체를 교체하므로 앱에 필요한 모든 범위를 포함하세요. Databricks 노드, Databricks Chat Model 노드, Genie MCP server를 모두 처리하는 앱 연결 하나에는 세 가지 범위가 모두 필요합니다.

databricks account custom-app-integration update <integration-id> \
	--json '{"scopes": ["all-apis", "genie", "offline_access"]}'

<integration-id>는 databricks account custom-app-integration list로 찾거나 계정 콘솔의 연결 상세 페이지에서 찾을 수 있습니다. API 레퍼런스는 Update Custom OAuth App Integration을 참조하세요.

Databricks 동의 화면에는 n8n이 요청하는 더 좁은 범위가 아니라 앱 연결에 할당된 범위가 표시됩니다. All APIs 앱을 통해 Genie MCP server에 연결하는 사용자는 n8n이 받는 토큰의 범위가 genie offline_access로 제한되더라도 동의 화면에서 All APIs를 보게 됩니다.

앱 연결이 Genie MCP server에만 사용된다면 범위를 ["genie", "offline_access"]로 대신 설정하세요. 그러면 사용자는 더 좁은 범위의 권한 부여를 보고 동의하게 됩니다. 클라이언트도 다른 Databricks API에 접근할 수 없습니다.

토큰 수명 구성#

앱 연결의 토큰 액세스 정책은 사용자의 n8n 연결이 유효하게 유지되는 기간을 제어합니다.

  • Access token TTL: 각 액세스 토큰이 유지되는 시간. 기본값은 60분입니다. n8n은 리프레시 토큰을 사용해 만료된 액세스 토큰을 자동으로 갱신하므로 기본값을 유지해도 됩니다.
  • Refresh token TTL: 리프레시 토큰이 유지되는 시간. 기본값은 10080분(7일)이며 최대 129600분(90일)입니다. 리프레시 토큰이 만료되면 사용자가 n8n에서 자격 증명을 열어 다시 로그인할 때까지 자격 증명이 작동하지 않습니다.

Databricks 계정 관리자는 계정 API 또는 CLI를 통해 절대 세션 수명과 일회용 리프레시 토큰도 설정할 수 있습니다. 절대 세션 수명은 리프레시 토큰이 아직 유효하더라도 해당 시점에 도달하면 세션을 종료합니다.

Warning

수명이 짧으면 사용자가 다시 연결해야 합니다

리프레시 토큰 TTL이나 절대 세션 수명이 짧으면 사용자가 주기적으로 n8n에서 자격 증명을 다시 열어 로그인해야 하며, 그동안 해당 자격 증명을 사용하는 워크플로는 실패합니다. 예약된 워크플로를 실행하는 자격 증명에는 수명을 넉넉하게 설정하거나 대신 서비스 주체를 사용하세요.

n8n에서 자격 증명 설정#

  1. 워크스페이스 URL을 Host로 입력합니다.
  2. Grant Type을 **Authorization Code (User)**로 설정합니다.
  3. 커스텀 OAuth 앱 연결의 Client ID와 Client Secret을 입력합니다.
  4. Connect my account를 선택하고 Databricks 계정으로 로그인합니다.

기본적으로 자격 증명은 all-apis 및 offline_access 범위를 요청합니다. offline_access 범위는 연결을 한 시간 이후에도 유지하므로 항상 포함됩니다. Custom Scopes를 활성화하고 목록에서 이 범위를 제거해도 n8n이 자동으로 다시 추가합니다.

OAuth2 (서비스 주체) 사용#

이 방식은 OAuth M2M(machine-to-machine) 흐름과 함께 Databricks 서비스 주체를 사용합니다. 사용자 상호작용이 필요하지 않으므로 자동화된 워크플로에 권장되는 방식입니다.

이 자격 증명을 구성하려면 다음이 필요합니다.

  • Host: Databricks 워크스페이스의 URL(예: https://adb-1234567890123456.7.azuredatabricks.net).
  • Client ID: 서비스 주체의 애플리케이션 ID.
  • Client Secret: 서비스 주체를 위해 생성한 OAuth 시크릿.

이 자격 증명을 설정하는 단계는 두 가지입니다.

  1. Databricks에서 서비스 주체와 OAuth 시크릿 생성하기.
  2. n8n에서 자격 증명 설정하기.

서비스 주체 및 OAuth 시크릿 생성#

  1. Databricks 계정 콘솔에서 User management를 선택합니다.
  2. Service principals를 선택한 다음 Add service principal을 선택합니다.
  3. 서비스 주체의 이름을 입력하고 Add를 선택합니다.
  4. 서비스 주체를 열고 Configuration 탭으로 이동하여 필요한 워크스페이스 권한(entitlements)을 부여합니다.
  5. Secrets 탭으로 이동하여 Generate secret을 선택합니다.
  6. 시크릿의 유효 기간을 일 단위로 설정한 다음(최대 730일) Generate를 선택합니다.
  7. 표시된 Secret과 Client ID(애플리케이션 ID와 동일)를 복사합니다. 시크릿은 한 번만 표시됩니다.
Note

Workspace assignment

서비스 주체는 액세스할 워크스페이스에 할당되어야 합니다. Permissions 탭으로 이동하여 필요한 사용자 또는 그룹에게 서비스 주체를 관리하고 사용할 수 있는 권한을 부여합니다.

Warning

OAuth 시크릿은 만료됩니다

서비스 주체 시크릿의 최대 수명은 730일입니다. 시크릿이 만료되면 자격 증명이 작동하지 않고 이를 사용하는 워크플로가 실패합니다. 만료일을 추적하고, 만료되기 전에 새 시크릿을 생성한 다음 n8n 자격 증명의 Client Secret을 업데이트하세요.

자세한 내용은 OAuth를 사용하여 Databricks에 대한 서비스 주체 액세스 권한 부여하기를 참조하세요.

OAuth2 자격 증명 설정#

n8n 자격 증명에서:

  1. Authentication을 OAuth2로 설정합니다.
  2. 워크스페이스 URL을 Host로 입력합니다.
  3. Grant Type을 **Client Credentials (Service Principal)**로 설정합니다. 이것이 기본값입니다.
  4. 서비스 주체에서 복사한 Client ID를 입력합니다.
  5. 생성한 Client Secret을 입력합니다.