Partager via


OneLake Data Access Security - Create Or Update Data Access Roles

Crée ou met à jour des rôles d’accès aux données dans OneLake.

Note

Cette API fait partie d’une préversion et est fournie uniquement à des fins d’évaluation et de développement. Il peut changer en fonction des commentaires et n’est pas recommandé pour une utilisation en production.

Étendues déléguées requises

OneLake.ReadWrite.All

Identités prises en charge par Microsoft Entra

Cette API prend en charge les identités Microsoft répertoriées dans cette section.

Identity Support
User Yes
Service principal et identités gérées 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}

Paramètres URI

Nom Dans Obligatoire Type Description
itemId
path True

string (uuid)

ID de l’élément Fabric à placer les rôles.

workspaceId
path True

string (uuid)

ID de l’espace de travail.

dryRun
query

boolean

Utilisé pour déclencher une exécution sèche de l’appel d’API. True : l’appel d’API déclenche une exécution sèche et aucun rôle n’est modifié. False : ne déclenche pas une exécution sèche et les rôles sont mis à jour.

En-tête de la demande

Nom Obligatoire Type Description
If-Match

string

Valeur ETag. L’ETag doit être spécifié entre guillemets. Si elle est fournie, l’appel réussit uniquement si l’ETag de la ressource correspond à l’ETag fourni.

If-None-Match

string

Valeur ETag. L’ETag doit être spécifié entre guillemets. Si elle est fournie, l’appel réussit uniquement si l’ETag de la ressource ne correspond pas à l’ETag fourni.

Corps de la demande

Nom Type Description
value

DataAccessRole[]

Liste des rôles utilisés pour gérer la sécurité de l’accès aux données et garantir que seuls les utilisateurs autorisés peuvent afficher certaines données. Un rôle représente un ensemble d’autorisations et d’étendues d’autorisation qui définissent les actions que ses membres sont autorisés à effectuer pour les données dans l’étendue. Les membres sont des utilisateurs ou des groupes qui ont reçu le rôle, et ils peuvent lire les données en fonction des autorisations affectées au rôle. Par exemple, un membre peut être un groupe d’ID Microsoft Entra et une étendue d’autorisation peut être une action de lecture appliquée sur le chemin d’accès au fichier, aux dossiers ou aux tables donnés dans OneLake.

Réponses

Nom Type Description
200 OK

La demande s’est terminée avec succès.

En-têtes

Etag: string

Other Status Codes

ErrorResponse

Codes d’erreur courants :

  • ItemNotFound : indique que le serveur ne trouve pas l’élément demandé.

  • Condition préalable Échec -Indicates que l’ETag de ressource actuelle ne correspond pas à la valeur spécifiée dans l’en-tête If-Match.

Exemples

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

Exemple de requête

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"
          }
        ]
      }
    }
  ]
}

Exemple de réponse

ETag: 33a64df551425fcc55e4d42a148795d9f25f89d4

Create or update data access roles with constraints example

Exemple de requête

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"
          }
        ]
      }
    }
  ]
}

Exemple de réponse

ETag: 33a64df551425fcc55e4d42a148795d9f25f89d4

Create or update data access roles with tables path example

Exemple de requête

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"
          }
        ]
      }
    }
  ]
}

Exemple de réponse

ETag: 33a64df551425fcc55e4d42a148795d9f25f89d5

Définitions

Nom Description
AttributeName

Spécifie le nom de l’attribut en cours d’évaluation pour les autorisations d’accès. AttributeName peut être Path ou Action. Des types attributeName supplémentaires peuvent être ajoutés au fil du temps.

ColumnAction

Tableau d’actions appliquées aux columnNames. Cela détermine les actions qu’un utilisateur pourra effectuer sur les colonnes. Les valeurs autorisées sont : Lecture. Des types columnAction supplémentaires peuvent être ajoutés au fil du temps.

ColumnConstraint

ColumnConstraint indique une contrainte qui détermine les autorisations et la visibilité qu’un utilisateur a sur les colonnes d’une table.

