Compartir a través de


OneLake Data Access Security - Create Or Update Data Access Roles

Crea o actualiza los roles de acceso a datos en OneLake.

Note

Esta API forma parte de una versión preliminar y solo se proporciona con fines de evaluación y desarrollo. Puede cambiar en función de los comentarios y no se recomienda para su uso en producción.

Ámbitos delegados necesarios

OneLake.ReadWrite.All

Identidades admitidas de Microsoft Entra

Esta API admite las identidades de Microsoft enumeradas en esta sección.

Identity Support
User Yes
Entidad de servicio e Identidades administradas Yes

Interface

PUT https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/dataAccessRoles
PUT https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/{itemId}/dataAccessRoles?dryRun={dryRun}

Parámetros de identificador URI

Nombre En Requerido Tipo Description
itemId
path True

string (uuid)

Identificador del elemento fabric para colocar los roles.

workspaceId
path True

string (uuid)

El identificador del área de trabajo.

dryRun
query

boolean

Se usa para desencadenar una ejecución seca de la llamada API. True: la llamada API desencadenará una ejecución en seco y no se cambiará ningún rol. False: no desencadenará una ejecución en seco y se actualizarán los roles.

Encabezado de la solicitud

Nombre Requerido Tipo Description
If-Match

string

Un valor ETag. El ETag debe especificarse entre comillas. Si se proporciona, la llamada solo se realizará correctamente si la ETag del recurso coincide con la ETag proporcionada.

If-None-Match

string

Un valor ETag. El ETag debe especificarse entre comillas. Si se proporciona, la llamada solo se realizará correctamente si la ETag del recurso no coincide con la ETag proporcionada.

Cuerpo de la solicitud

Nombre Tipo Description
value

DataAccessRole[]

Lista de roles que se usan para administrar la seguridad del acceso a datos y asegurarse de que solo los usuarios autorizados puedan ver determinados datos. Un rol representa un conjunto de permisos y ámbitos de permisos que definen las acciones que sus miembros pueden realizar para los datos en el ámbito. Los miembros son usuarios o grupos a los que se les ha concedido el rol y pueden leer los datos en función de los permisos asignados al rol. Por ejemplo, un miembro puede ser un grupo de identificadores de Entra de Microsoft y un ámbito de permisos puede ser una acción de lectura aplicada en la ruta de acceso dada a archivo, carpetas o tablas en OneLake.

Respuestas

Nombre Tipo Description
200 OK

Solicitud completada correctamente.

Encabezados

Etag: string

Other Status Codes

ErrorResponse

Códigos de error comunes:

  • ItemNotFound: indica que el servidor no encuentra el elemento solicitado.

  • Condición previaFailed -Indicates que la ETag del recurso actual no coincide con el valor especificado en el encabezado If-Match.

Ejemplos

Create or update data access roles example
Create or update data access roles with constraints example
Create or update data access roles with tables path example

Create or update data access roles example

Solicitud de ejemplo

PUT https://api.fabric.microsoft.com/v1/workspaces/cfafbeb1-8037-4d0c-896e-a46fb27ff222/items/25bac802-080d-4f73-8a42-1b406eb1fceb/dataAccessRoles

{
  "value": [
    {
      "name": "default_role_1",
      "decisionRules": [
        {
          "effect": "Permit",
          "permission": [
            {
              "attributeName": "Path",
              "attributeValueIncludedIn": [
                "*"
              ]
            },
            {
              "attributeName": "Action",
              "attributeValueIncludedIn": [
                "Read"
              ]
            }
          ]
        }
      ],
      "members": {
        "fabricItemMembers": [
          {
            "itemAccess": [
              "ReadAll"
            ],
            "sourcePath": "cfafbeb1-8037-4d0c-896e-a46fb27ff222/25bac802-080d-4f73-8a42-1b406eb1fceb"
          }
        ]
      }
    }
  ]
}

Respuesta de muestra

ETag: 33a64df551425fcc55e4d42a148795d9f25f89d4

Create or update data access roles with constraints example

Solicitud de ejemplo

PUT https://api.fabric.microsoft.com/v1/workspaces/cfafbeb1-8037-4d0c-896e-a46fb27ff222/items/25bac802-080d-4f73-8a42-1b406eb1fceb/dataAccessRoles

