Entwickeln einer Strategie für Anwendungsberechtigungen
Während Sie lernen, wie sie mit Zero-Trust-Prinzipienentwickeln, lesen Sie diesen Artikel nach Erwerben der Autorisierung für den Zugriff auf Ressourcen und Entwickeln einer delegierten Berechtigungsstrategie. Definieren Sie Ihren Anwendungsberechtigungsansatz für die Anmeldeinformationsverwaltung, wenn Sie die Microsoft Identity Platform verwenden, um Ihre Anwendungen zu authentifizieren und zu autorisieren und Berechtigungen und Einwilligung zu verwalten.
Wenn kein Benutzer beteiligt ist, haben Sie kein effektives Berechtigungsmodell, da Ihre Anwendung immer die vorab zugewiesenen Berechtigungen gewährt.
Die App beweist, dass die App die Berechtigung anfordert. Ihre Anwendung weist ihre eigene Identität mit einer der folgenden Methoden nach:
- ein Zertifikat, das die beste Option ist, oder
- ein Geheimnis in einem anspruchsvollen Geheimnisverwaltungssystem oder
- Wenn Sie Ihre Dienste in Azure entwickeln, verwenden Sie verwaltete Identitäten für Azure-Ressourcen, und lesen Sie den folgenden Abschnitt Verwalten von Anwendungsanmeldeinformationen.
Die App erfordert immer eine vorherige Administratoreinwilligung. Ihre Anwendung fordert diese Berechtigung mit dem
.default
-Bereich an. Sie fordert die Berechtigungen an, die der Administrator der Anwendung zuweist.Trans-Benutzerfunktionalität. Standardmäßig ermöglicht
User.ReadWrite.All
Ihrer Anwendung das Aktualisieren jedes Benutzerprofils. Als Anwendungsberechtigung ermöglicht es Ihrer Anwendung, das Profil jedes Benutzers im Mandanten zu lesen und zu aktualisieren.Berechtigungen, die der App gewährt werden, sind immer die verwendeten Berechtigungen. Im Gegensatz zu einer delegierten Berechtigung sind Anwendungsberechtigungen nicht an die Aktionen eines bestimmten Benutzers gebunden.
Einschränken von Anwendungsberechtigungen
Es gibt drei Möglichkeiten, eine Anwendung auf weniger als den globalen Zugriff zu beschränken.
Microsoft Teams-Apps verfügen über ressourcenspezifische Zustimmung (RSC), die es einer Anwendung ermöglicht, auf ein bestimmtes Team zuzugreifen, anstatt auf alle Teams im Unternehmen zuzugreifen. RSC ist eine API-Integration für Microsoft Teams und Microsoft Graph, mit der Ihre App API-Endpunkte verwenden und bestimmte Ressourcen verwalten kann. Das Berechtigungsmodell ermöglicht es Teams- und Chatbesitzern, Ihrer Anwendung die Zustimmung zu erteilen, auf ihre Teams- und Chatdaten zuzugreifen und diese zu ändern.
Microsoft Exchange-Administratoren können Exchange-Anwendungsrichtlinien erstellen, um den App-Zugriff auf bestimmte Postfächer mit einem PowerShell-Skript zu beschränken. Sie können eine bestimmte Anwendung auf bestimmte Postfächer mit
Calendar.Read
oderMail.Read
Zugriff beschränken. Auf diese Weise können Sie beispielsweise eine Automatisierung erstellen, die nur ein Postfach lesen oder nur E-Mails aus einem Postfach und nicht von allen Benutzern im Unternehmen senden kann.SharePoint verfügt über Sites.Selected as a specific scope to allow granular permissions for accessing SharePoint with an application. Wenn Sie
Sites.Selected
für Ihre Anwendung anstelle eines der anderen Berechtigungsergebnisse auswählen, haben Sie in Ihrer Anwendung standardmäßig keinen Zugriff auf SharePoint-Websitesammlungen. Der Administrator verwendet den Endpunkt für Websiteberechtigungen, um Ihrer Anwendung Lese-, Schreib- oder Lese- und Schreibberechtigungen zu erteilen.
Verwalten von Anwendungsanmeldeinformationen
Die Hygiene von Anmeldeinformationen kann sicherstellen, dass Ihre Anwendung schnell von einer potenziellen Verletzung wiederhergestellt wird. Die folgenden Best Practices helfen Ihnen bei der Entwicklung von Anwendungen für Erkennung und Wartung, während Downtime vermieden wird und legitime Benutzer nicht beeinträchtigt werden. Diese Empfehlungen unterstützen das Zero Trust-Prinzip der Annahme von Sicherheitsverletzungen bei der Vorbereitung, auf einen Sicherheitsvorfall zu reagieren.
Entfernen Sie alle geheimen Schlüssel aus Code und Konfiguration. Wenn Sie die Azure-Plattform verwenden, platzieren Sie geheime Schlüssel im Key Vault , und greifen Sie über verwaltete Identitäten für Azure-Ressourcen darauf zu. Sorgen Sie dafür, dass Ihr Code widerstandsfähig ist, damit er im Falle einer Kompromittierung mit dem Wechsel des Geheimnisses umgehen kann. IT-Administratoren können geheime Schlüssel und Zertifikate entfernen und wechseln, ohne Ihre Anwendung zu beeinträchtigen oder legitime Benutzer zu beeinträchtigen.
Verwenden Sie Zertifikate anstelle geheimer Clientschlüssel, es sei denn, ein sicherer Prozess ist vorhanden, um geheime Schlüssel zu verwalten. Angreifer wissen, dass geheime Clientschlüssel tendenziell weniger sicher verarbeitet werden und die geheime Nutzung durch Lecks schwer zu verfolgen ist. Bei einer Kompromittierung können Zertifikate besser verwaltet und widerrufen werden. Wenn Sie geheime Schlüssel verwenden, erstellen oder verwenden Sie dafür einen sicheren No-Touch-Bereitstellungs- und Rollover-Prozess. Verwenden Sie geheime Schlüssel mit einem festgelegten Ablaufzeitraum (z. B. ein Jahr, zwei Jahre) und vermeiden Sie „läuft nie ab“.
Stellen Sie regelmäßig Zertifikate und geheime Schlüssel bereit, um Resilienz in Ihrer Anwendung zu erstellen und den Ausfall durch einen Notfall-Rollover zu vermeiden.
Nächste Schritte
- Unter Erwerben der Autorisierung für den Zugriff auf Ressourcen erfahren Sie, wie Sie bei der Einholung von Zugriffsberechtigungen auf Ressourcen für Ihre Anwendung am besten Zero Trust gewährleisten können.
- Entwickeln einer Strategie mit delegierten Berechtigungen hilft Ihnen, den besten Ansatz für die Verwaltung von Berechtigungen in Ihrer Anwendung zu implementieren und mithilfe von Zero-Trust-Prinzipien zu entwickeln.
- Bewährte Methoden zur Autorisierung helfen Ihnen, die besten Autorisierungs-, Berechtigungs- und Zustimmungsmodelle für Ihre Anwendungen zu implementieren.
- Anfordern von Berechtigungen, die Administratoreinwilligung erfordern beschreibt den Ablauf bei Berechtigungen und Einwilligungen, wenn Administratoreinwilligung für Anwendungsberechtigungen erforderlich ist.
- Der API-Schutz beschreibt bewährte Methoden zum Schutz Ihrer API durch Registrierung, Definieren von Berechtigungen und Einwilligung sowie das Durchsetzen der Zugriffskontrolle, um Ihre Zero Trust-Ziele zu erreichen.
- Bereitstellen von Anmeldeinformationen für Anwendungsidentitäten ohne Benutzer erläutert, warum verwaltete Identitäten für Azure-Ressourcen als Best Practices für Clientanmeldeinformationen für Dienste (Nichtbenutzeranwendungen) in Azure gelten.