WEBVTT 00:00:00.340 --> 00:00:06.460 Bereit für 10 Tage voller Microsoft 365, Co-Pilot, KI, Azure und den Menschen, die die Zukunft der Arbeit gestalten? 00:00:08.000 --> 00:00:11.680 Diesen Januar ist die M365-Con zurück und wir legen noch eine Schippe drauf. 00:00:12.960 --> 00:00:17.880 Seien Sie dabei bei Live-Sessions, Praxis-Demos und Expertenwissen von MVPs und Branchenprofis aus aller Welt. 00:00:18.780 --> 00:00:21.060 Keine generischen Folien, keine endlosen Schlagworte. 00:00:22.020 --> 00:00:23.680 Wir gehen die echten Herausforderungen an. 00:00:23.780 --> 00:00:28.660 Co-Pilot Studio, KI-Agenten, Fabrik, Sicherheit, Governance und Automatisierung, leider. 00:00:28.660 --> 00:00:34.260 Egal ob IT-Profi-Entwickler oder Führungskraft, es gibt Sessions, die genau auf Sie zugeschnitten sind, sind. 00:00:35.420 --> 00:00:40.180 An 10 vollen Tagen können Sie zahlreiche Technologien erkunden und sich mit einer globalen Community vernetzen. 00:00:40.940 --> 00:00:44.280 Verfolgen Sie es live und nehmen Sie praktische Erkenntnisse mit zurück in Ihr Unternehmen. 00:00:45.160 --> 00:00:50.520 Januar 2027, 10 Tage, eine Microsoft-Community. Die Registrierung ist jetzt eröffnet. 00:00:52.500 --> 00:00:54.780 Sichern Sie sich noch heute Ihren Platz. 00:00:54.780 --> 00:00:58.620 Das ist mtreuerfunk60con.net 00:00:58.620 --> 00:01:04.680 Melden Sie sich jetzt unter mtreuerfunk60con.net an. Wir sehen uns live im Januar. 00:01:05.240 --> 00:01:07.080 Ihre SharePoint-Berechtigungen sind wahrscheinlich ein einziges Durcheinander. 00:01:07.540 --> 00:01:11.580 Nicht, weil Sie sie nicht verwalten, sondern weil niemand bei tausenden täglich wechselnden Seiten Schritt halten kann. 00:01:12.200 --> 00:01:12.860 Was erschrecken Sie daran? 00:01:13.340 --> 00:01:16.460 Die meisten Organisationen haben keinen einzigen Bericht, der zeigt, wer worauf Zugriff hat. 00:01:16.460 --> 00:01:25.040 In dieser Session zeige ich Ihnen die genauen Schritte, um jede Seite, jede Bibliothek und jeden Benutzer zu scannen, ohne eine einzige Seite manuell anzufassen. 00:01:26.360 --> 00:01:35.340 Am Ende wissen Sie, wie man die Arbeit, die normalerweise Wochen dauert, automatisiert, sodass täglich präzise Berichte vorliegen und Sie können endlich ruhig schlafen, da Sie die Kontrolle haben, da Sie die Kontrolle haben. 00:01:35.340 --> 00:01:40.080 Warum traditionelle Berechtigungsprüfungen im Unternehmensmaßstab scheitern 00:01:40.080 --> 00:01:44.160 Sie kennen diese jährliche Berechtigungsprüfung, auf die sich jeder so sehr freut? 00:01:45.040 --> 00:01:48.980 Die Tabelle wird verschickt, die Website-Besitzer gehen ihre Listen durch, Manager geben sie frei 00:01:48.980 --> 00:01:52.840 und für etwa 24 Stunden fühlt es sich an, als hätten Sie alles unter Kontrolle. 00:01:54.080 --> 00:01:57.000 Schon in der nächsten Woche hat jemand einen Ordner mit einem neuen Auftragnehmer geteilt 00:01:57.000 --> 00:01:58.860 oder eine Projektseite wurde unbemerkt erstellt 00:01:58.860 --> 00:02:04.080 und der finale Datensatz, den Sie gerade archiviert haben, geht schon meilenweit an der Realität vorbei. 00:02:04.080 --> 00:02:08.900 Bei einer kleinen Sammlung ist es noch möglich, Änderungen abzufangen, bevor Sie außer Kontrolle geraten. 00:02:09.660 --> 00:02:12.180 Sie ziehen die Liste der Website-Mitglieder, prüfen vielleicht ein paar Gruppen 00:02:12.180 --> 00:02:14.180 und bestätigen, dass niemand unbefugten Zugriff hat. 00:02:14.720 --> 00:02:16.280 In dieser Welt funktioniert die manuelle Überprüfung. 00:02:17.140 --> 00:02:19.760 Der Berechtigungsbaum ist kurz genug, um ihn auf einem Bildschirm zu sehen 00:02:19.760 --> 00:02:22.520 und die Anzahl der Personen, die Änderungen vornehmen, ist überschaubar. 00:02:23.560 --> 00:02:24.720 Es ist langweilig, aber machbar. 00:02:25.200 --> 00:02:27.340 Im Unternehmensmaßstab bricht dieses Modell schnell zusammen. 00:02:28.080 --> 00:02:30.300 Sie schauen nicht mehr auf ein ordentliches Set von fünf Intranet-Seiten. 00:02:30.300 --> 00:02:34.860 Sie sehen sich vielleicht 10.000 Seiten über Abteilungen, Regionen und Geschäftsbereiche hinweg gegenüber. 00:02:35.140 --> 00:02:36.860 Und diese sind nicht statisch. 00:02:37.480 --> 00:02:38.960 Teams erstellen täglich neue Seiten. 00:02:39.120 --> 00:02:40.720 Archivierte Projekte verschwinden nie ganz 00:02:40.720 --> 00:02:43.600 und ständige Inhaltsänderungen führen dazu, dass sich Berechtigungen laufend ändern. 00:02:44.500 --> 00:02:47.280 Das Zeitfenster zwischen ihrer Überprüfung und der nächsten bedeutenden Änderung 00:02:47.280 --> 00:02:48.340 beträgt manchmal nur wenige Stunden. 00:02:49.040 --> 00:02:51.640 Noch schlimmer SharePoint ist täuschend, wenn man versucht, es mit bloßem Auge zu erfassen. 00:02:52.160 --> 00:02:54.280 Berechtigungen können von der übergeordneten Website geerbt, 00:02:54.380 --> 00:02:56.500 auf Bibliotheksebene überschrieben, in einem Ordner angepasst 00:02:56.500 --> 00:02:58.680 und bei einer einzelnen Datei erneut korrigiert werden. 00:02:59.620 --> 00:03:01.500 Der Zugriff eines Benutzers ist oft nicht offensichtlich, 00:03:01.640 --> 00:03:03.200 da er über eine verschachtelte Gruppe erfolgt, 00:03:03.500 --> 00:03:06.300 vielleicht sogar über eine aus Azure-IDs synchronisierte Sicherheitsgruppe, 00:03:06.580 --> 00:03:08.020 die selbst weitere Gruppen enthält. 00:03:08.900 --> 00:03:10.420 Ein fehlender Klick in diese Ebenen genügt 00:03:10.420 --> 00:03:11.980 und Sie haben keine Ahnung, dass sie dort vorhanden sind. 00:03:12.360 --> 00:03:14.800 Compliance-Teams erwarten nach wie vor saubere Audit-Protokolle 00:03:14.800 --> 00:03:16.200 und Nachweise über regelmäßige Überprüfungen. 00:03:16.840 --> 00:03:19.680 Die Realität ist, dass Sie eine Armee von Administratoren bräuchten, 00:03:19.860 --> 00:03:22.060 um jede Website-Struktur manuell zu durchlaufen, 00:03:22.380 --> 00:03:25.260 jede Berechtigung zu notieren und deren Gültigkeit zu bestätigen. 00:03:25.260 --> 00:03:27.600 Dabei ist noch gar nicht die Zeit eingerechnet, 00:03:27.700 --> 00:03:29.680 um geerbte und gruppenbasierte Zugriffe erneut zu prüfen, 00:03:29.740 --> 00:03:30.560 die sich in dem Moment ändern, 00:03:30.660 --> 00:03:32.460 indem jemand einem Benutzer in einem anderen Team zuweist. 00:03:32.820 --> 00:03:34.780 Die praktische Umsetzung steht einfach in keinem Verhältnis so. 00:03:35.160 --> 00:03:36.780 Ich habe mit einer Organisation zusammengearbeitet, 00:03:36.840 --> 00:03:39.640 die über 80 Admin-Stunden für eine einzige vierteljährliche Überprüfung aufgewendet hat. 00:03:40.200 --> 00:03:41.460 Sie teilten die Arbeitslast auf, 00:03:41.680 --> 00:03:42.760 erstellten Mitgliedschaftsberichte 00:03:42.760 --> 00:03:44.900 und hatten sogar einen formellen Prozess festgelegt. 00:03:45.780 --> 00:03:47.460 Die Abschlussdatei sah gründlich aus, 00:03:47.740 --> 00:03:50.340 aber zwei Wochen später fand ein Penetrationstest Gäste 00:03:50.340 --> 00:03:52.280 mit Bearbeitungszugriff auf vertrauliche Ordner, 00:03:52.320 --> 00:03:53.540 die völlig übersehen worden waren. 00:03:53.540 --> 00:03:56.940 Nicht, weil jemand bei seiner Arbeit versagt hätte, 00:03:57.720 --> 00:04:00.100 sondern weil der Zugriff über eine verschachtelte Gruppe erfolgte, 00:04:00.180 --> 00:04:01.700 die im manuellen Bericht nie auftauchte. 00:04:02.780 --> 00:04:04.160 Das ist die Lücke, die in den Schlaf rauben wird. 00:04:04.640 --> 00:04:06.840 Veraltete Berechtigungen, die tief in Strukturen verborgen sind 00:04:06.840 --> 00:04:08.080 oder ehemalige Mitarbeiter, 00:04:08.220 --> 00:04:09.900 deren Konten in synchronisierten Gruppen verbleiben. 00:04:11.000 --> 00:04:12.380 Gastkonten, die eigentlich hätten ablaufen sollen, 00:04:12.420 --> 00:04:13.060 es aber nicht taten. 00:04:13.620 --> 00:04:14.500 Man übersieht sie leicht 00:04:14.500 --> 00:04:16.240 und wenn sie sich auf eine manuelle Durchsicht verlassen, 00:04:16.660 --> 00:04:18.340 setzen sie ebenso sehr auf Glück wie auf Prozesse. 00:04:18.880 --> 00:04:20.760 Sie erkennen, dass das Modell der jährlichen Momentaufnahme 00:04:20.760 --> 00:04:22.680 nicht deshalb fehlerhaft ist, weil Menschen faul sind. 00:04:23.680 --> 00:04:25.100 Es ist fehlerhaft, weil sich das System, 00:04:25.180 --> 00:04:26.520 das es erfassen will, ständig verändert. 00:04:27.400 --> 00:04:28.480 Berechtigungen sind lebendige Daten. 00:04:29.240 --> 00:04:30.640 Sie wie eine statische Liste zu behandeln, 00:04:30.720 --> 00:04:32.140 bedeutet, dass sie immer in der Vergangenheit leben 00:04:32.140 --> 00:04:33.860 und nie den Live-Status ihrer Umgebung kennen. 00:04:34.820 --> 00:04:35.760 Die Lösung besteht nicht darin, 00:04:35.820 --> 00:04:37.040 mehr Personal für die Überprüfung herzustellen. 00:04:37.780 --> 00:04:38.980 Es geht darum, einen Weg zu finden, 00:04:39.080 --> 00:04:41.500 diese Daten automatisch abzufragen und zu konsolidieren, 00:04:41.620 --> 00:04:44.040 damit ihre Berichte jede Änderung sofort widerspiegeln. 00:04:44.040 --> 00:04:46.820 Der nächste Schritt ist die Verbindung zu jeder Website, 00:04:46.920 --> 00:04:48.320 ohne sich einzeln durchgecken zu müssen 00:04:48.320 --> 00:04:50.640 und genau hier kommt ein leistungsfähigeres Tool ins Spiel. 00:04:52.020 --> 00:04:54.040 Schaffung der Grundlage mit PNP PowerShell 00:04:54.040 --> 00:04:56.620 Stellen Sie sich vor, Sie öffnen ein PowerShell-Fenster, 00:04:56.740 --> 00:04:57.720 führen einen Befehl aus 00:04:57.720 --> 00:05:00.160 und sind mit jeder SharePoint-Website in Ihrem Tenant verbunden. 00:05:01.260 --> 00:05:02.080 Keine Browser-Tabs, 00:05:02.180 --> 00:05:03.820 kein endloses Klicken durch Website-Sammlungen, 00:05:03.960 --> 00:05:05.800 sondern ein direkter Zugang zur gesamten Umgebung 00:05:05.800 --> 00:05:07.020 von einer einzigen Stelle aus. 00:05:07.900 --> 00:05:09.640 Genau das bietet dir PNP PowerShell 00:05:09.640 --> 00:05:12.280 und wenn du es bisher nur für kleine Ad-Hoc-Skripte verwendet hast, 00:05:12.280 --> 00:05:14.920 mag es überraschen, wie leistungsfähig es eigentlich ist. 00:05:15.460 --> 00:05:15.700 Ist. 00:05:16.640 --> 00:05:18.400 PNP PowerShell ist im Grunde deine Brücke 00:05:18.400 --> 00:05:21.060 zwischen SharePoint Online und deiner Automatisierungsumgebung. 00:05:21.680 --> 00:05:21.860 Äh. 00:05:22.720 --> 00:05:25.860 Es verpackt die Microsoft APIs in benutzerfreundlichere Befehle 00:05:25.860 --> 00:05:28.740 und bietet dir gleichzeitig Zugriff auf erweiterte Funktionen 00:05:28.740 --> 00:05:29.640 unter der Oberfläche. 00:05:30.780 --> 00:05:32.720 Im kleinen Rahmen kommst du mit einer interaktiven 00:05:32.720 --> 00:05:34.500 Connect PNP Online-Verbindung zurecht, 00:05:34.560 --> 00:05:35.880 bei der du dich mit deinem Konto anmeldest 00:05:35.880 --> 00:05:37.280 und Zeitdaten abrufst. 00:05:38.280 --> 00:05:40.820 Doch bei größeren Umgebungen werden interaktive Anmeldungen zum Albtraum. 00:05:40.820 --> 00:05:43.400 Du kannst nicht erwarten, dass geplante Prozesse darauf warten, 00:05:43.460 --> 00:05:45.760 dass jemand ein Passwort eingibt oder eine Abfrage bestätigt. 00:05:46.800 --> 00:05:49.180 Genau hier zeigen sich die Schwachstellen naiver Skripte. 00:05:50.320 --> 00:05:52.020 Vielleicht bist du gerade bei der Hälfte der Site-Auflistung, 00:05:52.100 --> 00:05:53.000 wenn dein Token abläuft. 00:05:53.860 --> 00:05:55.640 Du könntest den Dienst zu schnell überlasten 00:05:55.640 --> 00:05:57.020 und Drosselungsgrenzen erreichen 00:05:57.020 --> 00:06:00.300 oder feststellen, dass nicht jede Site dieselbe Struktur aufweist. 00:06:00.580 --> 00:06:00.900 Darst. 00:06:02.480 --> 00:06:04.140 Einige verwenden moderne Teamvorlagen, 00:06:04.280 --> 00:06:06.600 andere sind klassische Sammlungen mit ausgefallenen Berechtigungen 00:06:06.600 --> 00:06:08.440 und Einstellungen an unerwarteten Stellen. 00:06:09.400 --> 00:06:10.820 Je mehr du versuchst es mit Gewalt zu erzwingen, 00:06:10.860 --> 00:06:11.820 desto anfälliger wird das Ganze. 00:06:12.720 --> 00:06:15.260 Ein besserer Weg ist der Wechsel zu App-Only-Verbindungen. 00:06:16.960 --> 00:06:18.080 In der Praxis bedeutet das, 00:06:18.160 --> 00:06:20.140 eine Azure-ID-App-Registrierung zu erstellen, 00:06:20.520 --> 00:06:22.920 ihr die erforderlichen SharePoint- und Graph-Berechtigungen zu erteilen 00:06:22.920 --> 00:06:24.040 und sich mit einem Zertifikat, 00:06:24.120 --> 00:06:25.680 statt ein Benutzerkonto zu authentifizieren. 00:06:27.120 --> 00:06:29.020 Diese zertifikatsbasierte Authentifizierung 00:06:29.020 --> 00:06:31.040 ist für unbeaufsichtigte Prozesse weiter stabiler. 00:06:31.940 --> 00:06:33.780 DNP PowerShell unterstützt dies von Haus aus. 00:06:33.780 --> 00:06:36.420 Sobald das Zertifikat sicher gespeichert ist, 00:06:36.540 --> 00:06:38.460 vorzugsweise in einem Dienst wie Azure Key Vault, 00:06:38.660 --> 00:06:40.580 können sich deine Skripte ohne Abfragen 00:06:40.580 --> 00:06:42.900 und ohne das Risiko abgelaufener Passwörter verbinden. 00:06:43.820 --> 00:06:45.040 Wie aber findest du nun all die Sites, 00:06:45.120 --> 00:06:45.960 mit denen du dich verbinden musst? 00:06:46.420 --> 00:06:48.560 Auf Tenentebene kannst du keine hartcodierte Liste pflegen. 00:06:49.460 --> 00:06:50.920 Du kannst Connect PNP Online 00:06:50.920 --> 00:06:52.940 mit der suchbasierten Site-Enumeration verwenden 00:06:52.940 --> 00:06:54.700 oder dich mit Microsoft Graph integrieren, 00:06:54.880 --> 00:06:57.120 um jede Site-Collection-URL dynamisch abzurufen. 00:06:58.540 --> 00:06:59.740 Graph ist meist konsistenter, 00:06:59.740 --> 00:07:01.800 aber der PNP-Suchansatz kann den kleineren Tenents 00:07:01.800 --> 00:07:02.800 schnelle Erfolge liefern. 00:07:03.800 --> 00:07:04.780 Der Schlüssel ist jedoch, 00:07:04.860 --> 00:07:06.120 dass die Enumeration selbst hinanweit 00:07:06.120 --> 00:07:07.340 und automatisiert erfolgen muss. 00:07:07.960 --> 00:07:09.160 Es darf keine manuelle Kuratierung geben. 00:07:09.660 --> 00:07:10.560 Sobald du eine Liste hast, 00:07:10.640 --> 00:07:12.260 musst du dennoch rücksichtsvoll mit dem Dienst umgehen. 00:07:13.040 --> 00:07:13.860 Bündle deine Anfragen. 00:07:14.440 --> 00:07:16.220 Verwende Pausen oder Drosselungsmechanismen. 00:07:16.860 --> 00:07:17.460 Es geht nicht nur darum, 00:07:17.540 --> 00:07:19.320 429 Fehler von Microsoft zu vermeiden. 00:07:19.680 --> 00:07:20.660 Es geht darum, sicherzustellen, 00:07:20.740 --> 00:07:22.680 dass dein Prozess in einem realistischen Zeitrahmen abschließt, 00:07:22.720 --> 00:07:23.920 ohne die Endpunkte zu überlasten. 00:07:25.680 --> 00:07:26.960 Dies gut zu handhaben bedeutet, 00:07:27.060 --> 00:07:28.660 deine Schleifen so zu strukturieren, 00:07:28.660 --> 00:07:30.460 dass sie eine überschaubare Teilmenge von Sites 00:07:30.460 --> 00:07:31.540 gleichzeitig verarbeiten, 00:07:31.920 --> 00:07:32.820 Zwischenergebnisse schreiben 00:07:32.820 --> 00:07:34.840 und bei einem Sitzungsabbruch sauber fortfahren. 00:07:36.440 --> 00:07:38.440 Ein Beispiel für sichere Handhabung 00:07:38.440 --> 00:07:39.700 wäre ein PowerShell Runbook, 00:07:39.840 --> 00:07:42.520 das ihr Zertifikat zur Laufzeit aus dem Keyword abruft, 00:07:42.600 --> 00:07:44.180 eine Verbindung zum Admincenter herstellt, 00:07:44.320 --> 00:07:46.220 alle Website-URLs über Graph abfragt 00:07:46.220 --> 00:07:49.340 und diese dann in kontrollierten Chargen durchläuft. 00:07:50.500 --> 00:07:51.560 Keine Anmeldeaufforderung, 00:07:51.640 --> 00:07:52.920 keine festkodierten Anmeldedaten, 00:07:53.020 --> 00:07:53.840 vollständig wiederholbar. 00:07:54.460 --> 00:07:55.840 Sie könnten dies heute bei Bedarf ausführen 00:07:55.840 --> 00:07:56.820 und morgen nach einem Zeitplan. 00:07:56.820 --> 00:07:58.680 An diesem Punkt haben Sie Ihre Konsole 00:07:58.680 --> 00:07:59.800 im Grunde mit dem Nervensystem 00:07:59.800 --> 00:08:01.160 Ihres SharePoint-Tenants verbunden. 00:08:02.160 --> 00:08:03.720 Sie können jede Website programmatisch erreichen, 00:08:03.820 --> 00:08:05.500 ohne jemals die Benutzeroberfläche zu berühren. 00:08:06.220 --> 00:08:07.180 Das löst die erste Hürde 00:08:07.180 --> 00:08:08.840 für die unternehmensweite Berechtigungsprüfung, 00:08:08.960 --> 00:08:10.080 Minerkennung und Verbindung. 00:08:10.720 --> 00:08:11.520 Aber was Sie jetzt haben, 00:08:11.540 --> 00:08:12.560 ist immer noch oberflächlich. 00:08:13.520 --> 00:08:15.060 Sie können Website-Eigenschaften abrufen, 00:08:15.160 --> 00:08:16.340 vielleicht Gruppen auf oberster Ebene, 00:08:16.680 --> 00:08:17.360 aber Sie sehen noch nicht 00:08:17.360 --> 00:08:19.020 die verschachtelten, verehrten Zugriffe, 00:08:19.080 --> 00:08:20.320 die für die Compliance wichtig sind. 00:08:21.280 --> 00:08:22.480 Um diese Tiefe zu erreichen, 00:08:22.580 --> 00:08:24.380 müssen Sie auf einen reichhaltigeren Datensatz zugreifen, 00:08:24.500 --> 00:08:25.400 als PNP allein bietet. 00:08:25.400 --> 00:08:27.600 Die Befehle hier sind großartig 00:08:27.600 --> 00:08:28.960 für die Orchestrierung von Verbindungen 00:08:28.960 --> 00:08:30.320 und das Durchlaufen von Websites, 00:08:30.420 --> 00:08:32.240 aber um die vollständige Berechtigungshistorie 00:08:32.240 --> 00:08:34.320 für jede Datei und jeden Ordner zu entschlüsseln, 00:08:34.480 --> 00:08:36.040 müssen wir eine weitere API hinzuziehen, 00:08:36.100 --> 00:08:37.080 die darauf ausgelegt ist, 00:08:37.160 --> 00:08:38.840 diese Beziehungen sauber offen zu legen. 00:08:39.920 --> 00:08:40.840 Hier kommt die nächste Ebene 00:08:40.840 --> 00:08:41.840 dieses Ansatzes ins Spiel, 00:08:41.940 --> 00:08:43.760 nämlich das Auslesen von Berechtigungsdaten 00:08:43.760 --> 00:08:45.140 mit der Microsoft Graph API. 00:08:46.140 --> 00:08:47.940 Wenn die Verbindung mit PNP PowerShell 00:08:47.940 --> 00:08:49.340 in die Schlüssel zu jeder Website gibt, 00:08:49.440 --> 00:08:51.240 ist die Nutzung der Microsoft Graph API, 00:08:51.560 --> 00:08:52.860 wie das Betreten jeder Einzelnen, 00:08:52.860 --> 00:08:55.440 um die vollständige Gästeliste zu sehen. 00:08:56.020 --> 00:08:58.260 Wer ist da, weil er direkt eingeladen wurde? 00:08:58.340 --> 00:08:59.200 Wer ist Teil einer Gruppe? 00:08:59.720 --> 00:09:01.360 Und wer kommt durch eine vererbte Tür herein, 00:09:01.400 --> 00:09:03.000 die Sie nicht einmal bemerkt haben? 00:09:03.280 --> 00:09:03.440 Hä? 00:09:04.020 --> 00:09:06.000 Das ist der Punkt, an dem Sie aufhören zu raten 00:09:06.000 --> 00:09:07.340 und eine klare, einheitliche Sicht 00:09:07.340 --> 00:09:08.920 auf Tausende von Websites und Bibliotheken 00:09:08.920 --> 00:09:09.720 gleichzeitig erhalten. 00:09:10.840 --> 00:09:13.480 Graph liegt viel in Microsoft 365 Diensten zugrunde. 00:09:14.560 --> 00:09:16.380 Bei Berechtigungen fungiert es als Rückgrat, 00:09:16.460 --> 00:09:17.240 dass es Ihnen ermöglicht, 00:09:17.320 --> 00:09:18.740 SharePoint, OneDrive und Teams 00:09:18.740 --> 00:09:19.920 konsistent abzufragen. 00:09:19.920 --> 00:09:21.420 Der Unterschied ist, 00:09:21.500 --> 00:09:22.840 dass es Ihnen nicht nur eine flache Liste liefert. 00:09:23.840 --> 00:09:24.520 Es ermöglicht Ihnen, 00:09:24.640 --> 00:09:26.600 Website-Objekte, Listen, Bibliotheken, Dateien 00:09:26.600 --> 00:09:28.700 und die jeweils zugehörigen Berechtigungsobjekte 00:09:28.700 --> 00:09:29.240 abzurufen. 00:09:30.060 --> 00:09:30.680 Das ist wichtig, 00:09:30.800 --> 00:09:31.880 weil in SharePoint-Berechtigungen 00:09:31.880 --> 00:09:33.760 nichts ordentlich an einem Ort gespeichert ist. 00:09:35.000 --> 00:09:36.200 Direkte Zuweisungen existieren 00:09:36.200 --> 00:09:37.180 neben Gruppenmitgliedschaften, 00:09:37.200 --> 00:09:38.800 die sich in Azure AD-Gruppen befinden können, 00:09:38.860 --> 00:09:40.780 welche wiederum eigene verschachtelte Gruppen enthalten. 00:09:40.780 --> 00:09:43.820 Zum Beispiel kann der Microsoft-Sites-Class 00:09:43.820 --> 00:09:45.840 site-it-permissions-end.in 00:09:45.840 --> 00:09:48.000 Informationen über Freigabelinks und Zugriffsberechtigungen 00:09:48.000 --> 00:09:48.940 auf Website-Ebene liefern, 00:09:49.040 --> 00:09:49.940 aber das deckt nicht alles ab. 00:09:50.880 --> 00:09:52.240 Berechtigungen auf Listenebene 00:09:52.240 --> 00:09:53.300 erfordern möglicherweise 00:09:53.300 --> 00:09:57.700 sites-it-list-it-permissions 00:09:57.700 --> 00:10:00.100 und Zugriffsaufrufe auf Element- oder Dateiebene 00:10:00.100 --> 00:10:04.040 könnten drive-it-it-it-it-it-it-permissions benötigen. 00:10:04.900 --> 00:10:05.560 Um zu verstehen, 00:10:05.760 --> 00:10:06.780 wer tatsächlich was hat, 00:10:06.900 --> 00:10:09.040 müssen Sie diese Ergebnisse zusammenführen. 00:10:09.040 --> 00:10:11.640 Na, dazu gehört das Nachschlagen 00:10:11.640 --> 00:10:13.500 von Gruppenmitgliedschaften über Gruppen-IDs 00:10:13.500 --> 00:10:15.540 und das Auflösen von Benutzerobjekten, 00:10:15.660 --> 00:10:16.380 damit Sie genau wissen, 00:10:16.460 --> 00:10:17.780 wer hinter einem Gruppeneintrag steckt. 00:10:19.020 --> 00:10:19.780 Kompliziert wird es, 00:10:19.840 --> 00:10:21.200 wenn die Vererbung unsichtbar bleibt, 00:10:21.280 --> 00:10:23.320 weil Sie nur die direkten Berechtigungen betrachten. 00:10:24.640 --> 00:10:26.460 Eine Datei hat vielleicht keine eindeutigen Berechtigungen, 00:10:26.540 --> 00:10:27.260 was eigentlich bedeutet, 00:10:27.360 --> 00:10:28.360 suchen Sie eine Ebene höher. 00:10:29.540 --> 00:10:30.260 Wenn Sie dort aufhören, 00:10:30.320 --> 00:10:32.020 übersehen Sie ganze Kategorien von Zugriffsberechtigungen. 00:10:32.720 --> 00:10:33.940 Sie benötigen also eine Logik, 00:10:34.020 --> 00:10:35.780 die die Kette von der Datei über den Ordner 00:10:35.780 --> 00:10:37.820 und die Bibliothek bis zur Website hinauf geht, 00:10:37.820 --> 00:10:38.880 jede Ebene prüft 00:10:38.880 --> 00:10:40.180 und die Daten zusammenführt, 00:10:40.340 --> 00:10:42.900 bis der gesamte Vererbungspfad sichtbar ist. 00:10:43.960 --> 00:10:45.920 Paginierung und Drosselung sind hier eine weitere Realität. 00:10:47.180 --> 00:10:49.800 Graph-Antworten brechen oft nach 200 Elementen ab 00:10:49.800 --> 00:10:51.900 und Sie müssen den OData-Next-Link-Token folgen, 00:10:52.160 --> 00:10:53.260 um den Rest abzurufen. 00:10:54.460 --> 00:10:55.720 In großem Maßstab bedeutet das, 00:10:55.760 --> 00:10:56.880 Anforderungsschleifen zu erstellen, 00:10:56.960 --> 00:10:58.520 die Tausende von Antworten verarbeiten können, 00:10:58.600 --> 00:10:59.440 ohne Zeitüberschreitungen 00:10:59.440 --> 00:11:01.160 oder Kontextverluste oder Kontextverlust. 00:11:01.160 --> 00:11:04.300 Die Drosselung erfolgt über 429 Antworten 00:11:04.300 --> 00:11:06.060 mit einem vorgeschlagenen Retreat-After-Wert. 00:11:06.240 --> 00:11:07.500 Ihr Code muss dies berücksichtigen, 00:11:07.620 --> 00:11:08.900 sonst kommen Sie schnell nicht weiter. 00:11:09.820 --> 00:11:11.460 Eine Falle in die Administratoren tappen 00:11:11.460 --> 00:11:12.860 ist das ausschließlich Sammeln direkter Berechtigung. 00:11:13.080 --> 00:11:14.900 Das erzeugt einen sauber aussehenden Datensatz, 00:11:15.020 --> 00:11:16.460 der jedoch gefährlich unvollständig ist. 00:11:17.140 --> 00:11:19.500 Die Kombination mehrer Graph-Aufrufe löst dieses Problem. 00:11:19.500 --> 00:11:21.800 Berechtigungen auf Dateiebene 00:11:21.800 --> 00:11:23.860 plus Daten auf Bibliothekslisten und Website-Ebene 00:11:23.860 --> 00:11:25.260 quer verwiesen mit vollständigen 00:11:25.260 --> 00:11:27.100 Azure-ID-Gruppenmitgliedschaftserweiterungen. 00:11:28.660 --> 00:11:31.020 Das Endziel sind keine separaten Tabellen für jeden Typ, 00:11:31.240 --> 00:11:33.260 sondern ein flacher, normalisierter Datensatz, 00:11:33.500 --> 00:11:34.720 in dem jede Zeile die Ressource, 00:11:35.020 --> 00:11:36.020 den aufgelösten Benutzer 00:11:36.020 --> 00:11:37.480 und die effektive Zugriffsebene zeigt, 00:11:37.600 --> 00:11:39.800 unabhängig davon, wie sie gewährt wurde, 00:11:40.040 --> 00:11:40.600 unabhängig davon. 00:11:40.820 --> 00:11:43.420 Ein praktischer Ansatz ist die Datenerfassung in zwei Durchgängen. 00:11:44.060 --> 00:11:45.980 Zuerst werden alle Ressourcen, Websites, 00:11:46.420 --> 00:11:47.940 Listen und kritischen Bibliotheken 00:11:47.940 --> 00:11:49.680 oder Dokumentensätze aufgelistet. 00:11:50.560 --> 00:11:51.860 Zweitens werden für jede Ressource 00:11:51.860 --> 00:11:53.160 die direkten Berechtigungen abgefragt 00:11:53.160 --> 00:11:54.440 und dann die Hierarchie nach oben durchlaufen, 00:11:54.500 --> 00:11:55.640 um vererbte Einträge zu erfassen. 00:11:56.460 --> 00:11:58.000 Dabei werden alle gefundenen Gruppen-IDs 00:11:58.000 --> 00:11:59.740 durch Aufrufen der Gruppenmitgliedschafts-Endpunkte 00:11:59.740 --> 00:12:01.440 in tatsächliche Benutzerkonten aufgelöst. 00:12:02.500 --> 00:12:04.220 Auf diese Weise arbeiten sie bei der Analyse 00:12:04.220 --> 00:12:06.160 nur mit greifbaren Benutzer- und Gastobjekten 00:12:06.160 --> 00:12:07.380 und nicht mit kryptischen IDs. 00:12:08.140 --> 00:12:10.000 Das Ergebnis ist ein nutzbarer Datensatz. 00:12:10.900 --> 00:12:12.040 Sie können nach Benutzern sortieren 00:12:12.040 --> 00:12:13.860 und jede Ressource sehen, auf die sie zugreifen 00:12:13.860 --> 00:12:14.920 oder nach Ressourcen sortieren 00:12:14.920 --> 00:12:16.260 und jedes Konto mit Zugriff sehen. 00:12:16.260 --> 00:12:18.380 Sie können Filter für Gäste 00:12:18.380 --> 00:12:19.860 oder externe Benutzer anwenden 00:12:19.860 --> 00:12:20.460 und erhalten, 00:12:21.000 --> 00:12:21.900 sofortige Antworten 00:12:21.900 --> 00:12:23.360 ohne neue Berichte erstellen zu müssen. 00:12:24.320 --> 00:12:25.320 Dies ist eine Transparenz, 00:12:25.400 --> 00:12:26.860 die eine jährliche manuelle Überprüfung 00:12:26.860 --> 00:12:27.880 niemals erreichen könnte, 00:12:28.300 --> 00:12:29.680 da Sie sie jederzeit ausführen können 00:12:29.680 --> 00:12:30.500 und sicher sein können, 00:12:30.580 --> 00:12:31.800 dass nichts in einer dreistufigen 00:12:31.800 --> 00:12:33.580 Gruppenverschachtelung verborgen ist. 00:12:34.860 --> 00:12:36.340 Bei dieser Genauigkeit ist der nächste 00:12:36.340 --> 00:12:37.160 logische Schritt, 00:12:37.240 --> 00:12:39.080 die manuelle Ausführung komplett einzustellen. 00:12:40.080 --> 00:12:41.100 Wenn Sie die Abfragen 00:12:41.100 --> 00:12:42.780 nach einem Zeitplan automatisch ausführen können, 00:12:42.840 --> 00:12:43.960 haben Sie immer ein aktuelles Bild, 00:12:43.960 --> 00:12:46.400 ohne dass jemand ständig ein PowerShell-Fenster überwachen muss. 00:12:47.240 --> 00:12:48.580 Hier kommt die Orchestrierung ins Spiel, 00:12:48.760 --> 00:12:50.860 die die Prüfung mit Azure Automation automatisiert. 00:12:51.640 --> 00:12:52.300 Stellen Sie sich vor, 00:12:52.380 --> 00:12:53.140 Sie beginnen Ihren Tag 00:12:53.140 --> 00:12:55.360 und finden einen vollständigen aktuellen Berechtigungsbericht 00:12:55.360 --> 00:12:56.140 in Ihrem Posteingang. 00:12:56.680 --> 00:12:57.760 Keine nächtlichen Skripte, 00:12:57.840 --> 00:12:58.960 kein Fernzugriff auf einen Server, 00:12:59.080 --> 00:13:00.020 keine manuellen Exporte. 00:13:00.800 --> 00:13:01.680 Das ist der Reiz daran, 00:13:01.760 --> 00:13:03.420 den gesamten Prozess auf Autopilot zu stellen 00:13:03.420 --> 00:13:05.460 und Azure Automation ist eine der besten Möglichkeiten, 00:13:05.580 --> 00:13:06.160 dies zu erweichen, 00:13:06.380 --> 00:13:06.900 dies zu erreichen. 00:13:07.700 --> 00:13:09.080 Es ist im Grunde der Zeitplaner 00:13:09.080 --> 00:13:10.020 und die Ausführungsengine 00:13:10.020 --> 00:13:10.940 für all die PNP, 00:13:11.100 --> 00:13:12.740 PowerShell und Microsoft Graph-Arbeiten, 00:13:12.840 --> 00:13:14.200 die Sie bereits zusammengestellt haben, 00:13:14.360 --> 00:13:16.160 ohne dass Sie vor der Tastatur sitzen müssen. 00:13:17.040 --> 00:13:18.600 Ihren Azure Automation Runbooks leben 00:13:18.600 --> 00:13:20.000 und laufen Ihre Skripte in der Cloud. 00:13:21.100 --> 00:13:22.380 Anstatt Sie auf einem Server zu belassen, 00:13:22.440 --> 00:13:23.160 den jemand neu starten 00:13:23.160 --> 00:13:24.540 oder auf den jemand den Zugriff verlieren könnte, 00:13:24.640 --> 00:13:26.200 laden Sie Sie in einen verwalteten Dienst hoch. 00:13:26.920 --> 00:13:28.200 Dieser Dienst übernimmt die Ausführung, 00:13:28.300 --> 00:13:29.080 protokolliert die Ergebnisse 00:13:29.080 --> 00:13:29.780 und ermöglicht es Ihnen, 00:13:29.840 --> 00:13:31.040 sie nach einem Zeitplan auszulösen. 00:13:31.700 --> 00:13:32.760 Aber wenn Skripte laufen, 00:13:33.100 --> 00:13:33.940 ohne dass Sie zuschauen, 00:13:34.040 --> 00:13:35.420 können Dinge auf eine Weise schief gehen, 00:13:35.420 --> 00:13:36.640 die leicht zu übersehen ist 00:13:36.640 --> 00:13:38.000 wie ein abgelaufenes Zertifikat, 00:13:38.080 --> 00:13:39.200 das die Authentifizierung stoppt 00:13:39.200 --> 00:13:39.780 oder ein lang. 00:13:40.140 --> 00:13:40.920 Laufender Auftrag, 00:13:41.000 --> 00:13:42.420 der auf halbem Weg ein Timeout erreicht, 00:13:42.660 --> 00:13:43.980 der auf halbem Weg ein Timeout erreicht. 00:13:44.120 --> 00:13:45.320 Wenn Sie diese nicht einplanen, 00:13:45.360 --> 00:13:46.160 erhalten Sie einen Bericht, 00:13:46.340 --> 00:13:47.660 der stillschweigend fehlschlägt 00:13:47.660 --> 00:13:49.300 oder schlimmer noch unvollständige Daten liefert, 00:13:49.380 --> 00:13:50.840 die auf den ersten Blick in Ordnung aussehen. 00:13:51.540 --> 00:13:52.840 Der Ausgangspunkt ist die Sicherung 00:13:52.840 --> 00:13:53.700 Ihrer Authentifizierung. 00:13:54.220 --> 00:13:55.680 Das Einfügen von Anmeldeinformationen 00:13:55.680 --> 00:13:56.660 in ein Skript ist ein schneller Weg, 00:13:56.720 --> 00:13:58.020 ein Sicherheitsteam sehr unglücklich zu machen. 00:13:59.160 --> 00:14:00.100 Der richtige Ansatz ist, 00:14:00.180 --> 00:14:01.540 Ihr Zertifikat oder Clientgeheimnis 00:14:01.540 --> 00:14:02.540 in Azure Key Vault zu speichern 00:14:02.540 --> 00:14:04.100 und das Runbook ist der Laufzeit abrufen zu lassen. 00:14:05.040 --> 00:14:07.080 Key Vault hält die sensiblen Daten verschlüsselt 00:14:07.080 --> 00:14:09.080 und rollenbasierte Zugriffskontrollen 00:14:09.080 --> 00:14:09.560 stellen sicher, 00:14:09.860 --> 00:14:11.120 dass nur Ihr Automatisierungskonto 00:14:11.120 --> 00:14:11.940 Sie abrufen kann. 00:14:13.060 --> 00:14:14.360 Wenn das Zertifikat abläuft, 00:14:14.500 --> 00:14:15.820 können Sie es an einem Ort erneuern, 00:14:15.900 --> 00:14:17.520 ohne jedes Skript bearbeiten zu müssen. 00:14:18.120 --> 00:14:19.320 Die Zeitplanung in Azure Automation 00:14:19.320 --> 00:14:19.880 ist flexibel. 00:14:20.520 --> 00:14:21.700 Tägliche Durchläufe erfassen 00:14:21.700 --> 00:14:22.780 ein nahezu Echtzeitbild, 00:14:22.900 --> 00:14:24.980 aber wenn sich Ihre Umgebung langsamer ändert, 00:14:25.100 --> 00:14:26.980 könnte ein wöchentlicher Zeitplan ausreichen. 00:14:27.800 --> 00:14:29.260 Sie können genaue Zeiten festlegen, 00:14:29.380 --> 00:14:30.700 sich an Randzeiten orientieren, 00:14:30.700 --> 00:14:32.440 um die Last auf dem Mandanten zu reduzieren 00:14:32.440 --> 00:14:34.300 und Durchläufe sogar als Reaktion 00:14:34.300 --> 00:14:35.180 auf Ereignisse starten, 00:14:35.240 --> 00:14:36.100 anstatt nur nach der Uhr. 00:14:37.720 --> 00:14:39.800 Wenn der Auftrag mehr Ressourcen benötigt, 00:14:39.880 --> 00:14:41.220 als die Azure Sandbox bieten kann, 00:14:41.520 --> 00:14:41.980 zum Beispiel, 00:14:42.460 --> 00:14:43.880 wenn Sie es mit extrem großen Mandanten 00:14:43.880 --> 00:14:44.500 zu tun haben 00:14:44.500 --> 00:14:46.300 und sehr lange Aufzählungen ausführen, 00:14:46.560 --> 00:14:48.320 ermöglichen Hybrid Runbook Worker 00:14:48.320 --> 00:14:49.800 die Ausführung dieser Skripte vor Ort 00:14:49.800 --> 00:14:51.320 oder auf einer dedizierten VM, 00:14:51.620 --> 00:14:53.100 während sie weiterhin von Azure Automation 00:14:53.100 --> 00:14:53.740 verwaltet werden. 00:14:55.080 --> 00:14:56.760 Die Protokollierung ist genauso wichtig 00:14:56.760 --> 00:14:57.740 wie die Ausgabe selbst. 00:14:58.560 --> 00:14:59.240 Ohne Protokolle 00:14:59.240 --> 00:15:00.800 wird die Fehlersuche zum Raten. 00:15:00.900 --> 00:15:02.760 Azure Automation kann sowohl Standardausgabe 00:15:02.760 --> 00:15:03.580 als auch Fehlerstreams 00:15:03.580 --> 00:15:04.680 in Auftragsprotokollen erfassen, 00:15:04.780 --> 00:15:05.840 die Sie im Portal überprüfen 00:15:05.840 --> 00:15:07.200 oder für eine längerfristige Speicherung 00:15:07.200 --> 00:15:07.960 exportieren können. 00:15:08.800 --> 00:15:10.120 Diese Historie zu bewahren bedeutet, 00:15:10.220 --> 00:15:10.920 dass Sie nachweisen können, 00:15:10.980 --> 00:15:12.340 dass die Prüfung zu einem bestimmten Zeitpunkt lief 00:15:12.340 --> 00:15:12.880 und genau sehen können, 00:15:12.920 --> 00:15:13.360 was passiert ist, 00:15:13.380 --> 00:15:14.280 wenn sie nicht abgeschlossen wurde. 00:15:14.760 --> 00:15:16.320 Für die Compliance kann dieser Prüffahrt 00:15:16.320 --> 00:15:17.180 genauso wertvoll sein 00:15:17.180 --> 00:15:18.540 wie der Berechtigungsbericht selbst. 00:15:19.760 --> 00:15:20.920 Sobald das Skript abgeschlossen ist, 00:15:20.980 --> 00:15:21.840 haben Sie verschiedene Optionen, 00:15:21.840 --> 00:15:22.940 wo die Daten gespeichert werden sollen. 00:15:23.700 --> 00:15:25.380 Sie können die CSV- oder JSON-Ausgabe 00:15:25.380 --> 00:15:27.160 in eine SharePoint-Dokumenten-Bibliothek schreiben, 00:15:27.160 --> 00:15:28.540 in einen Azure-Blob-Speicher ablegen 00:15:28.540 --> 00:15:30.920 oder per SMTP-Relay- oder Logik-App 00:15:30.920 --> 00:15:33.040 an eine automatisierte E-Mail-Anhängen 00:15:33.040 --> 00:15:34.660 mit der Methode an. 00:15:35.740 --> 00:15:37.420 SharePoint eignet sich gut für den Teamzugriff, 00:15:37.520 --> 00:15:39.040 Blob-Speicher bewältigt sehr große Dateien 00:15:39.040 --> 00:15:40.220 und E-Mails sind sofort verfügbar, 00:15:40.320 --> 00:15:41.940 aber bei sensiblen Datensätzen weniger sicher. 00:15:42.660 --> 00:15:43.100 Es geht darum, 00:15:43.140 --> 00:15:44.460 die Bereitstellungsmethode zu wählen, 00:15:44.520 --> 00:15:45.800 die zu ihrem Überprüfungsprozess passt. 00:15:46.520 --> 00:15:47.680 Eine weitere Ebene besteht darin, 00:15:47.720 --> 00:15:48.300 zu identifizieren, 00:15:48.380 --> 00:15:49.680 wann etwas wirkliche Aufmerksamkeit erfordert. 00:15:49.940 --> 00:15:51.040 Dafür lässt Sie eine grundlegende 00:15:51.040 --> 00:15:52.220 Änderungskennung integrieren, 00:15:52.380 --> 00:15:53.000 indem man zum Beispiel 00:15:53.000 --> 00:15:53.880 den heutigen Datensatz 00:15:53.880 --> 00:15:54.940 mit dem von gestern vergleicht 00:15:54.940 --> 00:15:57.540 und bei einem neuen Gastbenutzer 00:15:57.540 --> 00:15:58.380 auf einer sensiblen Website 00:15:58.380 --> 00:15:59.020 eine Nachricht sendet.