{
  "value": [
    {
      "name": "default_role_1",
      "decisionRules": [
        {
          "effect": "Permit",
          "permission": [
            {
              "attributeName": "Path",
              "attributeValueIncludedIn": [
                "*"
              ]
            },
            {
              "attributeName": "Action",
              "attributeValueIncludedIn": [
                "Read"
              ]
            }
          ],
          "constraints": {
            "columns": [
              {
                "tablePath": "/Tables/industrytable",
                "columnNames": [
                  "Industry"
                ],
                "columnEffect": "Permit",
                "columnAction": [
                  "Read"
                ]
              }
            ],
            "rows": [
              {
                "tablePath": "/Tables/industrytable",
                "value": "select * from Industrytable where Industry=\"Green\""
              }
            ]
          }
        }
      ],
      "members": {
        "fabricItemMembers": [
          {
            "itemAccess": [
              "ReadAll"
            ],
            "sourcePath": "cfafbeb1-8037-4d0c-896e-a46fb27ff222/25bac802-080d-4f73-8a42-1b406eb1fceb"
          }
        ]
      }
    }
  ]
}

Respuesta de muestra

ETag: 33a64df551425fcc55e4d42a148795d9f25f89d4

Create or update data access roles with tables path example

Solicitud de ejemplo

PUT https://api.fabric.microsoft.com/v1/workspaces/cfafbeb1-8037-4d0c-896e-a46fb27ff222/items/25bac802-080d-4f73-8a42-1b406eb1fceb/dataAccessRoles

{
  "value": [
    {
      "name": "default_role_1",
      "decisionRules": [
        {
          "effect": "Permit",
          "permission": [
            {
              "attributeName": "Path",
              "attributeValueIncludedIn": [
                "/Tables/sales",
                "/Tables/users"
              ]
            },
            {
              "attributeName": "Action",
              "attributeValueIncludedIn": [
                "Read"
              ]
            }
          ]
        }
      ],
      "members": {
        "fabricItemMembers": [
          {
            "itemAccess": [
              "ReadAll"
            ],
            "sourcePath": "cfafbeb1-8037-4d0c-896e-a46fb27ff222/25bac802-080d-4f73-8a42-1b406eb1fceb"
          }
        ]
      }
    }
  ]
}

Respuesta de muestra

ETag: 33a64df551425fcc55e4d42a148795d9f25f89d5

Definiciones

Nombre Description
AttributeName

Especifica el nombre del atributo que se está evaluando para los permisos de acceso. AttributeName puede ser Path o Action. Se pueden agregar tipos attributeName adicionales a lo largo del tiempo.

ColumnAction

Matriz de acciones aplicadas a columnNames. Esto determina qué acciones podrá realizar un usuario en columnas. Los valores permitidos son: Read. Se pueden agregar tipos columnAction adicionales a lo largo del tiempo.

ColumnConstraint

ColumnConstraint indica una restricción que determina los permisos y la visibilidad que un usuario tiene en las columnas de una tabla.

ColumnEffect

Efecto proporcionado a columnNames. El único valor permitido es Permitir. Se pueden agregar tipos de columnEffect adicionales a lo largo del tiempo.

Constraints

Cualquier restricción, como la seguridad de nivel de fila o columna que se aplique a las tablas como parte de este rol. Si no se incluye, no se aplican restricciones a ninguna tabla del rol.

CreateOrUpdateDataAccessRolesRequest

Contiene la definición de roles que se usan para administrar la seguridad de acceso a datos y asegurarse de que solo los usuarios autorizados puedan ver, editar o eliminar determinados datos. Al llamar a esta API, se actualizan las definiciones de roles y se crean, actualizan o eliminan roles para que coincidan con la carga proporcionada.

DataAccessRole

Un rol de acceso a datos representa un conjunto de permisos y ámbitos de permisos que definen qué acciones pueden realizar sus miembros para los datos en el ámbito. Los roles de acceso a datos se usan para administrar la seguridad del acceso a datos y garantizar que solo los usuarios autorizados puedan ver, editar o eliminar determinados datos. Los miembros son usuarios o grupos a los que se les ha concedido el rol y pueden leer los datos en función de los permisos asignados al rol. Por ejemplo, un miembro puede ser un grupo de identificadores de Entra de Microsoft y un ámbito de permisos puede ser una acción de lectura aplicada en la ruta de acceso dada a archivo, carpetas o tablas en OneLake.

DecisionRule

Especifica una regla para que coincida con la acción solicitada. Contiene efecto (Permiso) y Permiso que determinan si un usuario o entidad está autorizado para realizar una acción específica (por ejemplo, leer) en un recurso. El permiso es un conjunto de ámbitos, definidos por atributos, que deben coincidir con la acción solicitada para que se aplique la regla.

