RBAC(역할 기반 액세스 제어)
OneLake RBAC는 역할 할당을 사용하여 해당 멤버에게 권한을 적용합니다. 개인 또는 보안 그룹, Microsoft 365 그룹, 및 배포 목록에 역할을 할당할 수 있습니다. 사용자 그룹의 모든 멤버는 할당된 역할을 얻습니다.
둘 이상의 보안 그룹 또는 Microsoft 365 그룹에 속한 경우 역할에서 제공하는 가장 높은 수준의 권한을 얻습니다. 사용자 그룹을 중첩하고 그룹에 역할을 할당하는 경우 포함된 모든 사용자는 권한을 얻습니다.
OneLake RBAC를 사용하면 사용자가 레이크하우스 항목에 대한 데이터 액세스 역할만 정의할 수 있습니다.
OneLake RBAC는 작업 영역 뷰어를 사용하는 사용자의 데이터 액세스 또는 레이크하우스에 대한 읽기 권한을 제한합니다. 작업 영역 관리자, 구성원 또는 참가자에게는 적용되지 않습니다. 따라서 OneLake RBAC는 읽기 수준의 권한만 지원합니다.
RBAC 역할을 만드는 방법
레이크하우스 데이터 액세스 설정을 통해 OneLake RBAC 역할을 정의하고 관리할 수 있습니다.
데이터 액세스 역할 시작에서 자세히 알아보세요.
레이크하우스의 기본 RBAC 역할
사용자가 새 레이크하우스를 만들 때 OneLake는 이름이 Default Readers
인 기본 RBAC 역할을 생성합니다. 이 역할을 사용하면 ReadAll 권한이 있는 모든 사용자가 항목의 모든 폴더를 읽을 수 있습니다.
기본 역할 정의는 다음과 같습니다.
패브릭 항목 | 역할 이름 | Permission | 포함된 폴더 | 할당된 멤버 |
---|---|---|---|---|
Lakehouse | DefaultReader |
ReadAll | Tables/ 및 Files/ 의 모든 폴더 |
ReadAll 권한이 있는 모든 사용자 |
참고 항목
특정 사용자 또는 특정 폴더에 대한 액세스를 제한하려면 기본 역할을 수정하거나 제거한 후 새 사용자 지정 역할을 만들어야 합니다.
OneLake RBAC의 상속
지정된 폴더에 대해 OneLake RBAC 권한은 항상 폴더의 파일 및 하위 폴더의 전체 계층 구조에 상속됩니다.
예를 들어, 다음과 같은 OneLake의 레이크하우스 계층 구조가 있습니다.
Tables/
──── (empty folder)
Files/
────folder1
│ │ file11.txt
│ │
│ └───subfolder11
│ │ file1111.txt
| │
│ └───subfolder111
| │ file1111.txt
│
└───folder2
│ file21.txt
해당 계층 구조에서 Role1
및 Role2
에 대한 OneLake RBAC 권한은 다음과 같은 방식으로 상속됩니다.
역할 | 사용 권한 | 사용 권한에 정의된 폴더 | 사용 권한을 상속하는 폴더 및 파일 |
Role1 | 읽기 | folder1 |
|
Role2 | 읽기 | folder2 |
|
OneLake RBAC의 순회 및 목록
OneLake RBAC는 데이터를 쉽게 검색할 수 있도록 부모 항목의 자동 순회를 제공합니다. subfolder11에 대한 읽기 권한을 사용자에게 부여하면 해당 사용자는 부모 디렉터리 folder1을 나열하고 트래버스할 수 있습니다. 하위 폴더에 대한 액세스 권한을 부여하면 부모 디렉터리에 대한 검색 및 순회를 제공하는 Windows 폴더 권한과 유사한 기능입니다. 부모에 부여된 목록 및 순회 권한은 직접 부모 외부의 다른 항목으로 확장되지 않으므로 다른 폴더는 안전하게 유지됩니다.
예를 들어, 다음과 같은 OneLake의 레이크하우스 계층 구조가 있습니다.
Tables/
──── (empty folder)
Files/
────folder1
│ │ file11.txt
│ │
│ └───subfolder11
│ │ file111.txt
| │
│ └───subfolder111
| │ file1111.txt
│
└───folder2
│ file21.txt
해당 계층 구조에서 ‘Role1’ 대한 OneLake RBAC 권한은 다음과 같은 액세스를 제공합니다. file11.txt는 subfolder11의 부모가 아니기 때문에 file11.txt에 대한 액세스는 표시되지 않습니다. 마찬가지로 Role2의 경우 file111.txt가 표시되지 않습니다.
역할 | 사용 권한 | 사용 권한에 정의된 폴더 | 사용 권한을 상속하는 폴더 및 파일 |
Role1 | 읽기 | subfolder11 |
|
Role2 | 읽기 | subfolder111 |
|
바로 가기의 경우 목록 동작이 약간 다릅니다. 외부 데이터 원본에 대한 바로 가기는 폴더와 동일하게 동작하지만 다른 OneLake 위치에 대한 바로 가기에는 특수한 동작이 있습니다. OneLake 바로 가기에 대한 액세스는 바로 가기의 대상 권한에 따라 결정됩니다. 바로 가기를 나열할 때 대상 액세스를 확인하기 위한 호출을 수행하지 않습니다. 따라서 디렉터리를 나열할 때 대상에 대한 사용자의 액세스에 관계없이 모든 내부 바로 가기가 반환됩니다. 사용자가 바로 가기를 열려고 하면 액세스 확인이 평가되고 필요한 권한이 있는 데이터만 사용자에게 표시됩니다. 바로 가기에 대한 자세한 내용은 바로 가기 보안 섹션을 참조하세요.
아래 예시는 다음과 같은 폴더 계층 구조를 사용합니다.
Files/
────folder1
│
└───shortcut2
|
└───shortcut3
역할 | 사용 권한 | 사용 권한에 정의된 폴더 | 파일 나열 결과 |
Role1 | 읽기 | folder1 |
|
Role2 | 해당 없음 | 해당 없음 |
|
패브릭 권한으로 OneLake RBAC 권한을 평가하는 방법
작업 영역 및 항목 권한을 사용하면 지정된 항목에 대해 OneLake의 데이터에 대한 "일반" 액세스 권한을 부여할 수 있습니다. OneLake RBAC 권한을 사용하면 OneLake의 데이터 액세스를 특정 폴더로만 제한할 수 있습니다.
OneLake RBAC 및 작업 영역 권한
작업 영역 권한은 OneLake 내의 데이터에 대한 첫 번째 보안 경계입니다. 각 작업 영역은 팀이 데이터를 위해 공동 작업하실 수 있는 단일 도메인 혹은 프로젝트 영역을 나타냅니다. Fabric 작업 영역 역할을 통해 작업 영역의 보안을 관리해 보세요. 다음에서 패브릭 RBAC(역할 기반 액세스 제어)에 대해 자세히 알아봅니다. 작업 영역 역할
Fabric의 작업 영역 역할에서는 다음의 사용 권한을 OneLake에서 부여해 드리고 있습니다.
사용 권한 | 관리자 | Member | 기여자 | 뷰어 |
---|---|---|---|---|
OneLake에서 파일을 보기 | 항상* 예 | 항상* 예 | 항상* 예 | 기본적으로 아닙니다. OneLake RBAC를 사용하여 액세스 권한을 부여합니다. |
OneLake에서 파일을 쓰기 | 항상* 예 | 항상* 예 | 항상* 예 | 아니요 |
참고 항목
*작업 영역 관리자, 멤버 및 참가자 역할은 OneLake에 쓰기 권한을 자동으로 부여하므로 OneLake RBAC 읽기 권한을 재정의합니다.
작업 영역 역할 | OneLake가 RBAC 읽기 권한을 적용하나요? |
---|---|
관리자, 참가자, 멤버 | 아니요, OneLake 보안은 OneLake RBC 읽기 권한을 무시합니다 |
시청자 | 예, 정의된 경우 OneLake RBAC 읽기 권한이 적용됩니다 |
OneLake RBAC 및 레이크하우스 권한
작업 영역 내에서 Fabric 항목은 작업 영역 역할과 별도로 구성된 사용 권한을 가지실 수 있는 것입니다. 항목을 공유하시거나 항목의 사용 권한을 관리하셔서 권한을 구성해 보실 수 있습니다. 다음 사용 권한은 OneLake에서 데이터를 위한 작업을 실행하는 사용자의 기능을 결정해 드리고 있습니다.
레이크하우스 권한
레이크하우스 권한 | OneLake에서 파일을 볼 수 있는 건가요? | OneLake에서 파일을 작성할 수 있는 건가요? | SQL 분석 엔드포인트를 통해서 데이터를 읽을 수 있는 건가요? |
---|---|---|---|
읽기 | 기본적으로 아닙니다. OneLake RBAC를 사용하여 액세스 권한을 부여하세요. | 아니요 | 아니요 |
ReadAll | 기본적으로 예. OneLake RBAC를 사용하여 액세스를 제한합니다. | 아니요 | 아니요 |
쓰기 | 예 | 예 | 예 |
실행, 다시 공유, 출력보기, 로그보기 | 해당 없음 - 자체적으로 부여할 수 없습니다 | 해당 없음 - 자체적으로 부여할 수 없습니다 | 해당 없음 - 자체적으로 부여할 수 없습니다 |
OneLake RBAC 및 레이크하우스 SQL 분석 엔드포인트 권한
SQL 분석 끝점은 Microsoft Fabric의 레이크하우스에서 자동으로 생성되는 웨어하우스입니다. 고객은 레이크하우스의 "레이크" 보기(데이터 엔지니어링 및 Apache Spark 지원)에서 동일한 레이크하우스의 "SQL" 보기로 전환할 수 있습니다. Data Warehouse 설명서: SQL 분석 끝점에서 SQL 분석 끝점에 대해 자세히 알아보세요.
SQL 분석 끝점 권한 | 사용자는 OneLake 끝점을 통해 파일을 볼 수 있나요? | 사용자는 OneLake 끝점을 통해 파일을 쓸 수 있나요? | 사용자는 SQL 분석 끝점을 통해 데이터를 읽을 수 있나요? |
---|---|---|---|
읽기 | 기본적으로 아닙니다. OneLake RBAC를 사용하여 액세스 권한을 부여하세요. | 아니요 | 기본적으로 아니지만 SQL 세부 권한으로 구성할 수 있습니다 |
ReadData | 기본적으로 아닙니다. OneLake RBAC를 사용하여 액세스 권한을 부여합니다. | 예 | 예 |
쓰기 | 예 | 예 | 예 |
OneLake RBAC 및 기본 레이크하우스 의미 체계 모델 권한
Microsoft Fabric에서 사용자가 레이크하우스를 만들면 시스템은 연결된 기본 의미 체계 모델도 프로비전합니다. 기본 의미 체계 모델은 레이크하우스 데이터 위에 메트릭을 포함합니다. 의미 체계 모델을 사용하면 Power BI가 보고할 데이터를 로드할 수 있습니다.
기본 의미 체계 모델 권한 | OneLake에서 파일을 볼 수 있는 건가요? | OneLake에서 파일을 작성할 수 있는 건가요? | 의미 체계 모델에서 스키마를 볼 수 있나요? | 의미 체계 모델에서 데이터를 읽을 수 있나요? |
---|---|---|---|---|
읽기 | 기본적으로 아닙니다. OneLake RBAC를 사용하여 액세스 권한을 부여하세요. | 아니요 | 아니요 | 기본적으로 예. Power BI 개체 수준 보안 및 Power BI 행 수준 보안으로 제한할 수 있나요 |
빌드 | 기본적으로 예. OneLake RBAC를 사용하여 액세스를 제한합니다. | 예 | 예 | 예 |
쓰기 | 예 | 예 | 예 | 예 |
다시 공유 | 해당 없음 - 자체적으로 부여할 수 없습니다 | 해당 없음 - 자체적으로 부여할 수 없습니다 | 해당 없음 - 자체적으로 부여할 수 없습니다 | 해당 없음 - 자체적으로 부여할 수 없습니다 |
레이크하우스 공유 및 OneLake RBAC 권한
사용자가 레이크하우스를 공유하면 작업 영역 및 나머지 항목에 대한 액세스 권한은 부여하지 않고 다른 사용자 또는 사용자 그룹에 레이크하우스에 대한 액세스 권한을 부여합니다. 공유 레이크하우스는 데이터 허브 또는 Microsoft Fabrics의 공유한 항목 섹션을 통해 찾을 수 있습니다.
레이크하우스를 공유하는 경우 SQL 분석 끝점 및 연결된 기본 의미 체계 모델에 대한 액세스 권한도 부여할 수 있습니다.
공유 옵션 | OneLake에서 파일을 볼 수 있는 건가요? | OneLake에서 파일을 작성할 수 있는 건가요? | SQL 분석 엔드포인트를 통해서 데이터를 읽을 수 있는 건가요? | 의미 체계 모델을 보고 빌드할 수 있나요? |
---|---|---|---|---|
추가 사용 권한이 선택되지 않음 | 기본적으로 아닙니다. OneLake RBAC를 사용하여 액세스 권한을 부여하세요. | 아니요 | 아니요 | 아니요 |
모든 Apache Spark를 읽기 | 기본적으로 예. OneLake RBAC를 사용하여 액세스를 제한합니다. | 아니요 | 아니요 | 아니요 |
모든 SQL 엔드포인트의 데이터를 읽기 | 기본적으로 아닙니다. OneLake RBAC를 사용하여 액세스 권한을 부여하세요. | 예 | 예 | 아니요 |
기본 데이터 세트에 대한 보고서 작성 | 기본적으로 예. OneLake RBAC를 사용하여 액세스를 제한합니다. | 아니요 | 아니요 | 예 |
데이터 공유 권한 모델에 대해 자세히 알아보세요.
바로 가기
내부 바로 가기의 OneLake RBAC
레이크하우스의 폴더의 경우, RBAC 권한은 항상 해당 폴더가 대상으로 정의된 모든 내부 바로 가기에 상속됩니다.
사용자가 또 다른 OneLake 위치에 대한 바로 가기를 통해 데이터에 액세스하는 경우, 호출하는 사용자의 ID를 활용하여 바로 가기*의 대상 경로에 있는 데이터에 대한 액세스 권한이 부여됩니다. 따라서 사용자가 데이터를 읽을 수 있으려면 대상 위치에서 사용 권한이 있어야 합니다.
Important
Power BI 의미 체계 모델 또는 T-SQL을 통해 바로 가기에 액세스하는 경우, 호출하는 사용자의 ID는 바로 가기 대상으로 전달되지 않습니다. 대신 호출 항목 소유자의 ID가 전달되어 호출 사용자에게 액세스 권한을 위임합니다.
내부 바로 가기에 대한 RBAC 권한 정의는 허용되지 않으며 대상 항목에 있는 대상 폴더에 대해 정의해야 합니다. RBAC 권한 정의는 레이크하우스 항목으로만 제한되므로 OneLake는 레이크하우스 항목의 폴더를 대상으로 하는 바로 가기에 대해서만 RBAC 권한을 사용하도록 합니다.
다음 표에서는 해당 바로 가기 시나리오가 OneLake RBAC 권한 정의를 지원하는지 여부를 지정합니다.
내부 바로 가기 시나리오 | OneLake RBAC 권한을 지원하나요? | 설명 |
---|---|---|
lakehouse1에 있는 바로 가기로 동일한 lakehouse에 위치한 folder2를 가리킵니다. | 지원. | 바로 가기의 데이터에 대한 액세스를 제한하려면 folder2에 대한 OneLake RBAC를 정의합니다. |
lakehouse1에 있는 바로 가기로 다른 lakehouse2에 위치한 folder2를 가리킵니다 | 지원. | 바로 가기의 데이터에 대한 액세스를 제한하려면 lakehouse2의 folder2에 대한 OneLake RBAC를 정의합니다. |
데이터 웨어하우스에 있는 테이블을 가리키는 레이크하우스의 바로 가기 | 지원되지 않습니다. | OneLake는 데이터 웨어하우스에서 RBAC 권한 정의를 지원하지 않습니다. 액세스는 대신 ReadAll 권한에 따라 결정됩니다. |
KQL 데이터베이스에 있는 테이블을 가리키는 레이크하우스의 바로 가기 | 지원되지 않습니다. | OneLake는 KQL 데이터베이스에서 RBAC 권한 정의를 지원하지 않습니다. 액세스는 대신 ReadAll 권한에 따라 결정됩니다. |
외부 바로 가기(ADLS, S3, Dataverse)의 OneLake RBAC
OneLake는 ADLS, S3 및 Dataverse 바로 가기와 같은 바로 가기에 대한 RBAC 권한 정의를 지원합니다. 이 경우, RBAC 모델은 이러한 유형의 바로 가기에 대해 사용하도록 설정된 위임된 권한 부여 모델 상위에 적용됩니다.
가령, user1이 AWS S3 버킷의 폴더를 가리키는 레이크하우스에 S3 바로 가기를 만든다고 가정합니다. 그리고 user2가 이 바로 가기에서 데이터에 액세스하려고 합니다.
S3 연결이 위임된 user1에 대한 액세스 권한을 부여하나요? | OneLake RBAC가 요청 중인 user2에 대한 액세스 권한을 부여하나요? | 결과: user2가 S3 바로 가기에서 데이터에 액세스할 수 있나요? |
---|---|---|
예 | 예 | 예 |
아니요 | 아니요 | 아니요 |
아니요 | 예 | 아니요 |
예 | 아니요 | 아니요 |
RBAC 권한은 바로 가기의 전체 범위(전체 대상 폴더)에 대해 정의되어야 하지만 모든 하위 폴더 및 파일에 재귀적으로 상속됩니다.
OneLake 바로 가기에서 S3, ADLS 및 Dataverse 바로 가기에 대해 자세히 알아봅니다.
OneLake RBAC의 한도
다음 표에서는 OneLake 데이터 액세스 역할의 제한 사항을 제공합니다.
시나리오 | 제한 |
---|---|
패브릭 항목당 OneLake RBAC 역할의 최대 수 | 각 레이크하우스 항목에 대해 최대 250 역할. |
OneLake RBAC 역할당 최대 멤버 수 | 역할당 최대 500명의 사용자 및 사용자 그룹. |
OneLake RBAC 역할당 최대 사용 권한 수 | 역할당 최대 500개의 권한 |
OneLake RBAC의 대기 시간
- OneLake RBAC 역할 정의를 변경하는 경우 OneLake가 업데이트된 정의를 적용하는 데 약 5분이 걸립니다.
- OneLake RBAC 역할에서 사용자 그룹을 변경하는 경우 OneLake가 업데이트된 사용자 그룹에 역할의 권한을 적용하는 데 약 1시간이 걸립니다.