ColumnEffect

Effet donné aux columnNames. La seule valeur autorisée est Permit. Des types columnEffect supplémentaires peuvent être ajoutés au fil du temps.

Constraints

Toutes les contraintes telles que la sécurité au niveau des lignes ou des colonnes appliquées aux tables dans le cadre de ce rôle. S’il n’est pas inclus, aucune contrainte ne s’applique aux tables du rôle.

CreateOrUpdateDataAccessRolesRequest

Contient la définition des rôles utilisés pour gérer la sécurité de l’accès aux données et garantir que seuls les utilisateurs autorisés peuvent afficher, modifier ou supprimer certaines données. L’appel de cette API met à jour les définitions de rôle et crée, met à jour ou supprime des rôles pour correspondre à la charge utile fournie.

DataAccessRole

Un rôle d’accès aux données représente un ensemble d’autorisations et d’étendues d’autorisation qui définissent les actions que ses membres sont autorisés à effectuer pour les données dans l’étendue. Les rôles d’accès aux données sont utilisés pour gérer la sécurité de l’accès aux données et s’assurer que seuls les utilisateurs autorisés peuvent afficher, modifier ou supprimer certaines données. Les membres sont des utilisateurs ou des groupes qui ont reçu le rôle, et ils peuvent lire les données en fonction des autorisations affectées au rôle. Par exemple, un membre peut être un groupe d’ID Microsoft Entra et une étendue d’autorisation peut être une action de lecture appliquée sur le chemin d’accès au fichier, aux dossiers ou aux tables donnés dans OneLake.

DecisionRule

Spécifie une règle pour la correspondance de l’action demandée. Contient l’effet (Permis) et l’autorisation qui déterminent si un utilisateur ou une entité est autorisé à effectuer une action spécifique (par exemple, en lecture) sur une ressource. L’autorisation est un ensemble d’étendues, définies par des attributs, qui doivent correspondre à l’action demandée pour que la règle s’applique.

Effect

Effet qu’un rôle a sur l’accès à la ressource de données. Actuellement, le seul type d’effet pris en charge est Permit, qui accorde l’accès à la ressource. Des types d’effets supplémentaires peuvent être ajoutés au fil du temps.

ErrorRelatedResource

Objet de détails de ressource associé à l’erreur.

ErrorResponse

Réponse d’erreur.

ErrorResponseDetails

Détails de la réponse d’erreur.

FabricItemMember

Membre d’élément d’infrastructure.

ItemAccess

Liste spécifiant les autorisations d’accès de l’utilisateur Fabric à inclure automatiquement dans les membres du rôle. Des types itemAccess supplémentaires peuvent être ajoutés au fil du temps.

Members

Objet membres qui contient les membres du rôle en tant que tableaux de différents types de membres.

MicrosoftEntraMember

Membre Microsoft Entra ID affecté au rôle.

ObjectType

Type de l’objet Microsoft Entra ID. Des types objectType supplémentaires peuvent être ajoutés au fil du temps.

PermissionScope

Définit un ensemble d’attributs (propriétés) qui déterminent l’étendue et le niveau d’accès à une ressource. Lorsque attributeName propriété est définie sur Path, la propriété attributeValueIncludedIn doit spécifier l’emplacement de la ressource accessible, par exemple « Tables/Table1 ». Lorsque la propriété attributeName est définie sur Action, la propriété attributeValueIncludedIn doit spécifier le type d’accès accordé, tel que Read.

RowConstraint

RowConstraint indique une contrainte qui détermine les lignes d’une table que les utilisateurs peuvent voir. Les rôles définis avec RowConstraints utilisent T-SQL pour définir un prédicat qui filtre les données d’une table. Les lignes qui ne répondent pas aux conditions du prédicat sont filtrées, laissant un sous-ensemble des lignes d’origine. RowConstraints peut également être utilisé pour spécifier des saveurs dynamiques et multi-tables de RLS à l’aide de T-SQL.

AttributeName

