Microsoft Entra ID- und PostgreSQL-Authentifizierung mit Azure Cosmos DB for PostgreSQL
GILT FÜR: Azure Cosmos DB for PostgreSQL (unterstützt von der Citus-Datenbankerweiterung auf PostgreSQL)
Azure Cosmos DB for PostgreSQL unterstützt die PostgreSQL-Authentifizierung und die Integration in Microsoft Entra ID. Jeder Azure Cosmos DB for PostgreSQL-Cluster wird mit aktivierter nativer PostgreSQL-Authentifizierung und einer integrierten PostgreSQL-Rolle namens citus
erstellt. Sie können nach Abschluss der Clusterbereitstellung weitere native PostgreSQL-Rollen hinzufügen.
Sie können auch die Microsoft Entra ID-Authentifizierung (früher Azure Active Directory) auf einem Cluster zusätzlich zur PostgreSQL-Authentifizierungsmethode oder anstelle davon aktivieren. Sie können Authentifizierungsmethoden für jeden Azure Cosmos DB for PostgreSQL-Cluster einzeln konfigurieren. Wenn Sie die Authentifizierungsmethode ändern müssen, ist dies jederzeit nach Abschluss der Clusterbereitstellung möglich. Eine Änderung der Authentifizierungsmethode erfordert keinen Neustart des Clusters.
PostgreSQL-Authentifizierung
Die PostgreSQL-Engine verwendet Rollen, um den Zugriff auf Datenbankobjekte zu steuern. Ein neu erstellter Azure Cosmos DB for PostgreSQL-Cluster verfügt über mehrere vordefinierte Rollen:
- Die PostgreSQL-Standardrollen
postgres
citus
Da Azure Cosmos DB for PostgreSQL ein verwalteter PaaS-Dienst ist, kann nur Microsoft sich mit der postgres
-Superuserrolle anmelden. Für eingeschränkten administrativen Zugriff stellt Azure Cosmos DB for PostgreSQL die Rolle citus
bereit.
Der verwaltete Dienst muss sämtliche PostgreSQL-Rollen auf alle Knoten eines Clusters replizieren. Um diese Anforderung zu erfüllen, müssen alle weiteren PostgreSQL-Rollen mit Azure Cosmos DB for PostgreSQL-Verwaltungsfunktionen erstellt werden.
Die Citus-Rolle
Berechtigungen der Rolle citus
:
- Lesen aller Konfigurationsvariablen, auch der Variablen, die normalerweise nur für Superuser sichtbar sind
- Lesen aller Sichten vom Typ „pg_stat_*“ und Verwenden von verschiedenen statistikbezogenen Erweiterungen, einschließlich der Sichten oder Erweiterungen, die normalerweise nur für Superuser sichtbar sind
- Führen Sie Überwachungsfunktionen aus, die möglicherweise für lange Zeit ACCESS SHARE-Sperren auf Tabellen benötigen.
- Erstellen von PostgreSQL-Erweiterungen
Insbesondere gelten für die Rolle citus
einige Einschränkungen:
- Kann keine Rollen erstellen
- Kann keine Datenbanken erstellen
Die Rolle citus
kann nicht gelöscht werden, würde aber deaktiviert werden, wenn die Authentifizierungsmethode „Nur Microsoft Entra ID-Authentifizierung“ auf dem Cluster ausgewählt wird.
Microsoft Entra ID-Authentifizierung
Die Microsoft Entra ID-Authentifizierung (früher Azure Active Directory) ist ein Mechanismus zur Verbindung mit Azure Cosmos DB for PostgreSQL unter Verwendung von in Microsoft Entra ID definierten Identitäten. Mit der Microsoft Entra ID-Authentifizierung können Sie Datenbank-Benutzeridentitäten und andere Microsoft-Dienste an einem zentralen Ort verwalten, was die Berechtigungsverwaltung vereinfacht.
Zu den Vorteilen der Verwendung von Microsoft Entra ID gehören:
- Einheitliche Authentifizierung von Benutzern über Azure-Dienste hinweg
- Verwaltung von Kennwortrichtlinien und Kennwortrotation an einem zentralen Ort
- Mehrere Formen der Authentifizierung, die von Microsoft Entra ID unterstützt werden, wodurch das Speichern von Kennwörtern entfällt
- Die Microsoft Entra ID-Authentifizierung verwendet PostgreSQL-Datenbankrollen zur Authentifizierung von Identitäten auf Datenbankebene.
- Unterstützung der tokenbasierten Authentifizierung für Anwendungen, die eine Verbindung mit Azure Cosmos DB for PostgreSQL herstellen
Verwalten des PostgreSQL-Zugriffs für Microsoft Entra ID-Prinzipale
Wenn die Microsoft Entra ID-Authentifizierung aktiviert ist und ein Microsoft Entra ID-Prinzipal als Microsoft Entra ID-Administrator*in hinzugefügt wird, erhält das Konto die gleichen Berechtigungen wie die Rolle citus
. Microsoft Entra ID-Administratoren können sich als Microsoft Entra ID-Benutzer, Dienstprinzipal oder Managed Identity anmelden. Es können jederzeit mehrere Microsoft Entra ID-Administrator*innen konfiguriert werden und Sie können optional die PostgreSQL-Authentifizierung (Kennwort) für den Azure Cosmos DB for PostgreSQL-Cluster deaktivieren, um eine bessere Überprüfung und Einhaltung von Vorschriften zu gewährleisten.
Darüber hinaus kann eine beliebige Anzahl von Microsoft Entra ID-Rollen, die keine Administratoren sind, jederzeit zu einem Cluster hinzugefügt werden, sobald die Microsoft Entra ID-Authentifizierung aktiviert ist. Datenbankberechtigungen für Microsoft Entra ID-Rollen, die keine Administratoren sind, werden ähnlich verwaltet wie reguläre Rollen.
Herstellen einer Verbindung mithilfe von Microsoft Entra ID-Identitäten
Die Microsoft Entra ID-Authentifizierung unterstützt die folgenden Methoden zum Herstellen einer Verbindung zu einer Datenbank mit Microsoft Entra ID-Identitäten:
- Microsoft Entra ID-Password
- Microsoft Entra ID integriert
- Microsoft Entra ID Universal mit MFA
- Verwendung von Microsoft Entra ID-Anwendungszertifikaten oder Client-Geheimnissen
- Verwaltete Identität
Sobald Sie sich mit Microsoft Entra ID authentifiziert haben, können Sie ein Token abrufen. Dieses Token ist Ihr Kennwort für die Anmeldung.
Andere Aspekte
- Mehrere Microsoft Entra ID-Prinzipale (ein*e Benutzer*in, ein Dienstprinzipal oder eine verwaltete Identität) können jederzeit als Microsoft Entra ID-Administrator*in für einen Azure Cosmos DB for PostgreSQL-Cluster konfiguriert werden.
- Wenn ein Microsoft Entra ID-Prinzipal aus dem Microsoft Entra ID-Dienst gelöscht wird, bleibt er als PostgreSQL-Rolle auf dem Cluster erhalten, kann aber keine neuen Zugriffstoken mehr erwerben. In diesem Fall ist die entsprechende Rolle zwar noch in der Postgres-Datenbank vorhanden, kann sich aber nicht bei den Clusterknoten authentifizieren. Datenbankadministrator*innen müssen den Besitz manuell übertragen und die Rollen manuell löschen.
Hinweis
Die Anmeldung mit gelöschten Microsoft Entra ID-Benutzer*innen ist noch möglich, bis der Token abläuft (bis zu 90 Minuten nach der Token-Ausstellung). Wenn Sie die Benutzer*innen auch aus dem Azure Cosmos DB for PostgreSQL-Cluster entfernen, wird der Zugriff sofort widerrufen.
- Azure Cosmos DB for PostgreSQL ordnet die Zugriffstoken der Datenbankrolle zu, indem es die eindeutige Microsoft Entra ID-Benutzer-ID von Benutzer*innen verwendet und nicht die Benutzernamen. Wenn ein*e Microsoft Entra ID-Benutzer*in gelöscht und ein*e neue*r Benutzer*in mit demselben Namen erstellt wird, betrachtet Azure Cosmos DB for PostgreSQL diesen als eine*n andere*n Benutzer*in. Wenn also ein*e Benutzer*in aus Microsoft Entra ID gelöscht und ein*e neue*r Benutzer*in mit demselben Namen hinzugefügt wird, kann der bzw. die neue Benutzer*in keine Verbindung mit der vorhandenen Rolle herstellen.
Nächste Schritte
- Informieren Sie sich über die Microsoft Entra ID-Grenzwerte und -Einschränkungen in Azure Cosmos DB for PostgreSQL.
- Erfahren Sie, wie Sie die Authentifizierung für Azure Cosmos DB for PostgreSQL-Cluster konfigurieren.
- Richten Sie den privaten Netzwerkzugriff auf die Clusterknoten ein, siehe Verwalten des privaten Zugriffs.
- Richten Sie den öffentlichen Netzwerkzugriff auf die Clusterknoten ein, siehe Verwalten des öffentlichen Zugriffs.