Effect

Efecto que un rol tiene sobre el acceso al recurso de datos. Actualmente, el único tipo de efecto admitido es Permit, que concede acceso al recurso. Se pueden agregar tipos de efecto adicionales a lo largo del tiempo.

ErrorRelatedResource

Objeto de detalles del recurso relacionado con el error.

ErrorResponse

Respuesta de error.

ErrorResponseDetails

Detalles de la respuesta de error.

FabricItemMember

Miembro del elemento de tejido.

ItemAccess

Lista que especifica los permisos de acceso para que el usuario de Fabric tenga que incluirse automáticamente en los miembros del rol. Se pueden agregar tipos de itemAccess adicionales a lo largo del tiempo.

Members

Objeto members que contiene los miembros del rol como matrices de diferentes tipos de miembro.

MicrosoftEntraMember

Miembro de Id. de Microsoft Entra asignado al rol.

ObjectType

Tipo de objeto De id. de Microsoft Entra. Se pueden agregar tipos objectType adicionales a lo largo del tiempo.

PermissionScope

Define un conjunto de atributos (propiedades) que determinan el ámbito y el nivel de acceso a un recurso. Cuando attributeName propiedad se establece en Path, la propiedad attributeValueIncludedIn debe especificar la ubicación del recurso al que se accede, como "Tables/Table1". Cuando la propiedad attributeName se establece en Action, la propiedad attributeValueIncludedIn debe especificar el tipo de acceso que se concede, como Read.

RowConstraint

RowConstraint indica una restricción que determina las filas de una tabla que los usuarios pueden ver. Los roles definidos con RowConstraints usan T-SQL para definir un predicado que filtra los datos de una tabla. Las filas que no cumplen las condiciones del predicado se filtran, dejando un subconjunto de las filas originales. RowConstraints también se puede usar para especificar tipos dinámicos y de varias tablas de RLS mediante T-SQL.

AttributeName

Especifica el nombre del atributo que se está evaluando para los permisos de acceso. AttributeName puede ser Path o Action. Se pueden agregar tipos attributeName adicionales a lo largo del tiempo.

Valor Description
Path

Ruta de acceso del nombre de atributo

Action

Acción de nombre de atributo

ColumnAction

Matriz de acciones aplicadas a columnNames. Esto determina qué acciones podrá realizar un usuario en columnas. Los valores permitidos son: Read. Se pueden agregar tipos columnAction adicionales a lo largo del tiempo.

Valor Description
Read

Valor ColumnAction Read

ColumnConstraint

ColumnConstraint indica una restricción que determina los permisos y la visibilidad que un usuario tiene en las columnas de una tabla.

Nombre Tipo Description
columnAction

ColumnAction[]

Matriz de acciones aplicadas a columnNames. Esto determina qué acciones podrá realizar un usuario en columnas. Los valores permitidos son: Read. Se pueden agregar tipos columnAction adicionales a lo largo del tiempo.

columnEffect

ColumnEffect

Efecto proporcionado a columnNames. El único valor permitido es Permitir. Se pueden agregar tipos de columnEffect adicionales a lo largo del tiempo.

columnNames

string[]

Matriz de nombres de columna que distinguen mayúsculas de minúsculas. Cada valor es un nombre de columna de la tabla especificada en tablePath. Use estas columnas con columnEffect y columnAction. Las columnas que no aparecen en la lista obtienen el valor predeterminado NULL. Use * para indicar todas las columnas de la tabla.

tablePath

string

Ruta de acceso relativa al archivo que especifica a qué tabla se aplica la restricción de columna. Debe estar en forma de /Tables/{optionalSchema}/{tableName}. Solo se puede proporcionar un valor aquí y tableName debe ser una tabla incluida en PermissionScope.

ColumnEffect

Efecto proporcionado a columnNames. El único valor permitido es Permitir. Se pueden agregar tipos de columnEffect adicionales a lo largo del tiempo.

Valor Description
Permit

Tipo ColumnEffect Permitir

Constraints

Cualquier restricción, como la seguridad de nivel de fila o columna que se aplique a las tablas como parte de este rol. Si no se incluye, no se aplican restricciones a ninguna tabla del rol.

Nombre Tipo Description
columns

ColumnConstraint[]

Matriz de restricciones de columna aplicadas a una o varias tablas del rol de acceso a datos.

rows

RowConstraint[]

