다음을 통해 공유


OneLake의 열 수준 보안(미리 보기)

CLS(열 수준 보안)는 테이블에 대한 모든 액세스 권한 대신 테이블에서 선택한 열에 액세스할 수 있는 OneLake 보안(미리 보기) 의 기능입니다. CLS를 사용하면 사용자가 액세스할 수 있는 테이블의 하위 집합을 지정할 수 있습니다. 목록에서 제거된 열은 사용자에게 표시되지 않습니다.

비고

OneLake 보안은 현재 제한된 미리 보기로 제공됩니다. 미리 보기에 참가하고 이러한 기능에 액세스하도록 요청하려면 에서 https://aka.ms/onelakesecuritypreview양식을 작성합니다.

필수 조건

열별 보안을 강화하십시오

OneLake 보안 CLS는 다음 두 가지 방법 중 하나로 적용됩니다.

  • 패브릭 엔진의 필터링된 테이블: Spark Notebook과 같은 패브릭 엔진을 쿼리하면 CLS 규칙에 따라 볼 수 있는 열만 사용자에게 표시됩니다.
  • 테이블에 대한 액세스 차단: CLS 규칙이 적용된 테이블은 지원되는 패브릭 엔진 외부에서 읽을 수 없습니다.

필터링된 표의 경우 다음과 같은 동작이 적용됩니다.

  • CLS 규칙은 관리자, 멤버 및 참가자 역할이 있는 사용자에 대한 액세스를 제한하지 않습니다.
  • CLS 규칙이 정의된 테이블과 일치하지 않으면 쿼리가 실패하고 열이 반환되지 않습니다. CLS가 테이블에 포함되지 않은 열에 대해 정의된 경우를 예로 들 수 있습니다.
  • 사용자가 두 개의 다른 역할에 속해 있고 그 역할 중 하나에 RLS(행 수준 보안)가 있는 경우, CLS 테이블 쿼리는 오류와 함께 실패합니다.
  • CLS 규칙은 델타 parquet 테이블 개체에만 적용할 수 있습니다.
    • 델타가 아닌 테이블 개체에 적용되는 CLS 규칙은 역할의 멤버에 대한 전체 테이블에 대한 액세스를 차단합니다.
  • 사용자가 일부 열에만 액세스할 수 있는 테이블에서 쿼리를 실행하는 select * 경우 CLS 규칙은 패브릭 엔진에 따라 다르게 동작합니다.
    • Spark Notebook: 쿼리가 성공하고 허용된 열만 표시됩니다.
    • SQL 분석 엔드포인트: 사용자가 액세스할 수 없는 열에 대해 열 액세스가 차단됩니다.
    • 의미 체계 모델: 사용자가 액세스할 수 없는 열에 대한 열 액세스는 차단됩니다.

열 수준의 보안 규칙을 정의합니다.

항목의 테이블 섹션에 있는 델타-parquet 테이블에 대한 OneLake 보안 역할의 일부로 열 수준 보안을 정의할 수 있습니다. CLS는 항상 테이블에 대해 지정되며 사용하도록 설정되거나 사용하지 않도록 설정됩니다. 기본적으로 CLS는 사용하지 않도록 설정되어 있으며 사용자는 모든 열에 액세스할 수 있습니다. 사용자는 CLS를 사용하도록 설정하고 목록에서 열을 제거하여 액세스 권한을 철회할 수 있습니다.

중요합니다

열에 대한 액세스 권한을 제거해도 다른 역할이 해당 열에 대한 액세스 권한을 부여한 경우에는 해당 열에 대한 액세스 권한이 거부되지 않습니다.

열 수준 보안을 정의하려면 다음 단계를 따릅니다.

  1. 데이터 항목으로 이동하고 OneLake 보안 관리(미리 보기)를 선택합니다.

  2. 테이블 또는 폴더 보안을 정의할 기존 역할을 선택하거나 새로 만들기를 선택하여 새 역할을 만듭니다.

  3. 역할 세부 정보 페이지에서 CLS를 정의할 테이블 옆에 있는 추가 옵션(...)을 선택한 다음 열 보안(미리 보기)을 선택합니다.

    테이블에 대한 사용 권한을 편집하기 위해 '열 보안'을 선택하는 것을 보여 주는 스크린샷.

  4. 기본적으로 테이블에 대한 CLS는 사용하지 않도록 설정되어 있습니다. CLS 사용을 선택하거나 새 규칙을 만들어 사용하도록 설정합니다.

    UI에는 사용자가 볼 수 있는 해당 테이블의 열 목록이 채워집니다. 기본적으로 모든 열이 표시됩니다.

  5. 열에 대한 액세스를 제한하려면 열 이름 옆에 있는 확인란을 선택한 다음 제거를 선택합니다. 허용 열 목록에 최소한 하나의 열이 남아 있어야 합니다.

  6. 저장을 선택하여 역할을 업데이트합니다.

  7. 제거된 열을 추가하려면 새 규칙을 선택합니다. 이 작업을 수행하면 목록 끝에 새로운 CLS 규칙 항목이 추가됩니다. 그런 다음 드롭다운을 사용하여 액세스에 포함할 열을 선택합니다.

  8. 변경 내용을 완료한 후 저장을 선택합니다.

SQL 분석 엔드포인트에 OneLake 보안 사용

SQL 분석 엔드포인트에서 OneLake 보안을 사용하려면 먼저 사용자의 ID 모드를 사용하도록 설정해야 합니다. 새로 만든 SQL 분석 엔드포인트는 기본적으로 사용자의 ID 모드로 설정되므로 기존 SQL 분석 엔드포인트에 대해서는 이러한 단계를 따라야 합니다.

비고

사용자의 ID 모드로 전환하려면 SQL 분석 엔드포인트당 한 번만 수행해야 합니다. 사용자의 ID 모드로 전환되지 않은 엔드포인트는 계속해서 위임된 ID를 사용하여 권한을 평가합니다.

  1. SQL 분석 엔드포인트로 이동합니다.

  2. SQL 분석 엔드포인트 환경의 위쪽 리본에서 보안 탭을 선택합니다.

  3. OneLake 액세스 모드에서 사용자의 ID를 선택합니다.

    SQL 분석 엔드포인트에 OneLake 보안을 사용하도록 설정하는 '사용자 ID'를 선택하는 스크린샷.

  4. 프롬프트에서 예를 선택하고 사용자의 ID를 사용합니다.

    테이블 읽기 액세스에 OneLake 보안을 사용하도록 설정하려면 수락해야 하는 사용자 프롬프트를 보여 주는 스크린샷.

이제 SQL 분석 엔드포인트가 OneLake 보안과 함께 사용할 준비가 되었습니다.

행 수준 및 열 수준 보안을 결합합니다.

행 수준 및 열 수준 보안을 함께 사용하여 테이블에 대한 사용자 액세스를 제한할 수 있습니다. 그러나 두 정책은 단일 OneLake 보안 역할을 사용하여 적용해야 합니다. 이 시나리오에서는 한 역할에 설정된 규칙에 따라 데이터 액세스가 제한됩니다.

OneLake 보안은 RLS 규칙을 포함하는 하나와 CLS 규칙을 포함하는 두 개 이상의 역할의 조합을 지원하지 않습니다. 지원되지 않는 역할 조합에 속하는 테이블에 액세스하려는 사용자는 쿼리 오류를 받습니다.