Partage via


Principal de service dans la base de données de l’entrepôt de données Fabric

s’applique à :✅ Warehouse dans Microsoft Fabric

Un principal de service Azure (SPN) est une identité de sécurité utilisée par les applications ou les outils d’automatisation pour accéder à des ressources Azure spécifiques. Contrairement aux identités utilisateur, les principaux de service sont des identités non interactives basées sur des applications qui peuvent être affectées à des autorisations précises, ce qui les rend parfaits pour les processus automatisés ou les services en arrière-plan. En utilisant des principaux de service, vous pouvez vous connecter à vos sources de données en toute sécurité tout en minimisant les risques d’erreurs humaines et de vulnérabilités basées sur l’identité. Pour en savoir plus sur les principaux de service, consultez Objets application et principal de service dans Microsoft Entra ID.

Conditions préalables

  1. Créer un principal de service, attribuer des rôles et créer un secret à l’aide d’Azure.

  2. Assurez-vous que l’administrateur client puisse activer l’option Les principaux de service peuvent utiliser les API Fabric dans le portail d’administration Fabric.

  3. Assurez-vous qu’un utilisateur ayant le rôle d’espace de travail Administrateur peut accorder l’accès à un SPN via Gérer l’accès dans l’espace de travail.

    Capture d’écran à partir du portail Fabric de la fenêtre contextuelle de gestion de l’accès.

Créer et accéder à des entrepôts via des API REST à l’aide du SPN

Les utilisateurs ayant un rôle d'administrateur, de membre ou de contributeur dans l'espace de travail peuvent utiliser des entités de service pour l’authentification afin de créer, mettre à jour, lire et supprimer des éléments de l’entrepôt via les API REST de Fabric . Cela vous permet d’automatiser des tâches répétitives telles que l’approvisionnement ou la gestion d’entrepôts sans compter sur les informations d’identification de l’utilisateur.

Si vous utilisez un compte délégué ou une identité fixe (identité du propriétaire) pour créer l’entrepôt, l’entrepôt utilise ces informations d’identification lors de l’accès à OneLake. Cela crée un problème lorsque le propriétaire quitte l’organisation, car l’entrepôt cesse de fonctionner. Pour éviter cela, créez des entrepôts à l’aide d’un SPN.

Fabric exige également que l’utilisateur se connecte tous les 30 jours pour s’assurer qu’un jeton valide est fourni pour des raisons de sécurité. Pour un entrepôt de données, le propriétaire doit se connecter à Fabric tous les 30 jours. Cela peut être automatisé à l’aide d’un SPN avec l’API List.

Capture d’écran d’un appel POST d’API Fabric à l’aide d’un SPN.

Les entrepôts créés par un SPN à l’aide d’API REST s’affichent dans l’affichage liste de l’espace de travail dans le portail Fabric, avec le nom Propriétaire en tant que SPN. Dans l’image suivante, une capture d’écran de l’espace de travail dans le portail Fabric, « Application de test d’API publique Fabric » est le SPN qui a créé Contoso Marketing Warehouse.

Capture d’écran à partir du portail Fabric de la liste d’éléments de l’espace de travail. Un entrepôt s’affiche. Son propriétaire n’est pas un compte personnel, mais un SPN.

Se connecter à des applications clientes à l’aide du SPN

Vous pouvez vous connecter à des entrepôts Fabric à l’aide de principaux de service avec des outils tels que SQL Server Management Studio (SSMS) 19 ou des versions ultérieures.

  • Authentification : Principal de service Microsoft Entra
  • nom d’utilisateur: ID client du SPN (créé via Azure dans la section Prérequis)
  • mot de passe: Secret (créé via Azure dans la section Prérequis)

Capture d’écran de la connexion à Fabric avec un SPN dans SQL Server Management Studio (SSMS).

Autorisations de plan de contrôle

Les SPN peuvent être autorisés à accéder aux entrepôts en utilisant les rôles de l’espace de travail via l’option Gérer l’accès dans l’espace de travail. En outre, les entrepôts peuvent être partagés avec un SPN par le portail Fabric en utilisant Autorisations d’éléments.

Autorisations du plan de données

Une fois que les entrepôts reçoivent des autorisations de plan de contrôle à un SPN via des rôles d’espace de travail ou des autorisations d’élément, les administrateurs peuvent utiliser des commandes T-SQL telles que GRANT pour attribuer des autorisations de plan de données spécifiques aux principaux de service, pour contrôler précisément les métadonnées/données et les opérations auxquelles un SPN a accès. Il est recommandé de suivre le principe du privilège minimum.

Par exemple:

GRANT SELECT ON <table name> TO <service principal name>;

Une fois les autorisations accordées, les SPN peuvent se connecter à des outils d’application clients comme SSMS, fournissant ainsi un accès sécurisé aux développeurs pour exécuter COPY INTO (avec et sans stockage activé par le pare-feu) et également pour exécuter toute requête T-SQL par programmation avec les pipelines Data Factory.

Capture d’écran d’une requête et résultat dans SQL Server Management Studio (SSMS), dans lequel l’utilisateur a accédé à un objet de stockage Azure à l’aide du SPN.

Moniteur

Lorsqu’un SPN exécute des requêtes dans l’entrepôt, il existe différents outils de surveillance qui fournissent une visibilité sur l’utilisateur ou le SPN qui a exécuté la requête. Vous trouverez l’utilisateur pour l’activité de requête de la manière suivante :

Pour plus d’informations, consultez Surveiller l’entrepôt de données Fabric.

API de prise de contrôle

La propriété des entrepôts peut être modifiée d’un SPN à un utilisateur et d’un utilisateur à un SPN.

  • Transfert de SPN ou d’utilisateur à utilisateur : consultez Modifier la propriété de l’entrepôt Fabric.

  • Transfert de SPN ou d’utilisateur à SPN : utilisez un appel POST sur l’API REST.

    POST <PowerBI Global Service FQDN>/v1.0/myorg/groups/{workspaceid}/datawarehouses/{warehouseid}/takeover
    

Limitations

Limitations des principaux de service avec la base de données de l’entrepôt de données Microsoft Fabric :

  • Les modèles sémantiques par défaut ne sont pas pris en charge pour les entrepôts créés par le SPN et, par conséquent, les fonctionnalités telles que la liste des tables en mode jeu de données, la création d’un rapport à partir du jeu de données par défaut ne fonctionnera pas.
  • Le principal de service pour les points de terminaison d’analytique SQL n’est actuellement pas pris en charge.
  • Les informations d’identification du principal de service ou d’Entra ID ne sont actuellement pas prises en charge pour les fichiers d’erreur COPY INTO.