Matriz de restricciones de fila aplicadas a una o varias tablas del rol de acceso a datos.

CreateOrUpdateDataAccessRolesRequest

Contiene la definición de roles que se usan para administrar la seguridad de acceso a datos y asegurarse de que solo los usuarios autorizados puedan ver, editar o eliminar determinados datos. Al llamar a esta API, se actualizan las definiciones de roles y se crean, actualizan o eliminan roles para que coincidan con la carga proporcionada.

Nombre Tipo Description
value

DataAccessRole[]

Lista de roles que se usan para administrar la seguridad del acceso a datos y asegurarse de que solo los usuarios autorizados puedan ver determinados datos. Un rol representa un conjunto de permisos y ámbitos de permisos que definen las acciones que sus miembros pueden realizar para los datos en el ámbito. Los miembros son usuarios o grupos a los que se les ha concedido el rol y pueden leer los datos en función de los permisos asignados al rol. Por ejemplo, un miembro puede ser un grupo de identificadores de Entra de Microsoft y un ámbito de permisos puede ser una acción de lectura aplicada en la ruta de acceso dada a archivo, carpetas o tablas en OneLake.

DataAccessRole

Un rol de acceso a datos representa un conjunto de permisos y ámbitos de permisos que definen qué acciones pueden realizar sus miembros para los datos en el ámbito. Los roles de acceso a datos se usan para administrar la seguridad del acceso a datos y garantizar que solo los usuarios autorizados puedan ver, editar o eliminar determinados datos. Los miembros son usuarios o grupos a los que se les ha concedido el rol y pueden leer los datos en función de los permisos asignados al rol. Por ejemplo, un miembro puede ser un grupo de identificadores de Entra de Microsoft y un ámbito de permisos puede ser una acción de lectura aplicada en la ruta de acceso dada a archivo, carpetas o tablas en OneLake.

Nombre Tipo Description
decisionRules

DecisionRule[]

Matriz de permisos que componen el rol acceso a datos.

id

string (uuid)

Identificador único del rol acceso a datos.

members

Members

Objeto members que contiene los miembros del rol como matrices de diferentes tipos de miembro.

name

string

Nombre del rol acceso a datos.

DecisionRule

Especifica una regla para que coincida con la acción solicitada. Contiene efecto (Permiso) y Permiso que determinan si un usuario o entidad está autorizado para realizar una acción específica (por ejemplo, leer) en un recurso. El permiso es un conjunto de ámbitos, definidos por atributos, que deben coincidir con la acción solicitada para que se aplique la regla.

Nombre Tipo Description
constraints

Constraints

Cualquier restricción, como la seguridad de nivel de fila o columna que se aplique a las tablas como parte de este rol. Si no se incluye, no se aplican restricciones a ninguna tabla del rol.

effect

Effect

Efecto que un rol tiene sobre el acceso al recurso de datos. Actualmente, el único tipo de efecto admitido es Permit, que concede acceso al recurso. Se pueden agregar tipos de efecto adicionales a lo largo del tiempo.

permission

PermissionScope[]

La propiedad permission es una matriz que especifica el ámbito y el nivel de acceso de una acción solicitada. La matriz debe contener exactamente dos objetos PermissionScope: Path y Action. El scope se define mediante el objeto PermissionScope, con attributeValueIncludedIn especificando la ubicación del recurso al que se accede o el tipo de acción que se va a conceder. El access hace referencia al nivel de acceso que se concede, como Read.

Effect

Efecto que un rol tiene sobre el acceso al recurso de datos. Actualmente, el único tipo de efecto admitido es Permit, que concede acceso al recurso. Se pueden agregar tipos de efecto adicionales a lo largo del tiempo.

Valor Description
Permit

el tipo de efecto Permitir

ErrorRelatedResource

Objeto de detalles del recurso relacionado con el error.

Nombre Tipo Description
resourceId

string

Identificador de recurso implicado en el error.

resourceType

string

Tipo del recurso implicado en el error.

ErrorResponse

Respuesta de error.

Nombre Tipo Description
errorCode

string

Identificador específico que proporciona información sobre una condición de error, lo que permite una comunicación estandarizada entre nuestro servicio y sus usuarios.

message

string

Representación legible del error.

moreDetails

ErrorResponseDetails[]

Lista de detalles de error adicionales.

relatedResource

ErrorRelatedResource

Detalles del recurso relacionado con el error.

requestId

string

Identificador de la solicitud asociada al error.

ErrorResponseDetails

Detalles de la respuesta de error.

