Share via


Erstellen von Microsoft Entra-Rollen auf einem flexiblen Azure Database for PostgreSQL-Server

GILT FÜR: Azure Database for PostgreSQL – Flexible Server

In diesem Artikel erfahren Sie, wie Sie Datenbankrollen mit Microsoft Entra ID-Unterstützung in einer Instanz von „Azure Database for PostgreSQL – Flexibler Server“ erstellen.

Hinweis

In diesem Leitfaden wird davon ausgegangen, dass Sie die Microsoft Entra-Authentifizierung in Ihrer Instanz von „Azure Database for PostgreSQL – Flexibler Server“ bereits aktiviert haben. Weitere Informationen finden Sie unter Konfigurieren der Microsoft Entra-Authentifizierung.

Wenn Sie mehr darüber erfahren möchten, wie Sie Benutzer von Azure-Abonnements und deren Berechtigungen erstellen und verwalten, lesen Sie den Artikel zur rollenbasierten Zugriffssteuerung von Azure (Azure Role-Based Access Control, Azure-RBAC), oder informieren Sie sich über die Anpassung von Rollen.

Erstellen oder Löschen von Microsoft Entra-Administratoren mithilfe des Azure-Portals oder der ARM-API (Azure Resource Manager)

  1. Öffnen Sie die Seite Authentifizierung für Ihre Instanz von „Azure Database for PostgreSQL – Flexibler Server“ im Azure-Portal.
  2. Wählen Sie zum Hinzufügen von Administratoren die Option Microsoft Entra-Administrator hinzufügen und dann einen Benutzer, eine Gruppe, eine Anwendung oder eine verwaltete Identität aus dem aktuellen Microsoft Entra-Mandanten aus.
  3. Um einen Administrator zu entfernen, wählen Sie das Symbol Löschen für den zu entfernenden Administrator aus.
  4. Wählen Sie Speichern aus, und warten Sie, bis der Bereitstellungsvorgang abgeschlossen ist.

Screenshot of managing Microsoft Entra administrators via portal.

Hinweis

Unterstützung für die Verwaltung von Microsoft Entra-Administrator*innen über das Azure-SDK, die Azure CLI und Azure PowerShell ist bald verfügbar.

Verwalten von Microsoft Entra-Rollen mithilfe von SQL

Nachdem der erste Microsoft Entra-Administrator über das Azure-Portal oder über die API erstellt wurde, können Sie die Administratorrolle verwenden, um Microsoft Entra-Rollen in Ihrer Instanz von „Azure Database for PostgreSQL – Flexibler Server“ zu verwalten.

Wir empfehlen, sich mit Microsoft Identity Platform vertraut zu machen, um die Microsoft Entra-Integration in „Azure Database for PostgreSQL – Flexibler Server“ optimal nutzen zu können.

Prinzipaltypen

Instanzen von „Azure Database for PostgreSQL – Flexibler Server“ speichern intern die Zuordnung zwischen PostgreSQL-Datenbankrollen und eindeutigen Bezeichnern von AzureAD-Objekten. Jede PostgreSQL-Datenbankrolle kann einem der folgenden Microsoft Entra-Objekttypen zugeordnet werden:

  1. Benutzer: Einschließlich lokaler Mandantenbenutzer und Gastbenutzer
  2. Dienstprinzipal: Einschließlich Anwendungen und verwalteter Identitäten
  3. Gruppe: Wenn eine PostgreSQL-Rolle mit einer Microsoft Entra-Gruppe verknüpft wird, kann jedes Benutzer- oder Dienstprinzipalmitglied dieser Gruppe eine Verbindung mit der Instanz von „Azure Database for PostgreSQL – Flexibler Server“ mit der Gruppenrolle herstellen.

Auflisten von Microsoft Entra-Rollen mithilfe von SQL

select * from pgaadauth_list_principals(true);

Parameter:

  • true: Administratorbenutzer werden zurückgegeben.
  • false gibt alle Microsoft Entra-Benutzer*innen zurück – sowohl Microsoft Entra-Administrator*innen als auch Nicht-Microsoft Entra-Administrator*innen.

Erstellen einer Rolle mithilfe eines Microsoft Entra-Prinzipalnamens

select * from pgaadauth_create_principal('<roleName>', <isAdmin>, <isMfa>);

--For example: 

select * from pgaadauth_create_principal('mary@contoso.com', false, false);