Spécifie le nom de l’attribut en cours d’évaluation pour les autorisations d’accès. AttributeName peut être Path ou Action. Des types attributeName supplémentaires peuvent être ajoutés au fil du temps.

Valeur Description
Path

Chemin d’accès du nom d’attribut

Action

Action de nom d’attribut

ColumnAction

Tableau d’actions appliquées aux columnNames. Cela détermine les actions qu’un utilisateur pourra effectuer sur les colonnes. Les valeurs autorisées sont : Lecture. Des types columnAction supplémentaires peuvent être ajoutés au fil du temps.

Valeur Description
Read

Valeur ColumnAction Read

ColumnConstraint

ColumnConstraint indique une contrainte qui détermine les autorisations et la visibilité qu’un utilisateur a sur les colonnes d’une table.

Nom Type Description
columnAction

ColumnAction[]

Tableau d’actions appliquées aux columnNames. Cela détermine les actions qu’un utilisateur pourra effectuer sur les colonnes. Les valeurs autorisées sont : Lecture. Des types columnAction supplémentaires peuvent être ajoutés au fil du temps.

columnEffect

ColumnEffect

Effet donné aux columnNames. La seule valeur autorisée est Permit. Des types columnEffect supplémentaires peuvent être ajoutés au fil du temps.

columnNames

string[]

Tableau de noms de colonnes sensibles à la casse. Chaque valeur est un nom de colonne de la table spécifiée dans tablePath. Utilisez ces colonnes avec columnEffect et columnAction. Les colonnes qui ne sont pas répertoriées obtiennent la valeur par défaut Null. Permet * d’indiquer toutes les colonnes du tableau.

tablePath

string

Chemin d’accès relatif au fichier spécifiant la table à laquelle la contrainte de colonne s’applique. Cela doit être sous la forme de /Tables/{optionalSchema}/{tableName}. Une seule valeur peut être donnée ici et tableName doit être une table incluse dans PermissionScope.

ColumnEffect

Effet donné aux columnNames. La seule valeur autorisée est Permit. Des types columnEffect supplémentaires peuvent être ajoutés au fil du temps.

Valeur Description
Permit

The ColumnEffect type Permit

Constraints

Toutes les contraintes telles que la sécurité au niveau des lignes ou des colonnes appliquées aux tables dans le cadre de ce rôle. S’il n’est pas inclus, aucune contrainte ne s’applique aux tables du rôle.

Nom Type Description
columns

ColumnConstraint[]

Tableau de contraintes de colonne appliquées à une ou plusieurs tables dans le rôle d’accès aux données.

rows

RowConstraint[]

Tableau de contraintes de ligne appliquées à une ou plusieurs tables dans le rôle d’accès aux données.

CreateOrUpdateDataAccessRolesRequest

Contient la définition des rôles utilisés pour gérer la sécurité de l’accès aux données et garantir que seuls les utilisateurs autorisés peuvent afficher, modifier ou supprimer certaines données. L’appel de cette API met à jour les définitions de rôle et crée, met à jour ou supprime des rôles pour correspondre à la charge utile fournie.

Nom Type Description
value

DataAccessRole[]

Liste des rôles utilisés pour gérer la sécurité de l’accès aux données et garantir que seuls les utilisateurs autorisés peuvent afficher certaines données. Un rôle représente un ensemble d’autorisations et d’étendues d’autorisation qui définissent les actions que ses membres sont autorisés à effectuer pour les données dans l’étendue. Les membres sont des utilisateurs ou des groupes qui ont reçu le rôle, et ils peuvent lire les données en fonction des autorisations affectées au rôle. Par exemple, un membre peut être un groupe d’ID Microsoft Entra et une étendue d’autorisation peut être une action de lecture appliquée sur le chemin d’accès au fichier, aux dossiers ou aux tables donnés dans OneLake.

DataAccessRole