Nombre Tipo Description
errorCode

string

Identificador específico que proporciona información sobre una condición de error, lo que permite una comunicación estandarizada entre nuestro servicio y sus usuarios.

message

string

Representación legible del error.

relatedResource

ErrorRelatedResource

Detalles del recurso relacionado con el error.

FabricItemMember

Miembro del elemento de tejido.

Nombre Tipo Description
itemAccess

ItemAccess[]

Lista que especifica los permisos de acceso para que el usuario de Fabric tenga que incluirse automáticamente en los miembros del rol. Se pueden agregar tipos de itemAccess adicionales a lo largo del tiempo.

sourcePath

string

pattern: ^[{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?/[{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?$

Ruta de acceso al elemento de Fabric que tiene acceso al elemento especificado.

ItemAccess

Lista que especifica los permisos de acceso para que el usuario de Fabric tenga que incluirse automáticamente en los miembros del rol. Se pueden agregar tipos de itemAccess adicionales a lo largo del tiempo.

Valor Description
Read

Lectura de acceso a elementos.

Write

Escritura de acceso de elemento.

Reshare

Volver a compartir el acceso al elemento.

Explore

Exploración de acceso a elementos.

Execute

Ejecutar acceso a elementos.

ReadAll

Acceso de elemento ReadAll.

Members

Objeto members que contiene los miembros del rol como matrices de diferentes tipos de miembro.

Nombre Tipo Description
fabricItemMembers

FabricItemMember[]

Lista de miembros que tienen un determinado conjunto de permisos en Microsoft Fabric. Todos los miembros con ese conjunto de permisos se agregan como miembros de este rol de acceso a datos.

microsoftEntraMembers

MicrosoftEntraMember[]

Lista de miembros de Id. de Microsoft Entra.

MicrosoftEntraMember

Miembro de Id. de Microsoft Entra asignado al rol.

Nombre Tipo Description
objectId

string (uuid)

Identificador del objeto.

objectType

ObjectType

Tipo de objeto De id. de Microsoft Entra. Se pueden agregar tipos objectType adicionales a lo largo del tiempo.

tenantId

string (uuid)

Identificador del inquilino.

ObjectType

Tipo de objeto De id. de Microsoft Entra. Se pueden agregar tipos objectType adicionales a lo largo del tiempo.

Valor Description
Group

Grupo de nombres de atributo

User

Nombre de atributo User

ServicePrincipal

Nombre de atributo ServicePrincipal

ManagedIdentity

Nombre de atributo ManagedIdentity

PermissionScope

Define un conjunto de atributos (propiedades) que determinan el ámbito y el nivel de acceso a un recurso. Cuando attributeName propiedad se establece en Path, la propiedad attributeValueIncludedIn debe especificar la ubicación del recurso al que se accede, como "Tables/Table1". Cuando la propiedad attributeName se establece en Action, la propiedad attributeValueIncludedIn debe especificar el tipo de acceso que se concede, como Read.

Nombre Tipo Description
attributeName

AttributeName

Especifica el nombre del atributo que se está evaluando para los permisos de acceso. AttributeName puede ser Path o Action. Se pueden agregar tipos attributeName adicionales a lo largo del tiempo.

attributeValueIncludedIn

string[]

Especifica una lista de valores para el attributeName para definir el ámbito y el nivel de acceso a un recurso. Cuando attributeName es Path, attributeValueIncludedIn debe especificar la ubicación del recurso al que se accede, como "Tables/Table1". Cuando se attributeNameAction, el attributeValueIncludedIn debe especificar el tipo de acceso que se va a conceder, como Read.

RowConstraint

RowConstraint indica una restricción que determina las filas de una tabla que los usuarios pueden ver. Los roles definidos con RowConstraints usan T-SQL para definir un predicado que filtra los datos de una tabla. Las filas que no cumplen las condiciones del predicado se filtran, dejando un subconjunto de las filas originales. RowConstraints también se puede usar para especificar tipos dinámicos y de varias tablas de RLS mediante T-SQL.

Nombre Tipo Description
tablePath

string

Ruta de acceso de archivo relativa que especifica a qué tabla se aplica la restricción de fila. Debe estar en forma de /Tables/{optionalSchema}/{tableName}. Solo se puede proporcionar un valor aquí y tableName debe ser una tabla incluida en PermissionScope.

value

string

Expresión T-SQL que se usa para evaluar qué filas pueden ver los miembros del rol. Solo se puede usar un subconjunto de T-SQL como predicado.