Data Science & Engineering 보안 모델을 Databricks SQL 매핑

이 문서에서는 Azure Databricks 관리자가 데이터 과학 엔지니어링 작업 영역의 데이터 개체에 대한 액세스를 이미 구성한 작업 영역에서 Databricks SQL 구성하는 방법을 & 설명합니다. 데이터 과학 엔지니어링의 클러스터 보안 모델에 해당하는 섹션의 단계를 & 따릅니다.

테이블 액세스 제어에 사용하도록 설정된 클러스터를 사용하여 액세스 구성

Data Science Engineering 작업 영역에서 테이블 액세스 제어에 사용하도록 설정된 클러스터를 사용하고 & Databricks SQL 데이터에 액세스하려는 경우 이 가이드를 따릅니다.

Databricks SQL 쿼리하려는 데이터의 경우 관리자는 서비스 주체를 사용하여 기본 클라우드 스토리지에 대한 액세스를 구성합니다. Databricks SQL 엔드포인트는 모두 동일한 클라우드 스토리지 액세스 자격 증명을 공유합니다.

요구 사항

  • Premium 계획에 대한 계정을 Azure Databricks.
  • Databricks SQL 엔드포인트입니다.
  • 데이터에 대한 액세스 권한을 부여할 사용자를 나타내는 그룹입니다.

1단계: 테이블 액세스 제어를 사용하도록 설정된 클러스터에서 서비스 주체 구성을 가져옵니다.

Azure Databricks 관리자는 데이터 과학 엔지니어링 작업 영역에서 이 단계를 & 수행합니다.

테이블 액세스 제어에 사용하도록 설정된 각 클러스터에 대해 클러스터 구성으로 이동하여 서비스 주체 구성을 복사합니다. 데이터 액세스 구성의 형식은 다음과 같습니다.

spark.hadoop.fs.azure.account.auth.type.<storage-account-name>.dfs.core.windows.net OAuth
spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account-name>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account-name>.dfs.core.windows.net <application-id>
spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account-name>.dfs.core.windows.net {{<secret-name>/<secret-scope>}}
spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account-name>.dfs.core.windows.net https://login.microsoftonline.com/<directory-id>/oauth2/token
  • application-id:Azure AD 애플리케이션을 고유하게 식별하는 ID입니다.
  • directory-id:Azure AD 인스턴스(Azure Databricks 디렉터리(테넌트) ID라고 함)를 고유하게 식별하는 ID입니다.
  • scope-name:만든 비밀 범위의 이름입니다.
  • secret-name:만든 비밀의 이름입니다.

2단계: 데이터 액세스에 서비스 주체를 사용하도록 Databricks SQL 구성

데이터 액세스에 서비스 주체를 사용하도록 Databricks SQL 구성을참조하세요.

클러스터 수준 서비스 주체를 사용하여 액세스 구성

Data Science Engineering 작업 영역에서 클러스터 수준 서비스 주체를 사용하고 Databricks SQL 데이터에 액세스하려는 경우 이 섹션의 단계를 & 따릅니다.

Databricks SQL 쿼리하려는 데이터의 경우 기본 클라우드 스토리지에 대한 액세스는 서비스 주체를 사용하여 구성됩니다. Databricks SQL 엔드포인트는 모두 동일한 클라우드 스토리지 액세스 서비스 주체를 공유합니다.

참고

Databricks SQL 테이블 액세스 제어는 보안 모델뿐이며 테이블 액세스 제어는 항상 사용하도록 설정됩니다. 데이터 과학 & 엔지니어링에서 Azure Databricks 관리자는 테이블 액세스 제어를 명시적으로 사용하도록 설정해야 합니다.

요구 사항

  • Premium 계획에 대한 계정을 Azure Databricks.
  • Databricks SQL 엔드포인트입니다.
  • 데이터에 액세스할 사용자를 나타내는 그룹입니다.

1단계: (선택 사항) 각 Azure Data Lake Storage Gen2 스토리지 계정에 대한 서비스 주체 만들기

참고

기존 서비스 주체를 다시 사용할 수 있습니다. Data Science Engineering 작업 영역에서 사용되는 기존 서비스 주체는 & Databricks SQL 재사용할 수 있습니다. 이 옵션의 경우 이 단계를 건너뛸 수 있습니다.

Databricks는 스토리지 계정 수준에서 구성된 경우 기존 서비스 주체를 다시 사용하거나 해당 수준에서 기존 서비스 주체에 액세스 권한을 부여하는 것이 좋습니다.

1단계: (선택 사항) 각 Azure Data Lake Storage Gen2 스토리지 계정에 대한 서비스 주체 만들기를참조하세요.

