Unity Catalog용 카탈로그 통합 구성하기¶
Use the CREATE CATALOG INTEGRATION(Apache Iceberg™ REST) command to create a REST catalog integration that uses vended credentials or an external volume to connect to Databricks Unity Catalog.
참고
공용 인터넷 대신 비공개 IP 주소를 통해 Databricks Unity Catalog에 연결하기 위한 카탈로그 통합을 구성하려면 아웃바운드 비공개 연결로 Apache Iceberg™ REST 카탈로그 통합 구성하기 섹션을 참조하세요.
카탈로그 제공 자격 증명으로 쓰기 가능한 카탈로그 연결 데이터베이스를 사용하여 Databricks Unity Catalog의 카탈로그에 Snowflake를 연결하는 방법을 다루는 자습서는 자습서 Databricks Unity Catalog의 Apache Iceberg™ 테이블에 대한 양방향 액세스 설정하기 섹션을 참조하세요.
Databricks 작업 공간이 다음 클라우드 공급자 중 하나에서 호스팅되는 Unity Catalog에 대한 카탈로그 통합을 생성할 수 있습니다.
AWS
Azure
Google Cloud
You can configure a catalog integration for Unity Catalog that uses OAuth or bearer authentication:
Configure an OAuth catalog integration¶
1단계: Databricks 작업 공간 URL 찾기¶
Databricks 작업 공간 URL은 Databricks 작업 공간에 액세스하는 데 사용하는 URL입니다. 이 URL은 나중에 카탈로그 통합을 생성할 때 지정해야 하므로 찾아야 합니다.
Databricks 작업 공간 URL을 찾습니다.
이 URL을 찾는 방법에 대한 지침은 Databricks 계정이 호스팅되는 위치에 대한 항목을 참조하세요.
AWS용 Databricks: `AWS용 Databricks: 작업 공간 인스턴스 이름, URLs 및 IDs<https://docs.databricks.com/aws/workspace/workspace-details#workspace-instance-names-urls-and-ids>`_
Azure Databricks: `Azure Databricks: 작업 공간별 URL 확인<https://learn.microsoft.com/azure/databricks/workspace/workspace-details#determine-per-workspace-url>`_
Google Cloud용 Databricks: `Google Cloud용 Databricks: 작업 공간 인스턴스 이름, URLs 및 IDs<https://docs.databricks.com/gcp/workspace/workspace-details#workspace-instance-names-urls-and-ids>`_
Databricks 작업 공간 URL을 텍스트 편집기에 복사합니다.
2단계: Databricks에 서비스 주체 추가¶
서비스 주체를 추가하려면 Databricks 계정이 호스팅되는 위치에 대한 항목을 참조하세요.
서비스 주체의 애플리케이션 ID 값을 텍스트 편집기에 복사하여 안전하게 저장합니다. 나중에 Snowflake에서 카탈로그 통합을 생성할 때 이 값을 지정합니다.
3단계: 서비스 주체에 대한 OAuth 시크릿 생성¶
서비스 주체에 대한 OAuth 시크릿을 생성하려면 Databricks 계정이 호스팅되는 위치에 대한 항목을 참조하세요.
AWS용 Databricks: `AWS용 Databricks: OAuth 시크릿 생성<https://docs.databricks.com/aws/dev-tools/auth/oauth-m2m#-step-1-create-an-oauth-secret>`_
Azure Databricks: `Azure Databricks: OAuth 시크릿 생성<https://learn.microsoft.com/azure/databricks/dev-tools/auth/oauth-m2m#-step-1-create-an-oauth-secret>`_
Google Cloud용 Databricks: `Google Cloud용 Databricks: OAuth 시크릿 생성<https://docs.databricks.com/gcp/dev-tools/auth/oauth-m2m#-step-1-create-an-oauth-secret>`_
생성한 시크릿 값을 텍스트 편집기에 복사하여 안전하게 저장합니다. 나중에 Snowflake에서 카탈로그 통합을 생성할 때 이 값을 지정합니다.
중요
클라이언트 시크릿은 한 번만 표시됩니다. 대화 상자를 닫기 전에 복사해야 합니다.
4단계: Unity Catalog에서 카탈로그에 대한 Snowflake 액세스 활성화¶
이 단계에서는 Databricks를 사용하여 Snowflake가 Unity Catalog의 카탈로그에 액세스할 수 있도록 지원합니다.
발급된 자격 증명을 통해 Unity Catalog의 카탈로그에 대한 Snowflake 액세스를 활성화하려면 먼저 메타스토어 수준에서 메타스토어에 외부 데이터 액세스를 활성화해야 합니다. 다음으로, 서비스 주체에 카탈로그에 대한 Unity Catalog 권한을 부여해야 합니다.
메타스토어에서 외부 데이터 액세스 활성화(발급된 자격 증명만 해당)¶
발급된 자격 증명을 사용하는 카탈로그 통합을 생성하는 경우 Databricks의 메타스토어에서 외부 데이터 액세스를 활성화해야 합니다. 외부 볼륨을 사용하는 카탈로그 통합을 생성하는 경우 이 단계를 건너뛸 수 있습니다.
메타스토어에서 외부 데이터 액세스를 활성화하는 방법에 대한 지침은 Databricks 계정이 호스팅되는 위치에 대한 항목을 참조하세요.
AWS용 Databricks: `AWS용 Databricks: 메타스토어에서 외부 데이터 액세스 활성화<https://docs.databricks.com/aws/en/external-access/admin#enable-external-data-access-on-the-metastore>`_
Azure Databricks: `Azure Databricks: 메타스토어에서 외부 데이터 액세스 활성화<https://learn.microsoft.com/en-us/azure/databricks/external-access/admin#enable-external-data-access-on-the-metastore>`_
Google Cloud용 Databricks: `Google Cloud용 Databricks: 메타스토어에서 외부 데이터 액세스 활성화<https://docs.databricks.com/gcp/en/external-access/admin#enable-external-data-access-on-the-metastore>`_
작업 공간에 서비스 주체 할당¶
다음으로, Databricks 작업 공간에 서비스 주체를 할당해야 합니다.
지침은 Databricks 계정이 호스팅되는 위치에 대한 항목을 참조하세요.
서비스 주체에 카탈로그에 대한 액세스 권한 부여¶
다음으로, 서비스 주체에 Unity Catalog 권한을 부여해야 합니다. Snowflake가 지정한 권한에 따라 카탈로그에 액세스할 수 있도록 허용하려면 이러한 권한을 서비스 주체에 부여해야 합니다.
전체 기능에 대한 권한¶
Snowflake에서 모든 기능을 활성화하려면 다음 권한을 부여해야 합니다.
참고
Snowflake 액세스를 제한하려는 경우 Databricks 설명서의 `Unity Catalog 권한 및 보안 오브젝트<https://docs.databricks.com/aws/en/data-governance/unity-catalog/manage-privileges/privileges>`_를 참조하세요.
권한 |
설명 |
|---|---|
|
Unity Catalog가 클라우드 저장소의 테이블 데이터에 액세스하기 위해 범위가 지정된 임시 자격 증명을 생성하고 Snowflake에 제공할 수 있도록 허용합니다. 참고 이 권한은 발급된 자격 증명을 사용하는 카탈로그 통합을 생성할 때만 필요합니다. 외부 볼륨을 사용하는 카탈로그 통합을 생성할 때는 필요하지 않으므로 외부 볼륨을 사용하는 경우 예제 코드 블록에서 제거하세요. |
|
Snowflake가 테이블의 데이터를 추가, 업데이트, 삭제할 수 있도록 허용합니다. |
|
Snowflake가 테이블을 쿼리하고 테이블 메타데이터에 액세스할 수 있도록 허용합니다. 카탈로그 연결 데이터베이스에서 데이터 읽기 및 테이블 검색을 포함하여 Snowflake의 모든 작업에 필요합니다. |
|
Snowflake가 카탈로그에 액세스할 수 있도록 허용합니다. Unity Catalog의 모든 오브젝트에 연결하고 상호 작용하는 데 필요합니다. |
|
카탈로그 내의 스키마(네임스페이스)에 대한 Snowflake 액세스를 허용합니다. 특정 스키마의 테이블을 보고 작업하는 데 필요합니다. |
권한 부여¶
카탈로그 탐색기 또는 SQL을 사용하여 권한을 부여할 수 있습니다.
Databricks 카탈로그 탐색기를 사용하여 권한을 부여하려면 Databricks 계정이 호스팅되는 위치에 대한 항목을 참조하세요.
AWS용 Databricks: `AWS용 Databricks: 오브젝트에 대한 권한 부여<https://docs.databricks.com/aws/en/data-governance/unity-catalog/manage-privileges#-grant-permissions-on-an-object>`_
Google Cloud용 Databricks: `Google Cloud용 Databricks: 오브젝트에 대한 권한 부여<https://docs.databricks.com/gcp/en/data-governance/unity-catalog/manage-privileges#-grant-permissions-on-an-object>`_
중요
Principals 필드에 사용자의 이메일 주소나 그룹의 이름이 아닌 서비스 주체의 이름을 입력해야 합니다.
서비스 주체에 Unity Catalog 권한을 부여하려면 서비스 주체에 대한 애플리케이션 ID를 지정해야 합니다.
예를 들어, 다음 문은 애플리케이션 ID가 1aaa1a1a-11a1-1111-1111-1a11111aaa1a``인 서비스 주체에 ``example_sales_catalog 카탈로그 권한을 부여합니다.
GRANT EXTERNAL USE SCHEMA ON CATALOG example_sales_catalog TO `1aaa1a1a-11a1-1111-1111-1a11111aaa1a`;
GRANT MODIFY ON CATALOG example_sales_catalog TO `1aaa1a1a-11a1-1111-1111-1a11111aaa1a`;
GRANT SELECT ON CATALOG example_sales_catalog TO `1aaa1a1a-11a1-1111-1111-1a11111aaa1a`;
GRANT USE CATALOG ON CATALOG example_sales_catalog TO `1aaa1a1a-11a1-1111-1111-1a11111aaa1a`;
GRANT USE SCHEMA ON CATALOG example_sales_catalog TO `1aaa1a1a-11a1-1111-1111-1a11111aaa1a`;
서비스 주체에 Unity Catalog 권한을 부여하는 방법에 대한 자세한 내용은 Databricks 계정이 호스팅되는 위치에 대한 항목을 참조하세요.
AWS용 Databricks: `AWS용 Databricks: 주체 Unity Catalog 권한 부여<https://docs.databricks.com/aws/en/external-access/admin#grant-a-principal-unity-catalog-privileges>`_ 및 `AWS용 Databricks: SQL<https://docs.databricks.com/aws/en/data-governance/unity-catalog/manage-privileges?language=SQL#-grant-permissions-on-an-object>`_을 사용하여 오브젝트에 대한 권한 부여
Azure Databricks: `Azure Databricks: 주체 Unity Catalog 권한 부여<https://learn.microsoft.com/en-us/azure/databricks/external-access/admin#external-schema>`_ 및 `Azure Databricks: SQL<https://learn.microsoft.com/en-us/azure/databricks/data-governance/unity-catalog/manage-privileges/#sql-2>`_을 사용하여 오브젝트에 대한 권한 부여
Google Cloud용 Databricks: `Google Cloud용 Databricks: 주체 Unity Catalog 권한 부여<https://docs.databricks.com/gcp/en/external-access/admin#grant-a-principal-unity-catalog-privileges>`_ 및 `Google Cloud용 Databricks: SQL<https://docs.databricks.com/gcp/en/data-governance/unity-catalog/manage-privileges?language=SQL#-grant-permissions-on-an-object>`_을 사용하여 오브젝트에 대한 권한 부여
5단계: 카탈로그 통합 만들기¶
다음 예제에서는 OAuth 를 사용하는 REST 카탈로그 통합을 생성합니다.
CREATE OR REPLACE CATALOG INTEGRATION unity_catalog_int_oauth_vended_credentials
CATALOG_SOURCE = ICEBERG_REST
TABLE_FORMAT = ICEBERG
REST_CONFIG = (
CATALOG_URI = '<databricks_workspace_url>/api/2.1/unity-catalog/iceberg-rest'
CATALOG_NAME = '<catalog_name>'
ACCESS_DELEGATION_MODE = VENDED_CREDENTIALS
)
REST_AUTHENTICATION = (
TYPE = OAUTH
OAUTH_TOKEN_URI = '<databricks_workspace_url>/oidc/v1/token'
OAUTH_CLIENT_ID = '<client_id>'
OAUTH_CLIENT_SECRET = '<oauth_secret>'
OAUTH_ALLOWED_SCOPES = ('all-apis')
)
ENABLED = TRUE;
여기서
``<databricks_workspace_url>``은 Databricks 작업 공간에 대한 URL을 지정합니다. 이 URL을 찾으려면, 1단계: Databricks 작업 공간 URL 찾기 섹션을 참조하세요.
다음은 각 클라우드 플랫폼에 대한 Databricks 작업 공간의 URL 예제입니다.
AWS용 Databricks:
https://dbc-a1a1a1a1-a1a1.cloud.databricks.comAzure Databricks:
https://adb-1111111111111111.1.azuredatabricks.netGoogle Cloud용 Databricks:
https://1111111111111111.1.gcp.databricks.com
``<catalog_name>``은 Snowflake를 연결하려는 Unity Catalog의 카탈로그 이름을 지정합니다. 이 이름은 Data > :extui:`Catalogs`의 Databricks 작업 공간에서 찾을 수 있습니다.
``ACCESS_DELEGATION_MODE = VENDED_CREDENTIALS``는 Unity Catalog에서 발급된 자격 증명을 사용하도록 카탈로그 통합을 구성합니다.
참고
외부 볼륨을 사용하는 카탈로그 통합을 생성하는 경우
ACCESS_DELEGATION_MODE매개 변수를 제외해야 합니다.``<client_id>``는 Databricks 서비스 주체에 대한 OAuth 클라이언트 ID를 지정합니다. :ref:`Databricks에 서비스 주체를 추가<label-tables_iceberg_configure_catalog_integration_rest_unity_oauth_add_service_principal>`할 때 이 값을 복사했습니다.
참고
Databricks에서는 이 값을 클라이언트 ID가 아닌 *애플리케이션 ID*라고 합니다.
``<oauth_secret>``은 Databricks 서비스 주체에 대한 OAuth 시크릿을 지정합니다. :ref:`서비스 주체에 대한 OAuth 시크릿을 생성<label-tables_iceberg_configure_catalog_integration_rest_unity_oauth_add_oauth_secret>`할 때 이 값을 복사했습니다.
6단계: 카탈로그 통합 확인하기¶
카탈로그 통합 구성을 확인하려면 SYSTEM$VERIFY_CATALOG_INTEGRATION 함수를 호출합니다.
예제를 포함한 자세한 내용은 :ref:`SYSTEM$VERIFY_CATALOG_INTEGRATION을 사용하여 카탈로그 통합 구성 확인<label-tables_iceberg_rest_catalog_integration_verify_system_function>`을 참조하세요.
다음 단계¶
Unity Catalog에서 카탈로그에 대한 카탈로그 통합을 구성한 후 CREATE DATABASE(카탈로그 연결) 명령을 통해 생성한 카탈로그 통합을 지정하여 카탈로그 연결 데이터베이스를 생성합니다. 그런 다음 Snowflake는 Unity Catalog의 카탈로그와 자동으로 동기화하여 스키마와 Iceberg 테이블을 감지하고 원격 테이블을 카탈로그 연결 데이터베이스에 등록합니다.
카탈로그 연결 데이터베이스를 생성하는 경우 카탈로그 통합을 지정합니다.
For example:
CREATE OR REPLACE DATABASE my_linked_db
LINKED_CATALOG = (
CATALOG = 'unity_catalog_int_oauth_vended_credentials'
);
참고
외부 볼륨을 사용하는 경우 CREATE DATABASE 문에
EXTERNAL_VOLUME매개 변수를 포함해야 합니다. 자세한 내용은 CREATE DATABASE(카탈로그 연결) 섹션을 참조하십시오.카탈로그 연결 데이터베이스 작업에 대한 자세한 내용은 Apache Iceberg™ 테이블에 카탈로그 연결 데이터베이스 사용 섹션을 참조하세요.
Configure a bearer token catalog integration¶
1단계: Databricks 작업 공간 URL 찾기¶
Databricks 작업 공간 URL은 Databricks 작업 공간에 액세스하는 데 사용하는 URL입니다. 이 URL은 나중에 카탈로그 통합을 생성할 때 지정해야 하므로 찾아야 합니다.
Databricks 작업 공간 URL을 찾습니다.
이 URL을 찾는 방법에 대한 지침은 Databricks 계정이 호스팅되는 위치에 대한 항목을 참조하세요.
AWS용 Databricks: `AWS용 Databricks: 작업 공간 인스턴스 이름, URLs 및 IDs<https://docs.databricks.com/aws/workspace/workspace-details#workspace-instance-names-urls-and-ids>`_
Azure Databricks: `Azure Databricks: 작업 공간별 URL 확인<https://learn.microsoft.com/azure/databricks/workspace/workspace-details#determine-per-workspace-url>`_
Google Cloud용 Databricks: `Google Cloud용 Databricks: 작업 공간 인스턴스 이름, URLs 및 IDs<https://docs.databricks.com/gcp/workspace/workspace-details#workspace-instance-names-urls-and-ids>`_
Databricks 작업 공간 URL을 텍스트 편집기에 복사합니다.
2단계: Databricks에 개인 액세스 토큰(PAT) 추가¶
개인 액세스 토큰(PAT)은 인증을 위해 전달자 토큰을 사용하는 카탈로그 통합을 생성할 때 지정해야 하므로 추가해야 합니다.
Databricks에 PAT를 추가하려면 Databricks 계정이 호스팅되는 위치에 대한 항목을 참조하세요.
AWS용 Databricks: `AWS용 Databricks: Databricks 개인 액세스 토큰으로 인증(레거시)<https://docs.databricks.com/aws/en/dev-tools/auth/pat>`_
Azure Databricks: `Azure Databricks: Azure Databricks 개인 액세스 토큰으로 인증(레거시)<https://learn.microsoft.com/en-us/azure/databricks/dev-tools/auth/pat>`_
Google Cloud용 Databricks: `Google Cloud용 Databricks: Databricks 개인 액세스 토큰으로 인증(레거시)<https://docs.databricks.com/gcp/en/dev-tools/auth/pat>`_
PAT의 값을 텍스트 편집기에 복사하여 안전하게 저장합니다. 나중에 Snowflake에서 카탈로그 통합을 생성할 때 이 값을 지정합니다.
3단계: Unity Catalog에서 카탈로그에 대한 Snowflake 액세스 활성화¶
이 단계에서는 Databricks를 사용하여 Snowflake가 Unity Catalog의 카탈로그에 액세스할 수 있도록 지원합니다.
발급된 자격 증명을 통해 Unity Catalog의 카탈로그에 대한 Snowflake 액세스를 활성화하려면 먼저 메타스토어 수준에서 메타스토어에 외부 데이터 액세스를 활성화해야 합니다. 다음으로 Databricks 사용자에게 PAT가 상속하는 카탈로그에 대한 Unity Catalog 권한을 부여해야 합니다.
메타스토어에서 외부 데이터 액세스 활성화(발급된 자격 증명만 해당)¶
발급된 자격 증명을 사용하는 카탈로그 통합을 생성하는 경우 Databricks의 메타스토어에서 외부 데이터 액세스를 활성화해야 합니다. 외부 볼륨을 사용하는 카탈로그 통합을 생성하는 경우 이 단계를 건너뛸 수 있습니다.
메타스토어에서 외부 데이터 액세스를 활성화하는 방법에 대한 지침은 Databricks 계정이 호스팅되는 위치에 대한 항목을 참조하세요.
AWS용 Databricks: `AWS용 Databricks: 메타스토어에서 외부 데이터 액세스 활성화<https://docs.databricks.com/aws/en/external-access/admin#enable-external-data-access-on-the-metastore>`_
Azure Databricks: `Azure Databricks: 메타스토어에서 외부 데이터 액세스 활성화<https://learn.microsoft.com/en-us/azure/databricks/external-access/admin#enable-external-data-access-on-the-metastore>`_
Google Cloud용 Databricks: `Google Cloud용 Databricks: 메타스토어에서 외부 데이터 액세스 활성화<https://docs.databricks.com/gcp/en/external-access/admin#enable-external-data-access-on-the-metastore>`_
Databricks 사용자에게 카탈로그에 대한 액세스 권한 부여¶
다음으로, Databricks 사용자에게 Unity Catalog 권한을 부여해야 합니다. 지정한 권한을 기반으로 Snowflake가 카탈로그에 액세스할 수 있도록 허용하려면 Databricks 사용자에게 해당 권한을 부여해야 합니다. 인증을 위해 PAT를 사용하는 경우 PAT를 생성한 Databricks 사용자에게 부여된 모든 권한을 상속합니다.
전체 기능에 대한 권한¶
Snowflake에서 모든 기능을 활성화하려면 다음 권한을 부여해야 합니다.
참고
Snowflake 액세스를 제한하려는 경우 Databricks 설명서의 `Unity Catalog 권한 및 보안 오브젝트<https://docs.databricks.com/aws/en/data-governance/unity-catalog/manage-privileges/privileges>`_를 참조하세요.
권한 |
설명 |
|---|---|
|
Unity Catalog가 클라우드 저장소의 테이블 데이터에 액세스하기 위해 범위가 지정된 임시 자격 증명을 생성하고 Snowflake에 제공할 수 있도록 허용합니다. 참고 이 권한은 발급된 자격 증명을 사용하는 카탈로그 통합을 생성할 때만 필요합니다. 외부 볼륨을 사용하는 카탈로그 통합을 생성할 때는 필요하지 않으므로 외부 볼륨을 사용하는 경우 예제 코드 블록에서 제거하세요. |
|
Snowflake가 테이블의 데이터를 추가, 업데이트, 삭제할 수 있도록 허용합니다. |
|
Snowflake가 테이블을 쿼리하고 테이블 메타데이터에 액세스할 수 있도록 허용합니다. 카탈로그 연결 데이터베이스에서 데이터 읽기 및 테이블 검색을 포함하여 Snowflake의 모든 작업에 필요합니다. |
|
Snowflake가 카탈로그에 액세스할 수 있도록 허용합니다. Unity Catalog의 모든 오브젝트에 연결하고 상호 작용하는 데 필요합니다. |
|
카탈로그 내의 스키마(네임스페이스)에 대한 Snowflake 액세스를 허용합니다. 특정 스키마의 테이블을 보고 작업하는 데 필요합니다. |
권한 부여¶
카탈로그 탐색기 또는 SQL을 사용하여 권한을 부여할 수 있습니다.
Databricks 카탈로그 탐색기를 사용하여 권한을 부여하려면 Databricks 계정이 호스팅되는 위치에 대한 항목을 참조하세요.
AWS용 Databricks: `AWS용 Databricks: 오브젝트에 대한 권한 부여<https://docs.databricks.com/aws/en/data-governance/unity-catalog/manage-privileges#-grant-permissions-on-an-object>`_
Google Cloud용 Databricks: `Google Cloud용 Databricks: 오브젝트에 대한 권한 부여<https://docs.databricks.com/gcp/en/data-governance/unity-catalog/manage-privileges#-grant-permissions-on-an-object>`_
Databricks 사용자에게 Unity Catalog 권한을 부여하려면 해당 Databricks 사용자에 대한 사용자 ID를 지정해야 합니다.
예를 들어, 다음 문은 j.smith@example.com Databricks 사용자에게 example_sales_catalog 카탈로그 권한을 부여합니다.
GRANT EXTERNAL USE SCHEMA ON CATALOG example_sales_catalog TO `j.smith@example.com`;
GRANT MODIFY ON CATALOG example_sales_catalog TO `j.smith@example.com`;
GRANT SELECT ON CATALOG example_sales_catalog TO `j.smith@example.com`;
GRANT USE CATALOG ON CATALOG example_sales_catalog TO `j.smith@example.com`;
GRANT USE SCHEMA ON CATALOG example_sales_catalog TO `j.smith@example.com`;
Databricks 사용자에게 Unity Catalog 권한을 부여하는 방법에 대한 자세한 내용은 Databricks 계정이 호스팅되는 위치에 대한 항목을 참조하세요.
AWS용 Databricks: `AWS용 Databricks: 주체 Unity Catalog 권한 부여<https://docs.databricks.com/aws/en/external-access/admin#grant-a-principal-unity-catalog-privileges>`_ 및 `AWS용 Databricks: SQL<https://docs.databricks.com/aws/en/data-governance/unity-catalog/manage-privileges?language=SQL#-grant-permissions-on-an-object>`_을 사용하여 오브젝트에 대한 권한 부여
Azure Databricks: `Azure Databricks: 주체 Unity Catalog 권한 부여<https://learn.microsoft.com/en-us/azure/databricks/external-access/admin#external-schema>`_ 및 `Azure Databricks: SQL<https://learn.microsoft.com/en-us/azure/databricks/data-governance/unity-catalog/manage-privileges/#sql-2>`_을 사용하여 오브젝트에 대한 권한 부여
Google Cloud용 Databricks: `Google Cloud용 Databricks: 주체 Unity Catalog 권한 부여<https://docs.databricks.com/gcp/en/external-access/admin#grant-a-principal-unity-catalog-privileges>`_ 및 `Google Cloud용 Databricks: SQL<https://docs.databricks.com/gcp/en/data-governance/unity-catalog/manage-privileges?language=SQL#-grant-permissions-on-an-object>`_을 사용하여 오브젝트에 대한 권한 부여
4단계: 카탈로그 통합 만들기¶
The following example creates a REST catalog integration that uses a bearer token with vended credentials:
CREATE OR REPLACE CATALOG INTEGRATION unity_catalog_int_bearer_vended_credentials
CATALOG_SOURCE = ICEBERG_REST
TABLE_FORMAT = ICEBERG
REST_CONFIG = (
CATALOG_URI = '<databricks_workspace_url>/api/2.1/unity-catalog/iceberg-rest'
CATALOG_NAME = '<catalog_name>'
ACCESS_DELEGATION_MODE = VENDED_CREDENTIALS
)
REST_AUTHENTICATION = (
TYPE = BEARER
BEARER_TOKEN = '<personal_access_token>'
)
ENABLED = TRUE;
여기서
``<databricks_workspace_url>``은 Databricks 작업 공간에 대한 URL을 지정합니다. 이 URL을 찾으려면, 1단계: Databricks 작업 공간 URL 찾기 섹션을 참조하세요.
다음은 각 클라우드 플랫폼에 대한 Databricks 작업 공간의 URL 예제입니다.
AWS용 Databricks:
https://dbc-a1a1a1a1-a1a1.cloud.databricks.comAzure Databricks:
https://adb-1111111111111111.1.azuredatabricks.netGoogle Cloud용 Databricks:
https://1111111111111111.1.gcp.databricks.com
``<catalog_name>``은 Snowflake를 연결하려는 Unity Catalog의 카탈로그 이름을 지정합니다. 이 이름은 Data > :extui:`Catalogs`의 Databricks 작업 공간에서 찾을 수 있습니다.
``ACCESS_DELEGATION_MODE = VENDED_CREDENTIALS``는 Unity Catalog에서 발급된 자격 증명을 사용하도록 카탈로그 통합을 구성합니다.
참고
외부 볼륨을 사용하는 카탈로그 통합을 생성하는 경우
ACCESS_DELEGATION_MODE매개 변수를 제외해야 합니다.<personal_access_token>specifies your Databricks personal access token (PAT). An example of a PAT isaaaa111aaaa111a1a1a1a111111a111a1111.
5단계: 카탈로그 통합 확인하기¶
카탈로그 통합 구성을 확인하려면 SYSTEM$VERIFY_CATALOG_INTEGRATION 함수를 호출합니다.
자세한 내용은 :ref:`SYSTEM$VERIFY_CATALOG_INTEGRATION을 사용하여 카탈로그 통합 구성 확인하기<label-tables_iceberg_rest_catalog_integration_verify_system_function>`를 참조하세요.
다음 단계¶
Unity Catalog에서 카탈로그에 대한 카탈로그 통합을 구성한 후 CREATE DATABASE(카탈로그 연결) 명령을 통해 생성한 카탈로그 통합을 지정하여 카탈로그 연결 데이터베이스를 생성합니다. 그런 다음 Snowflake는 Unity Catalog의 카탈로그와 자동으로 동기화하여 스키마와 Iceberg 테이블을 감지하고 원격 테이블을 카탈로그 연결 데이터베이스에 등록합니다.
카탈로그 연결 데이터베이스를 생성하는 경우 카탈로그 통합을 지정합니다.
For example:
CREATE OR REPLACE DATABASE my_linked_db
LINKED_CATALOG = (
CATALOG = 'unity_catalog_int_bearer_vended_credentials'
);
참고
외부 볼륨을 사용하는 경우 CREATE DATABASE 문에
EXTERNAL_VOLUME매개 변수를 포함해야 합니다. 자세한 내용은 CREATE DATABASE(카탈로그 연결) 섹션을 참조하십시오.카탈로그 연결 데이터베이스 작업에 대한 자세한 내용은 Apache Iceberg™ 테이블에 카탈로그 연결 데이터베이스 사용 섹션을 참조하세요.