Flow für eine direktionale Datengovernance verwenden
In manchen Geschäftssituationen kann es sein, dass Daten über Konnektoren von externen Quellen stammen und diese an Dienste weitergeleitet werden, die Ihre wichtigen Geschäftsinformationen umfassen. In der Regel kommunizieren diese Konnektoren miteinander. Die Herausforderung bei Richtlinien zur Verhinderung von Datenverlust (Data Loss Prevention, DLP) ist es, sicherzustellen, dass die Konnektoren nur in eine Richtung kommunizieren, um zu verhindern, dass Ihre wertvollen Geschäftsdaten versehentlich an Dritte gesendet werden. Die Verwaltung des Datenflusses ist es, etwa sicherzustellen, dass er nur dort ankommt, wo er hin soll. Das wird Direktionale Datengovernance genannt.
Derzeit übernehmen DLP-Richtlinien nicht automatisch die direktionale Datenverwaltung. Sie können jedoch Power Automate nutzen, um alle Datenströme abzufangen und daran zu hindern, Ihre Geschäftsdaten an Dritte zu senden.
Hier ist ein Beispiel: Angenommen, Ihre Organisation möchte mit SharePoint X-Daten (ehemals Twitter) beobachten. Ohne Kontrollmechanismen können Ihre Geschäftsinformationen von SharePoint nach X fließen.
Gehen Sie folgendermaßen vor, um sicherzustellen, dass die Daten nur in die richtige Richtung (von X zu Ihrem SharePoint) gelangen:
Erstellen Sie eine DLP-Richtlinie aus dem Power Platform Admin Center, um die SharePoint‑ und X-Konnektoren in der Datengruppe Geschäftlich einzuschließen. Auf diese Weise können Entwickler Flows mit beiden Konnektoren erstellen.
Melden Sie sich dann beim Power Automate Maker Portal an, indem Sie Ihr Administratorkonto verwenden, um einen Governance-Flow zu erstellen. Sie erstellen einen geplanten Flow, der stündlich ausgeführt wird.
Wählen Sie im Startbildschirm im Menü auf der linken Seite +Erstellen aus, und klicken Sie dann auf Geplanter Cloud-Flow. Geben Sie Ihrem Flow einen Flownamen, ein Startdatum und eine Startzeit sowie eine Wiederholung jede Stunde. Wählen Sie dann Erstellen aus.
Dem Flow wird automatisch ein Wiederholungstrigger hinzugefügt.
Als Nächstes erstellen Sie eine Variable, die die Anzahl der „Ticks“ von vor 60 Minuten bis jetzt berechnet. (Ein Tick ist eine kleine Zeiteinheit.) Sie verwenden die Variable aus diesem Schritt später im Flow, um zu sehen, ob seit der letzten Ausführung Ihres Flows vor 60 Minuten Flows erstellt oder geändert wurden.
Wählen Sie das +-Zeichen unter dem Trigger Wiederholung aus, und das Menü Aktion hinzufügen wird angezeigt. Geben Sie in der Suche den Text Variable initialisieren ein, und scrollen Sie nach unten durch die Ergebnisse, um die Aktion Variable initialisieren zu finden. (Sie befindet sich in den Variable-Aktionen.)
Wählen Sie den Titel Variable initialisieren aus, und benennen Sie die Aktion um in Variable initialisieren – Zeitstempel vor einer Stunde. Geben Sie unter Name den Namen previousTimestamp ein. Wählen Sie unter Typ die Option Integer aus. Platzieren Sie Ihren Cursor im Feld Wert, und es werden die Option zum Auswählen von entweder einem Blitz (um dynamischen Inhalt aus einem vorherigen Schritt hinzuzufügen) oder fx (zum Hinzufügen eines Ausdrucks) angezeigt. Sie werden einen Ausdruck eingeben, wählen Sie also fx aus.
Geben Sie die Formel
ticks(addMinutes(utcNow(),-60))
ein, und wählen Sie dann Hinzufügen aus.Als Nächstes erstellen Sie eine weitere Variable. Sie verwenden diese Variable später in Ihrem Flow, um zu erkennen, ob andere Flows eine X-Aktion enthalten.
Wählen Sie den +-Schritt unter dem soeben erstellten Schritt aus, um eine weitere Aktion hinzuzufügen. Suchen Sie nach einer anderen Aktion Variable initialisieren, und fügen Sie sie hinzu. Wählen Sie die Option Variable initialisieren aus, und ändern Sie sie in Variable initialisieren – Enthält der Datenfluss X-Aktion. Fügen Sie unter NameisFlowAction hinzu, und ändern Sie den Typ in Boolesch. Legen Sie false als Standardwert fest, indem Sie false aus der Dropdownliste unter Wert auswählen. Sie werden diese Variable später in Ihrem Flow verwenden, wenn Sie erkennen, dass ein Flow eine X-Aktion beinhaltet.
Dann erhalten Sie eine Liste der Umgebungen. Sie verwenden diese Liste der in diesem Schritt erstellten Umgebungen später im Flow, um jede Umgebung auf Flows zu überprüfen, die X-Aktionen enthalten.
Wählen Sie das + unter dem Schritt aus, den Sie erstellt haben, und suchen Sie nach Umgebungen als Admin auflisten. Sie finden diese Aktion im Power Platform for Admins-Konnektor. In diesem Schritt müssen keine Parameter geändert werden.
Nachdem Sie die Umgebungen aufgelistet haben, erhalten Sie nun eine Liste der Flows in jeder Umgebung.
Wählen Sie + unter dem Schritt, den Sie erstellt haben, aus, und suchen Sie dann nach Flows als Administrator auflisten (V2). (Wenn es eine neuere Version als V2 gibt, verwenden Sie die neueste.) Diese Aktion finden Sie unter dem Power Automate-Verwaltung-Konnektor.
Die Aktion Flows als Administrator auflisten erfordert den Namen einer Umgebung als Eingabeparameter. Platzieren Sie Ihren Cursor im Feld Umgebung, und wählen Sie im Dropdownmenü Benutzerdefinierte Werte aus. Der Blitz und fx werden wieder angezeigt. Dieses Mal möchten Sie den dynamischen Inhalt verwenden, der in unserem Schritt Umgebungen als Administrator auflisten generiert wurde, also wählen Sie den Blitz aus.
Ihnen wird eine Liste der Ausgaben angezeigt, die Sie aus den vorherigen Schritten, die Sie in Ihrem Flow erstellt haben, verwenden können. Scrollen Sie nach unten und suchen Sie den Schritt Umgebungen als Administrator auflisten. Unter diesem Schritt wählen Sie die Spalte Name aus. Wenn Sie diese Eingabe bereitstellen, wird automatisch die Aktion Auf alle anwenden hinzugefügt, mit der Sie alle Ihre Umgebungen durchlaufen können.
Sie sind nur daran interessiert, Flows zu untersuchen, die seit der letzten Ausführung dieses Flows geändert wurden. Daher fügen Sie Ihrem Flow eine Bedingung hinzu, um die Ticks des letzten geänderten Zeitstempels jedes Flows mit der zuvor in diesem Flow festgelegten Variablen „Zeitstempel vor einer Stunde“ zu vergleichen.
Dazu berechnen Sie zunächst die Takte des Zeitstempels der zuletzt durchgeführten Änderung. Die vollständige Anweisung lautet
ticks(items('Apply_to_each_2')?['properties']?['lastModifiedTime']) is greater than previousTimestamp
.Wenn Sie feststellen, dass ein Flow innerhalb der letzten 60 Minuten geändert wurde, müssen Sie sicherstellen, dass er nicht zu Ihnen als Administrator gehört. Wenn Sie versuchen, den Administrator in einem späteren Schritt als Mitbesitzer eines Flows hinzuzufügen, werden durch diese Überprüfung Fehler vermieden.
Verwenden Sie den Office 365-Benutzer-Konnektor und die Aktion Mein Profil abrufen (v2), und fügen Sie sie der Verzweigung Wenn ja hinzu. Mit diesem Schritt werden Informationen zum Benutzer zurückgegeben, der eine Verbindung mit dem Konnektor hergestellt hat (in diesem Fall der Administrator).
Nun fügen Sie eine weitere Bedingung hinzu, mit der überprüft wird, ob die Objekt-ID des Erstellers (aus der Aktion Flows als Administrator auflisten) gleich der ID (aus der Aktion Mein Profil abrufen (V2)) ist.
Fügen Sie in der Verzweigung Wenn ja die Aktion Flowbesitzerrolle als Administrator bearbeiten hinzu, die zum Konnektor Power Automate für Administratoren gehört. Sie fügen Ihren Administrator als Mitbesitzer des Flows hinzu, und die Flowdefinition wird extrahiert, sodass Sie ein Mitbesitzer des Flows sein müssen.
Sie rufen die Flowdefinition in einem der nächsten Schritte ab. Geben Sie jedoch den aktuellen Umgebungsnamen und den aktuellen Flownamen an. Erweitern Sie den Abschnitt Text/Einsetzung, und fügen Sie diese Details Ihrem Administratorbenutzer hinzu: E-Mail-Adresse, Anzeigename und ID. Diese Werte sind über den dynamischen Inhalt der Aktion Mein Profil abrufen (V2) zugänglich.
Nachdem Sie Ihr Administratorkonto als Mitbesitzer des Flows hinzugefügt haben, können Sie die Aktion Flow als Administrator abrufen über den Flowverwaltungskonnektor aufrufen.
Die Eingaben für die Aktion Flow als Administrator abrufen enthalten den aktuellen Umgebungsnamen und Flownamen. Die Ausgabe dieser Aktion enthält die Flowdefinition, mit der Sie das Vorhandensein einer X-Aktion bestimmen können.
Um zu überprüfen, ob eine X-Aktion verwendet wird, fügen Sie dem Flow eine Bedingung hinzu, und überprüfen Sie, ob der Name Aktions-API (aus der Aktion Flow als Administrator abrufen) shared_twitter entspricht. Nachdem Sie diese Bedingung hinzugefügt haben, wird die Schleife Auf alle anwenden angewendet. Dies geschieht, weil das Attribut Aktions-API-Name Teil eines Arrays ist, da jeder Flow viele Aktionen haben kann.
Aktualisieren Sie in der Verzweigung If yes die Variable isFlowAction auf den Wert true, da Sie nun einen Flow gefunden haben, der eine Twitter-Aktion enthält. Sie verwenden diese Variable später in Ihrem Flow, um festzustellen, ob Sie einen Flow deaktivieren und den Flowbesitzer per E-Mail benachrichtigen müssen.
Abgesehen von der Variablen Auf alle anwenden, mit der Sie alle Aktionen in Ihrem Flow durchlaufen können, müssen Sie eine weitere Bedingung hinzufügen. Mit dieser Bedingung wird überprüft, ob der Wert Ihrer Variable isFlowAction den Wert true aufweist.
Fügen Sie im Wenn ja-Zweig den Microsoft Flow for Admins-Konnektor hinzu, und wählen Sie dann die Aktion Flow als Administrator deaktivieren aus. Auf diese Weise können Sie den Flow deaktivieren, sodass keine Informationen an X gesendet werden. Zum Aufrufen dieser Aktion fügen Sie den aktuellen Umgebungsnamen und den Flownamen ein.
Wenn Sie den Flow eines Benutzers deaktivieren, empfiehlt es sich, diesem eine E-Mail zu senden, damit er weiß, dass der Flow nicht mehr ausgeführt wird. Um die E-Mail-Adresse des Flowbesitzers abzurufen, verwenden Sie den Office 365-Benutzerkonnektor, und verwenden Sie die Aktion Benutzerprofil abrufen (V2), um die E-Mail-Adresse des Besitzers zurückzugeben. Zum Abrufen der E-Mail-Adresse müssen Sie die Objekt-ID des Erstellers hinzufügen, die Sie aus der Aktion Flows als Administrator auflisten abrufen können.
Senden Sie eine E-Mail an den Flowbesitzer, indem Sie den Office 365-Outlook-Konnektor und die Aktion E-Mail senden (V2) verwenden. Verwenden Sie die Informationen, die von der Aktion Benutzerprofil abrufen (V2) zurückgegeben werden, um diese E-Mail zu senden, einschließlich der Attribute E-Mail und Vorname. Außerdem können Sie den Flownamen aufnehmen, indem Sie das Attribut Anzeigename für Flow hinzufügen, das in der Ausgabe Flows als Administrator auflisten vorhanden ist.
Da Sie alle Flows in Ihrem Mandanten durchlaufen, müssen Sie die Variable isFlowAction auf den Wert false zurücksetzen, damit Sie nach anderen Flows suchen können, die möglicherweise eine Twitter-Aktion aufweisen. Sie können den administrativen Flow jetzt speichern.
Um Ihren Flow zu testen, melden Sie sich mit einem anderen Konto beim Power Automate Maker Portal an. Erstellen Sie einen Flow, der einen SharePoint-Trigger und eine X-Aktion enthält. Dieses Szenario wird nicht durch Ihre DLP-Richtlinie blockiert, aber es sollte durch den von Ihnen erstellten administrativen Flow erkannt werden.
Sie können nun den Flow zum Erkennen von X-Aktionen (früher Twitter) ausführen, den Sie zuvor als Administrator erstellt haben. Wenn dieser Flow ausgeführt wird, sollte er erkennen, dass ein Flow kürzlich geändert wurde und eine Twitter-Aktion enthält. Infolgedessen wird eine E-Mail an den Flowbesitzer gesendet.
Wenn Sie den SharePoint-zu-X-Flow untersuchen, werden Sie feststellen, dass er infolge der Deaktivierung des Flows durch Ihren Administrator deaktiviert wurde.
Das Abrufen von Informationen von X und das Senden an SharePoint verstößt jedoch nicht gegen Ihre Governance-Regeln. Infolgedessen können Sie einen weiteren Flow erstellen, indem Sie das Konto des Erstellers Ihres Flows verwenden, das einen X-Trigger und eine SharePoint-Aktion enthält. Wenn Sie den Governanceflow zum Erkennen von X-Aktionen ausführen, bleibt er funktionsfähig und wird nicht deaktiviert, da dies ein zulässiger Anwendungsfall ist.