Un rôle d’accès aux données représente un ensemble d’autorisations et d’étendues d’autorisation qui définissent les actions que ses membres sont autorisés à effectuer pour les données dans l’étendue. Les rôles d’accès aux données sont utilisés pour gérer la sécurité de l’accès aux données et s’assurer que seuls les utilisateurs autorisés peuvent afficher, modifier ou supprimer certaines données. Les membres sont des utilisateurs ou des groupes qui ont reçu le rôle, et ils peuvent lire les données en fonction des autorisations affectées au rôle. Par exemple, un membre peut être un groupe d’ID Microsoft Entra et une étendue d’autorisation peut être une action de lecture appliquée sur le chemin d’accès au fichier, aux dossiers ou aux tables donnés dans OneLake.

Nom Type Description
decisionRules

DecisionRule[]

Tableau d’autorisations qui composent le rôle d’accès aux données.

id

string (uuid)

ID unique du rôle d’accès aux données.

members

Members

Objet membres qui contient les membres du rôle en tant que tableaux de différents types de membres.

name

string

Nom du rôle d’accès aux données.

DecisionRule

Spécifie une règle pour la correspondance de l’action demandée. Contient l’effet (Permis) et l’autorisation qui déterminent si un utilisateur ou une entité est autorisé à effectuer une action spécifique (par exemple, en lecture) sur une ressource. L’autorisation est un ensemble d’étendues, définies par des attributs, qui doivent correspondre à l’action demandée pour que la règle s’applique.

Nom Type Description
constraints

Constraints

Toutes les contraintes telles que la sécurité au niveau des lignes ou des colonnes appliquées aux tables dans le cadre de ce rôle. S’il n’est pas inclus, aucune contrainte ne s’applique aux tables du rôle.

effect

Effect

Effet qu’un rôle a sur l’accès à la ressource de données. Actuellement, le seul type d’effet pris en charge est Permit, qui accorde l’accès à la ressource. Des types d’effets supplémentaires peuvent être ajoutés au fil du temps.

permission

PermissionScope[]

La propriété permission est un tableau qui spécifie l’étendue et le niveau d’accès pour une action demandée. Le tableau doit contenir exactement deux objets PermissionScope : Path et Action. La scope est définie à l’aide de l’objet PermissionScope, avec attributeValueIncludedIn spécifiant l’emplacement de la ressource accessible ou le type d’action accordé. La access fait référence au niveau d’accès accordé, tel que Read.

Effect

Effet qu’un rôle a sur l’accès à la ressource de données. Actuellement, le seul type d’effet pris en charge est Permit, qui accorde l’accès à la ressource. Des types d’effets supplémentaires peuvent être ajoutés au fil du temps.

Valeur Description
Permit

le type d’effet Permit

ErrorRelatedResource

Objet de détails de ressource associé à l’erreur.

Nom Type Description
resourceId

string

ID de ressource impliqué dans l’erreur.

resourceType

string

Type de la ressource impliquée dans l’erreur.

ErrorResponse

Réponse d’erreur.

Nom Type Description
errorCode

string

Identificateur spécifique qui fournit des informations sur une condition d’erreur, ce qui permet une communication standardisée entre notre service et ses utilisateurs.

message

string

Représentation lisible humaine de l’erreur.

moreDetails

ErrorResponseDetails[]

Liste des détails d’erreur supplémentaires.

relatedResource

ErrorRelatedResource

Détails de la ressource associée à l’erreur.

requestId

string

ID de la demande associée à l’erreur.

ErrorResponseDetails

Détails de la réponse d’erreur.

Nom Type Description
errorCode

string

Identificateur spécifique qui fournit des informations sur une condition d’erreur, ce qui permet une communication standardisée entre notre service et ses utilisateurs.

message

string

Représentation lisible humaine de l’erreur.

relatedResource

ErrorRelatedResource

Détails de la ressource associée à l’erreur.

FabricItemMember

Membre d’élément d’infrastructure.

Nom Type Description
itemAccess

ItemAccess[]

Liste spécifiant les autorisations d’accès de l’utilisateur Fabric à inclure automatiquement dans les membres du rôle. Des types itemAccess supplémentaires peuvent être ajoutés au fil du temps.

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}[}]?$

