Partager un flux : La bonne pratique à suivre ?

  • Partager un flux : La bonne pratique à suivre ?

    Posté par Shadoks_ sur 21 mai 2025 at 8h37

    Bonjour à tous,

    Aujourd’hui, dans le cadre d’une de mes solutions, je dois partager des flux se déclenchant à la demande via PowerApps (déclencheur PowerApps v2).

    J’ai créé un groupe de sécurité que j’ai mis dans la case “Utilisateurs avec autorisations d’exécution uniquement “ pour chaque flux.

    Suite à cela, les utilisateurs recoivent le message d’erreur lorsqu’ils essayent de déclencher mon flux :

    <pre class=”language-markup”>Principal user (Id=xxx, type=8, roleCount=0, privilegeCount=0, accessMode='0 Read-Write', AADObjectId='xxx', MetadataCachePrivilegesCount=4881, businessUnitId=xxx), is missing prvReadSolution privilege (Id=xxx) on OTC=7103 for entity 'solutioncomponent' (LocalizedName='Composant de solution'). context.Caller=xxx. Consider adding missed privilege to one of the principal (user/team) roles.

    La seule solution que j’ai trouvé pour le moment est de placer le groupe de sécurité dans la case “Copropriétaires”. Solution qui ne me plait pas particulièrement car ce n’est pas une super pratique de donner un niveau d’accès si haut à des personnes devant uniquement profiter des fonctionnalités du flux.

    J’ai cherché sur le tech-net mais je ne trouve rien de concluant, est ce que vous connaissez le problème? Comment le contournez vous ?

    Merci d’avance et bye à tous 🙂

    Shadoks_ a répondu 1 week, 1 day ago 4 Membres · 9 Réponses
  • 9 Réponses
  • Sophie

    Member
    21 mai 2025 at 9h56

    Bonjour,

    Je ne peux que parler de mon expérience, à savoir que j’ai des rapports power bi avec un bouton permettant de déclencher une mise à jour des données (donc de déclencher un flux power automate).

    Et au final j’ai fait bien plus simple que toi.

    Dans power automate je vais dans ma liste de flux, dans l’onglet “cloud flows”, sur la ligne de mon flux je sélectionne les 3 petits points et “share” puis je tappe le nom de l’utilisateur à qui je veux donner le droit de déclencher le flux.

    Les conséquences:

    • Mon flux passe alors dans la section “shared with me”
    • tout le monde continue à voir le bouton mais seul la personne avec qui j’ai partagé peut le déclencher, les autres ont un message d’erreur.

    Je ne sais pas si powerapps fonctionne de la même manière.

  • Shadoks_

    Member
    21 mai 2025 at 15h51

    Bonjour Sophie,

    La méthode que tu exposes donne les drois en tant que “Copropriétaire” à la personne. En ce sens, elle sera en mesure de modifier ton flux ou le repartager avec quelqu’un d’autre. (Chose qui n’est pas vraiment souhaitable pour quelqu’un doit seulement pouvoir le lancer).

    Merci quand même d’avoir essayé de m’aider 🙂

  • Shadoks_

    Member
    21 mai 2025 at 16h26

    Correction :

    Finalement, ma solution de contournement n’a pas fonctionné.

    Mon utilisateur est capable de lancer un des flux (1/6) mais pas les autres. La même erreur arrive à nouveau !

    Il est pourtant capable de lancer le flux depuis le lien reçu via sa boite mail mais impossible depuis mon application PowerApps. C’est à n’y rien comprendre, le même message arrive toujours comme si il lui manquait des priviléges pour lancer le flux.

  • R3dKap

    Member
    21 mai 2025 at 21h39

    @Shadoks_,

    Tu n’as pas besoin de partager un flux qui est déclenché par Power Apps pour qu’un utilisateur de l’application puisse l’utiliser : le flux est exécutable par toute personne à qui l’application est partagée car c’est l’application qui lance le flux et lui transmet l’identité de l’utilisateur connecté. Dans tous mes projets, je n’ai jamais eu besoin de partager un flux… 😉

    Par contre, un utilisateur de l’application ne peut pas voir un flux dans Power Automate qu’il n’a pas lui-même créé s’il n’est pas partagé avec lui.

    C’est à ça que servent les options Copropriétaires et Utilisateurs avec autorisations d’exécution uniquement :

    • Copropriétaires = en ajoutant ici un utilisateur tu lui donnes tous les droits sur le flux : consultation de l’historique des exécutions, modification du flux, suppression du flux
    • Utilisateurs avec autorisations d’exécution uniquement = en ajoutant ici un utilisateur le flux devient visible à cet utilisateur mais ses droits sont limités :
      • il peut exécuter le flux manuellement
      • il ne peut pas voir le contenu du flux
      • il ne peut voir que ses propres exécutions et pas celles des autres, et il ne peut pas voir le détail des exécutons : il ne voit que s’il y a eu succès ou échec

    Dans ton cas, le message d’erreur indique que ton flux n’a pas les droits d’accès à un composant de ta solution. Quels sont les connecteurs utilisés par ton flux ? Fait-il des trucs un peu particuliers qui pourraient expliquer qu’il y a un souci d’autorisations, comme par exemple faire appel à un connecteur custom ou ce genre de chose ?

  • Shadoks_

    Member
    22 mai 2025 at 9h24

    Hello @R3dkap,

    Merci pour tes éclaircicements, j’ai toujours pensé qu’il fallait partager les flux pour que les personnes puissent les actionner (J’ai surement fait un raccourci à cause du partage de flux lorsqu’on mets des boutons ou lie des automatisations actionnables à des listes SP).

    Pour ce qui est de mes flux et ce qu’ils font dans mon application :

    • En tout, j’ai 6 flux actionnables via l’action PowerApps (1/6 fonctionne)
    • Tous mes flux actionnables ne sont construits qu’avec des actions SP (Créer un dossier, MAJ de métadonnées, requete HTTP SP)

    J’ai une situation trés cocasse :

    • Le flux qui fonctionne ne fait que 4 actions -> Créer un dossier, mettre à jouer les méta, créer un autre dossier imbriqué, mettre à jour les méta
    • Un de mes flux qui ne fonctionnent pas fait exactement la même chose avec les mêmes actions, à la seule différence qu’il crée un dossier imbriqué supplémentaire

    Je suis à deux doigts de supprimer ma solution dans l’environnement et la ré-exporter depuis 0. Cela ne fait aucun sens 🧐

    • This reply was modified 1 week, 2 days ago by  Shadoks_.
  • Shadoks_

    Member
    22 mai 2025 at 10h30

    Aprés suppression de la solution précédente dans l’environnement PROD, actualisation des workflows dans les solutions dans l’environnement de dev et re-import de la solution à 0 dans l’environnement de PROD, maintenant, plus aucun des flux ne fonctionnent pour l’utilisateur.

    Message erreur :

    Échec de Visites-CreerFichier.Run : {“error”:{“code”:”0x80040220″,”message”:”Principal user (Id=xxx, type=8, roleCount=0, privilegeCount=0, accessMode=’0 Read-Write’, AADObjectId=’xxx’, MetadataCachePrivilegesCount=4881, businessUnitId=xxx), is missing prvReadWorkflow privilege (Id=xxx) on OTC=4703 for entity ‘workflow’ (LocalizedName=’Processus’). context.Caller…”

  • DavidZed

    Member
    23 mai 2025 at 7h02

    Bonjour,

    Vu le message c’est que l’utilisateur n’a pas un rôle de sécurité qui lui permet de lire le flux.

    Il me semble que le rôle “lanceur d’application” est suffisant

  • R3dKap

    Member
    23 mai 2025 at 10h36

    @Shadoks_,

    Quels sont les rôles de sécurité affectés aux utilisateurs sur l’environnement où se trouvent les flux ?

  • Shadoks_

    Member
    23 mai 2025 at 11h40

    UPDATE :

    Merci pour vos réponses, en effet il manquait un rôle au niveau du tenant de l’environnement !

    Egalement, ce lien m’a beaucoup aider pour résoudre mon problème : Power Apps – L’utilisateur principal n’a pas le privilège prvReadWorkflow – rakhesh.com

Connectez-vous pour répondre.