Parameter:

  • roleName: Der Name der zu erstellenden Rolle. Dieser muss mit einem Namen des Microsoft Entra-Prinzipals übereinstimmen:
    • Verwenden Sie für Benutzer den Benutzerprinzipalnamen aus dem Profil. Geben Sie für Gastbenutzer den vollständigen Namen in ihrer Ursprungsdomäne mit dem Tag „#EXT#“ ein.
    • Für Gruppen und Dienstprinzipale wird der Anzeigename verwendet. Der Name muss im Mandanten eindeutig sein.
  • isAdmin: Legen Sie diesen Parameter auf true fest, wenn Sie einen Administratorbenutzer erstellen, und auf false, wenn Sie einen normalen Benutzer erstellen. Ein auf diese Weise erstellter Administratorbenutzer hat dieselben Berechtigungen wie einer, der über das Portal oder die API erstellt wurde.
  • isMfa: Flag, wenn Multi-Faktor-Authentifizierung für diese Rolle erzwungen werden muss

Löschen einer Rolle unter Verwendung eines Microsoft Entra-Prinzipalnamens

Denken Sie daran, dass jede Microsoft Entra-Rolle, die in PostgreSQL erstellt wird, unter Verwendung eines Microsoft Entra-Administrators gelöscht werden muss. Wenn Sie einen regulären PostgreSQL-Administrator verwenden, um eine Entra-Rolle zu löschen, führt dies zu einem Fehler.

DROP ROLE rolename;

Erstellen einer Rolle mithilfe eines Microsoft Entra-Objektbezeichners

select * from pgaadauth_create_principal_with_oid('<roleName>', '<objectId>', '<objectType>', <isAdmin>, <isMfa>);

For example: select * from pgaadauth_create_principal_with_oid('accounting_application', '00000000-0000-0000-0000-000000000000', 'service', false, false);

Parameter:

  • roleName: Der Name der zu erstellenden Rolle.
  • objectId ist der eindeutige Objektbezeichner des Microsoft Entra-Objekts:
    • Für Benutzer*innen, Gruppen und verwaltete Identitäten können Sie den Objektbezeichner „ObjectId“ ermitteln, indem Sie im Azure-Portal auf der Microsoft Entra ID-Seite nach dem Objektnamen suchen. In diesem Leitfaden finden Sie ein Beispiel.
    • Für Anwendungen muss die Objekt-ID des entsprechenden Dienstprinzipals verwendet werden. Im Azure-Portal finden Sie die erforderliche Objekt-ID auf der Seite Unternehmensanwendungen.
  • objectType ist der Typ des Microsoft Entra-Objekts, das mit dieser Dienst- Benutzer- oder Gruppenrolle verknüpft ist.
  • isAdmin: Legen Sie diesen Parameter auf true fest, wenn Sie einen Administratorbenutzer erstellen, und auf false, wenn Sie einen normalen Benutzer erstellen. Ein auf diese Weise erstellter Administratorbenutzer hat dieselben Berechtigungen wie einer, der über das Portal oder die API erstellt wurde.
  • isMfa: Flag, wenn Multi-Faktor-Authentifizierung für diese Rolle erzwungen werden muss

Aktivieren der Microsoft Entra-Authentifizierung für eine vorhandene PostgreSQL-Rolle mithilfe von SQL

Instanzen von „Azure Database for PostgreSQL – Flexibler Server“ verwenden Sicherheitsbezeichnungen, die Datenbankrollen zugeordnet sind, um die Microsoft Entra ID-Zuordnung zu speichern.

Sie können die folgende SQL-Anweisung verwenden, um eine Sicherheitsbezeichnung zuzuweisen:

SECURITY LABEL for "pgaadauth" on role "<roleName>" is 'aadauth,oid=<objectId>,type=<user|group|service>,admin';

Parameter:

  • roleName ist der Name einer vorhandenen PostgreSQL-Rolle, für die Microsoft Entra-Authentifizierung aktiviert werden muss.
  • objectId ist der eindeutige Objektbezeichner des Microsoft Entra-Objekts.
  • user: Endbenutzerprinzipale.
  • service: Anwendungen oder verwaltete Identitäten, die eine Verbindung mit eigenen Dienstanmeldeinformationen herstellen.
  • group ist der Name der Microsoft Entra-Gruppe.

Nächste Schritte