Chemin d’accès à l’élément Fabric ayant l’accès à l’élément spécifié.

ItemAccess

Liste spécifiant les autorisations d’accès de l’utilisateur Fabric à inclure automatiquement dans les membres du rôle. Des types itemAccess supplémentaires peuvent être ajoutés au fil du temps.

Valeur Description
Read

Lecture de l’accès aux éléments.

Write

Écriture d’accès aux éléments.

Reshare

Partage d’accès à l’élément.

Explore

Exploration d’accès aux éléments.

Execute

Exécution de l’accès aux éléments.

ReadAll

Élément Access ReadAll.

Members

Objet membres qui contient les membres du rôle en tant que tableaux de différents types de membres.

Nom Type Description
fabricItemMembers

FabricItemMember[]

Liste des membres qui ont un certain jeu d’autorisations dans Microsoft Fabric. Tous les membres avec ce jeu d’autorisations sont ajoutés en tant que membres de ce rôle d’accès aux données.

microsoftEntraMembers

MicrosoftEntraMember[]

Liste des membres de Microsoft Entra ID.

MicrosoftEntraMember

Membre Microsoft Entra ID affecté au rôle.

Nom Type Description
objectId

string (uuid)

ID d’objet.

objectType

ObjectType

Type de l’objet Microsoft Entra ID. Des types objectType supplémentaires peuvent être ajoutés au fil du temps.

tenantId

string (uuid)

ID de locataire.

ObjectType

Type de l’objet Microsoft Entra ID. Des types objectType supplémentaires peuvent être ajoutés au fil du temps.

Valeur Description
Group

Groupe de noms d’attributs

User

Utilisateur du nom d’attribut

ServicePrincipal

Nom d’attribut ServicePrincipal

ManagedIdentity

Nom de l’attribut ManagedIdentity

PermissionScope

Définit un ensemble d’attributs (propriétés) qui déterminent l’étendue et le niveau d’accès à une ressource. Lorsque attributeName propriété est définie sur Path, la propriété attributeValueIncludedIn doit spécifier l’emplacement de la ressource accessible, par exemple « Tables/Table1 ». Lorsque la propriété attributeName est définie sur Action, la propriété attributeValueIncludedIn doit spécifier le type d’accès accordé, tel que Read.

Nom Type Description
attributeName

AttributeName

Spécifie le nom de l’attribut en cours d’évaluation pour les autorisations d’accès. AttributeName peut être Path ou Action. Des types attributeName supplémentaires peuvent être ajoutés au fil du temps.

attributeValueIncludedIn

string[]

Spécifie une liste de valeurs pour le attributeName pour définir l’étendue et le niveau d’accès à une ressource. Lorsque attributeName est Path, attributeValueIncludedIn doit spécifier l’emplacement de la ressource accessible, par exemple « Tables/Table1 ». Lorsque attributeName est Action, le attributeValueIncludedIn doit spécifier le type d’accès accordé, tel que Read.

RowConstraint

RowConstraint indique une contrainte qui détermine les lignes d’une table que les utilisateurs peuvent voir. Les rôles définis avec RowConstraints utilisent T-SQL pour définir un prédicat qui filtre les données d’une table. Les lignes qui ne répondent pas aux conditions du prédicat sont filtrées, laissant un sous-ensemble des lignes d’origine. RowConstraints peut également être utilisé pour spécifier des saveurs dynamiques et multi-tables de RLS à l’aide de T-SQL.

Nom Type Description
tablePath

string

Chemin d’accès relatif au fichier spécifiant la table à laquelle la contrainte de ligne s’applique. Cela doit être sous la forme de /Tables/{optionalSchema}/{tableName}. Une seule valeur peut être donnée ici et tableName doit être une table incluse dans PermissionScope.

value

string

Expression T-SQL utilisée pour évaluer les lignes que les membres du rôle peuvent voir. Seul un sous-ensemble de T-SQL peut être utilisé comme prédicat.