2단계: 기본 클라우드 스토리지에 대한 서비스 주체 액세스 권한 부여

Azure Databricks 관리자는 Azure Portal 및 데이터 과학 엔지니어링 작업 영역에서 다음 단계를 & 수행합니다.

새 서비스 주체를 만든 경우 ADLS 스토리지에 대한 액세스 권한을 부여하고 다음 단계를 건너뜁니다.

데이터 과학 엔지니어링 작업 영역에서 서비스 주체를 다시 사용할 경우 & 다음 단계를 수행합니다.

  1. Databricks SQL 액세스하려는 스토리지 계정과 해당 데이터에 액세스하는 데 사용되는 Data Science & Engineering 작업 영역 클러스터 사용자를 식별합니다.
  2. 데이터 과학 & 엔지니어링 작업 영역에서 다음을 수행합니다.
    1. 사이드바에서 컴퓨팅을 클릭합니다.

    2. 데이터에 액세스하는 데 사용되는 클러스터를 선택합니다.

    3. 고급 옵션을 확장합니다.

    4. Spark 구성에서 데이터 액세스 구성을 복사합니다. 데이터 액세스 구성의 형식은 다음과 같습니다.

      spark.hadoop.fs.azure.account.auth.type.<storage-account-name>.dfs.core.windows.net OAuth
      spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account-name>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
      spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account-name>.dfs.core.windows.net <application-id>
      spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account-name>.dfs.core.windows.net {{<secret-name>/<secret-scope>}}
      spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account-name>.dfs.core.windows.net https://login.microsoftonline.com/<directory-id>/oauth2/token
      

각 클러스터에 대해 클러스터에서 연결할 수 있거나 더 높은 권한이 있는 그룹을 기록하여 4단계의 문에 알릴 수 있습니다.

3단계: 데이터 액세스에 서비스 주체를 사용하도록 SQL 엔드포인트 구성

3단계: 데이터 액세스에 서비스 주체를 사용하도록 Databricks SQL 구성을참조하세요.

4단계: 데이터 액세스 권한 정의

4단계: 테이블 액세스 제어를 사용하여 데이터 액세스 권한 정의를참조하세요.

5단계: 개체 소유자 설정

5단계: (선택 사항) 소유자 설정을참조하세요.

자격 증명 통과에 대해 구성된 클러스터를 사용하여 액세스 구성

Data Science Engineering 작업 영역에서 자격 증명 통과에 대해 구성된 클러스터를 사용하고 & Databricks SQL 데이터에 액세스하려는 경우 이 섹션의 단계를 따릅니다.

Databricks SQL 쿼리하려는 데이터의 경우 기본 클라우드 스토리지에 대한 액세스는 를 사용하여 구성됩니다.. Databricks SQL endpoints all share the same cloud storage access credentials.

요구 사항

  • Premium 계획에 대한 계정을 Azure Databricks.
  • Databricks SQL 엔드포인트입니다.
  • 데이터에 대한 액세스 권한을 부여할 사용자를 나타내는 그룹입니다.

1단계: (선택 사항) 각 Azure Data Lake Storage Gen2 계정에 대한 서비스 주체 만들기

참고

  • 기존 서비스 주체를 다시 사용할 수 있습니다. Data Science Engineering 작업 영역에서 사용되는 기존 서비스 주체는 & Databricks SQL 재사용할 수 있습니다. 이 옵션의 경우 이 단계를 건너뛸 수 있습니다.
  • Databricks는 스토리지 계정 수준에서 구성된 경우 기존 서비스 주체를 다시 사용하거나 해당 수준에서 기존 서비스 주체에 액세스 권한을 부여하는 것이 좋습니다.

1단계: (선택 사항) 각 Azure Data Lake Storage Gen2 스토리지 계정에 대한 서비스 주체 만들기를참조하세요.

2단계: 기본 클라우드 스토리지에 대한 서비스 주체 액세스 권한 부여

2단계: 서비스 주체에게 Azure Data Lake Storage Gen2 계정에 대한 액세스 권한 부여를 참조하세요.

또한 각 스토리지 계정에 대해 그룹당 파일 기반 ACL을 기록하여 4단계의 문에 알릴 수 GRANT 있습니다.

3단계: 데이터 액세스에 서비스 주체를 사용하도록 SQL 엔드포인트 구성

3단계: 데이터 액세스에 서비스 주체를 사용하도록 Databricks SQL 구성을참조하세요.

4단계: 데이터 액세스 권한 정의

4단계: 테이블 액세스 제어를 사용하여 데이터 액세스 권한 정의를참조하세요.

5단계: 개체 소유자 설정

5단계: (선택 사항) 소유자 설정을참조하세요.