Freigeben über


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:

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