Управление доступом на основе ролей (RBAC)
OneLake RBAC использует назначения ролей для применения разрешений к его членам. Вы можете назначать роли отдельным лицам или группам безопасности, группам Microsoft 365 и спискам рассылки. Каждый член в группе пользователей получает назначенную роль.
Если кто-то находится в двух или более группах безопасности или в группе Microsoft 365, они получают наивысший уровень разрешений, предоставляемых ролями. При вложении групп пользователей и назначении роли группе все содержащиеся пользователи имеют разрешения.
OneLake RBAC позволяет пользователям определять роли доступа к данным только для элементов Lakehouse.
OneLake RBAC ограничивает доступ к данным для пользователей с помощью средства просмотра рабочей области или доступа на чтение к lakehouse. Он не применяется к администраторам рабочей области, членам или участникам. В результате OneLake RBAC поддерживает только уровень разрешений чтения.
Создание ролей RBAC
Вы можете определять роли OneLake RBAC и управлять ими с помощью параметров доступа к данным Lakehouse.
Дополнительные сведения см. в разделе "Начало работы с ролями доступа к данным".
Роль RBAC по умолчанию в Lakehouse
При создании нового lakehouse OneLake создает роль Default Readers
RBAC по умолчанию. Роль позволяет всем пользователям с разрешением ReadAll читать все папки в элементе.
Ниже приведено определение роли по умолчанию:
Элемент Fabric | Имя роли | Разрешение | Включенные папки | Назначенные члены |
---|---|---|---|---|
Гибридное решение "хранилище и озеро данных" | DefaultReader |
ReadAll | Все папки в Tables/ и Files/ |
Все пользователи с разрешением ReadAll |
Примечание.
Чтобы ограничить доступ к определенным пользователям или определенным папкам, необходимо изменить роль по умолчанию или удалить ее и создать пользовательскую роль.
Наследование в OneLake RBAC
Для любой папки разрешения OneLake RBAC всегда наследуются всей иерархии файлов и вложенных папок папки.
Например, учитывая следующую иерархию lakehouse в OneLake.
Tables/
──── (empty folder)
Files/
────folder1
│ │ file11.txt
│ │
│ └───subfolder11
│ │ file1111.txt
| │
│ └───subfolder111
| │ file1111.txt
│
└───folder2
│ file21.txt
Для данной иерархии разрешения OneLake RBAC для Role1
и Role2
наследуются следующим образом:
Роль | Разрешение | Папка, определенная в разрешении | Папки и файлы, наследующие разрешение |
Role1 | Читать | folder1 |
|
Role2 | Читать | folder2 |
|
Обход и перечисление в OneLake RBAC
OneLake RBAC предоставляет автоматический обход родительских элементов, чтобы обеспечить простое обнаружение данных. Предоставление пользователю права чтения в вложенную папку11 предоставляет пользователю возможность перечисления и обхода родительской папки каталога1. Эта функция аналогична разрешениям папки Windows, где предоставление доступа к вложенной папке обеспечивает обнаружение и обход для родительских каталогов. Список и обход, предоставленный родительскому элементу, не распространяется на другие элементы за пределами прямых родителей, обеспечивая безопасность других папок.
Например, учитывая следующую иерархию lakehouse в OneLake.
Tables/
──── (empty folder)
Files/
────folder1
│ │ file11.txt
│ │
│ └───subfolder11
│ │ file111.txt
| │
│ └───subfolder111
| │ file1111.txt
│
└───folder2
│ file21.txt
Для данной иерархии разрешения OneLake RBAC для Role1 предоставляют следующий доступ. Обратите внимание, что доступ к file11.txt не отображается, так как он не является родительским элементом вложенной папки11. Аналогичным образом для Role2 file111.txt не отображается.
Роль | Разрешение | Папка, определенная в разрешении | Папки и файлы, наследующие разрешение |
Role1 | Читать | вложенная папка11 |
|
Role2 | Читать | вложенные папки111 |
|
Для сочетаний клавиш поведение перечисления немного отличается. Ярлыки для внешних источников данных ведут себя так же, как и папки, однако ярлыки к другим расположениям OneLake имеют специализированное поведение. Доступ к ярлыку OneLake определяется целевыми разрешениями ярлыка. При перечислении ярлыков вызов не выполняется для проверки целевого доступа. В результате при перечислении каталога все внутренние сочетания клавиш будут возвращены независимо от доступа пользователя к целевому объекту. Когда пользователь пытается открыть ярлык, проверка доступа будет оцениваться, и пользователь увидит только данные, необходимые для просмотра. Дополнительные сведения о сочетаниях клавиш см. в разделе безопасности сочетаний клавиш.
В приведенных ниже примерах используется следующая иерархия папок.
Files/
────folder1
│
└───shortcut2
|
└───shortcut3
Роль | Разрешение | Папка, определенная в разрешении | Результат перечисления файлов |
Role1 | Читать | folder1 |
|
Role2 | N/A | N/A |
|
Как разрешения OneLake RBAC оцениваются с помощью разрешений Fabric
Разрешения рабочей области и элемента позволяют предоставлять доступ к данным в OneLake для данного элемента. Разрешения OneLake RBAC позволяют ограничить доступ к данным в OneLake только определенным папкам.
Разрешения OneLake RBAC и рабочей области
Разрешения рабочей области — это первая граница безопасности для данных в OneLake. Каждая рабочая область представляет отдельный домен или область проекта, в которой команды могут совместно работать с данными. Вы управляете безопасностью в рабочей области с помощью ролей рабочей области Fabric. Дополнительные сведения об управлении доступом на основе ролей Fabric (RBAC): роли рабочей области
Роли рабочей области в Fabric предоставляют следующие разрешения в OneLake.
Разрешение | Администратор | Член | Участник | Зритель |
---|---|---|---|---|
Просмотр файлов в OneLake | Всегда* Да | Всегда* Да | Всегда* Да | Нет по умолчанию. Используйте OneLake RBAC для предоставления доступа. |
Запись файлов в OneLake | Всегда* Да | Всегда* Да | Всегда* Да | No |
Примечание.
*Так как роли администратора рабочей области, участника и участника автоматически предоставляют разрешения на запись в OneLake, он переопределяет разрешения на чтение OneLake RBAC.
Роль рабочей области | Применяет ли OneLake разрешения на чтение RBAC? |
---|---|
Администратор, участник, член | Нет, OneLake Security игнорирует разрешения на чтение OneLake RBC |
Наблюдатель | Да, если определено, будут применены разрешения на чтение OneLake RBAC |
Разрешения OneLake RBAC и Lakehouse
В рабочей области элементы Fabric могут иметь разрешения, настроенные отдельно от ролей рабочей области. Разрешения можно настроить с помощью общего доступа к элементу или управления разрешениями элемента. Следующие разрешения определяют возможность пользователя выполнять действия с данными в OneLake.
Разрешения Lakehouse
Разрешение Lakehouse | Можно ли просматривать файлы в OneLake? | Может ли записывать файлы в OneLake? | Может ли считывать данные через конечную точку аналитики SQL? |
---|---|---|---|
Читать | Нет по умолчанию, используйте OneLake RBAC для предоставления доступа. | No | No |
ReadAll | Да по умолчанию. Используйте OneLake RBAC для ограничения доступа. | No | No |
Write | Да | Да | Да |
Execute, Reshare, ViewOutput, ViewLogs | N/A - не может быть предоставлено самостоятельно | N/A - не может быть предоставлено самостоятельно | N/A - не может быть предоставлено самостоятельно |
Разрешения oneLake RBAC и Lakehouse SQL Analytics Endpoint
Конечная точка аналитики SQL — это хранилище, которое автоматически создается из Lakehouse в Microsoft Fabric. Клиент может перейти с представления Lakehouse (который поддерживает проектирование данных и Apache Spark) в представление "SQL" того же Lakehouse. Дополнительные сведения о конечной точке аналитики SQL в документации по хранилищу данных: конечная точка аналитики SQL.
Разрешение конечной точки аналитики SQL | Пользователи могут просматривать файлы через конечную точку OneLake? | Пользователи могут записывать файлы с помощью конечной точки OneLake? | Пользователи могут считывать данные через конечную точку аналитики SQL? |
---|---|---|---|
Читать | Нет по умолчанию, используйте OneLake RBAC для предоставления доступа. | No | Нет по умолчанию, но можно настроить с подробными разрешениями SQL |
ReadData | Нет по умолчанию. Используйте OneLake RBAC для предоставления доступа. | No | Да |
Write | Да | Да | Да |
Разрешения oneLake RBAC и семантической модели Lakehouse по умолчанию
В Microsoft Fabric, когда пользователь создает lakehouse, система также подготавливает связанную семантику по умолчанию. По умолчанию семантическая модель содержит метрики на вершине данных Lakehouse. Семантическая модель позволяет Power BI загружать данные для создания отчетов.
Разрешение семантической модели по умолчанию | Можно ли просматривать файлы в OneLake? | Может ли записывать файлы в OneLake? | Можно ли просмотреть схему в семантической модели? | Может ли считывать данные в семантической модели? |
---|---|---|---|---|
Читать | Нет по умолчанию, используйте OneLake RBAC для предоставления доступа. | No | No | Да по умолчанию. Можно ограничить безопасность на уровне объектов Power BI и безопасность на уровне строк Power BI |
Сборка | Да по умолчанию. Используйте OneLake RBAC для ограничения доступа. | Да | Да | Да |
Write | Да | Да | Да | Да |
Reshare | N/A - не может быть предоставлено самостоятельно | N/A - не может быть предоставлено самостоятельно | N/A - не может быть предоставлено самостоятельно | N/A - не может быть предоставлено самостоятельно |
Доступ к Lakehouse и разрешения OneLake RBAC
Когда пользователь предоставляет доступ к озеру, они предоставляют другим пользователям или группе пользователей доступ к lakehouse без предоставления доступа к рабочей области и остальным его элементам. Общие озера можно найти в Центре данных или разделе "Общий доступ ко мне" в Microsoft Fabrics.
Если кто-то предоставляет общий доступ к лейкхаусу, он также может предоставить доступ к конечной точке аналитики SQL и связанной с ней семантической модели по умолчанию.
Вариант общего доступа | Можно ли просматривать файлы в OneLake? | Может ли записывать файлы в OneLake? | Может ли считывать данные через конечную точку аналитики SQL? | Можно ли просматривать и создавать семантические модели? |
---|---|---|---|---|
Дополнительные разрешения не выбраны | Нет по умолчанию, используйте OneLake RBAC для предоставления доступа. | No | No | No |
Чтение всех Apache Spark | Да по умолчанию. Используйте OneLake RBAC для ограничения доступа. | No | No | No |
Чтение всех данных конечной точки SQL | Нет по умолчанию, используйте OneLake RBAC для предоставления доступа. | No | Да | Нет |
Создание отчетов на основе набора данных по умолчанию | Да по умолчанию. Используйте OneLake RBAC для ограничения доступа. | No | No | Да |
Дополнительные сведения о модели разрешений для общего доступа к данным:
- Как работает общий доступ к Lakehouse
- Предоставление общего доступа к хранилищу и управление разрешениями
Ярлыки
OneLake RBAC в внутренних ярлыках
Для любой папки в lakehouse разрешения RBAC всегда наследуются всем внутренним ярлыкам , в которых эта папка определена как целевая.
Когда пользователь обращается к данным через ярлык к другому расположению OneLake, удостоверение вызывающего пользователя используется для авторизации доступа к данным в целевом пути ярлыка*. В результате у этого пользователя должны быть разрешения OneLake RBAC в целевом расположении для чтения данных.
Внимание
При доступе к сочетаниям клавиш через семантические модели Power BI или T-SQL удостоверение вызывающего пользователя не передается в целевой объект ярлыка. Вместо этого передается удостоверение владельца вызывающего элемента, делегируя доступ к вызывающму пользователю.
Определение разрешений RBAC для внутреннего ярлыка запрещено и должно быть определено в целевой папке, расположенной в целевом элементе. Так как определение разрешений RBAC ограничено только элементами Lakehouse, OneLake включает разрешения RBAC только для ярлыков, предназначенных для папок в lakehouse.
В следующей таблице указывается, поддерживается ли соответствующий сценарий ярлыка для определения разрешений OneLake RBAC.
Сценарий внутреннего сочетания клавиш | Поддерживаемые разрешения OneLake RBAC? | Комментарии |
---|---|---|
Ярлык в lakehouse1, указывающий на папку 2, расположенную в том же озерном доме. | Поддерживается. | Чтобы ограничить доступ к данным в сочетании клавиш, определите OneLake RBAC для folder2. |
Ярлык в lakehouse1, указывающий на папку2, расположенную в другом lakehouse2 | Поддерживается. | Чтобы ограничить доступ к данным в сочетании клавиш, определите OneLake RBAC для папки2 в Lakehouse2. |
Ярлык в озерном доме, указывающий на таблицу, расположенную в хранилище данных | Не поддерживается. | OneLake не поддерживает определение разрешений RBAC в хранилищах данных. Вместо этого доступ определяется на основе разрешения ReadAll. |
Ярлык в lakehouse, указывающий на таблицу, расположенную в базе данных KQL | Не поддерживается. | OneLake не поддерживает определение разрешений RBAC в базах данных KQL. Вместо этого доступ определяется на основе разрешения ReadAll. |
OneLake RBAC в внешних ярлыках (ADLS, S3, Dataverse)
OneLake поддерживает определение разрешений RBAC для таких сочетаний клавиш, как ADLS, S3 и Dataverse. В этом случае модель RBAC применяется поверх делегированной модели авторизации, включенной для этого типа ярлыка.
Предположим, пользователь1 создает ярлык S3 в lakehouse, указывающий на папку в контейнере AWS S3. Затем пользователь2 пытается получить доступ к данным в этом ярлыке.
Авторизует ли подключение S3 для делегированного пользователя 1? | Авторизует ли OneLake RBAC доступ для запрашивающего пользователя2? | Результат. Может ли пользователь2 получить доступ к данным в сочетании клавиш S3? |
---|---|---|
Да | Да | Да |
No | No | No |
No | Да | No |
Да | No | No |
Разрешения RBAC должны быть определены для всей области ярлыка (всей целевой папки), но наследуют рекурсивно ко всем вложенным папкам и файлам.
Дополнительные сведения о сочетаниях клавиш S3, ADLS и Dataverse см. в сочетаниях клавиш OneLake.
Ограничения на OneLake RBAC
В следующей таблице приведены ограничения ролей доступа к данным OneLake.
Сценарий | Лимит |
---|---|
Максимальное число ролей OneLake RBAC на элемент Fabric | Не более 250 ролей для каждого элемента Lakehouse. |
Максимальное число членов на роль OneLake RBAC | По крайней мере 500 пользователей и групп пользователей на роль. |
Максимальное число разрешений на роль OneLake RBAC | Не более 500 разрешений на роль |
Задержки в OneLake RBAC
- Если изменить определение роли OneLake RBAC, для применения обновленных определений потребуется около 5 минут.
- Если изменить группу пользователей в роли OneLake RBAC, для применения разрешений роли OneLake в обновленной группе пользователей потребуется около часа.