

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Anwendungsbenutzer und Rollen in Aurora PostgreSQL-kompatibel erstellen
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible"></a>

*Abhishek Verma, Amazon Web Services*

## Zusammenfassung
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-summary"></a>

Wenn Sie zu Amazon Aurora PostgreSQL-Compatible Edition migrieren, müssen die Datenbankbenutzer und Rollen, die in der Quelldatenbank vorhanden sind, in der Aurora PostgreSQL-kompatiblen Datenbank erstellt werden. Sie können die Benutzer und Rollen in Aurora PostgreSQL-kompatibel erstellen, indem Sie zwei verschiedene Ansätze verwenden:
+ Verwenden Sie in der Zieldatenbank ähnliche Benutzer und Rollen wie in der Quelldatenbank. Bei diesem Ansatz werden die Datendefinitionssprachen (DDLs) für Benutzer und Rollen aus der Quelldatenbank extrahiert. Anschließend werden sie transformiert und auf die Aurora PostgreSQL-kompatible Zieldatenbank angewendet. Der Blogbeitrag Use [SQL to map users, roles, and grants from Oracle to PostgreSQL](https://aws.amazon.com/blogs/database/use-sql-to-map-users-roles-and-grants-from-oracle-to-postgresql) behandelt beispielsweise die Verwendung der Extraktion aus einer Oracle-Quelldatenbank-Engine.
+ Verwenden Sie standardisierte Benutzer und Rollen, die häufig bei der Entwicklung, Verwaltung und Durchführung anderer verwandter Operationen in der Datenbank verwendet werden. Dazu gehören Schreibschutz, Lese-/Schreibvorgänge, Entwicklungs-, Verwaltungs- und Bereitstellungsvorgänge, die von den jeweiligen Benutzern ausgeführt werden.

Dieses Muster enthält die Grants, die für die Erstellung von Benutzern und Rollen in Aurora PostgreSQL-kompatibel erforderlich sind und für den standardisierten Benutzer- und Rollenansatz erforderlich sind. Die Schritte zur Benutzer- und Rollenerstellung orientieren sich an der Sicherheitsrichtlinie, den Datenbankbenutzern die geringsten Rechte zu gewähren. In der folgenden Tabelle sind die Benutzer, ihre entsprechenden Rollen und ihre Details in der Datenbank aufgeführt.


| 
| 
| Benutzer | Rollen | Zweck | 
| --- |--- |--- |
| `APP_read` | `APP_RO` | Wird für den schreibgeschützten Zugriff auf das Schema verwendet `APP` | 
| `APP_WRITE` | `APP_RW` | Wird für Schreib- und Lesevorgänge auf dem Schema verwendet `APP` | 
| `APP_dev_user` | `APP_DEV` | Wird für Entwicklungszwecke im Schema verwendet`APP_DEV`, mit schreibgeschütztem Zugriff auf das Schema `APP` | 
| `Admin_User` | `rds_superuser` | Wird für die Ausführung von Administratoroperationen an der Datenbank verwendet | 
| `APP` | `APP_DEP` | Wird für die Erstellung der Objekte unter dem `APP` Schema und für die Bereitstellung von Objekten im `APP` Schema verwendet | 

## Voraussetzungen und Einschränkungen
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-prereqs"></a>

**Voraussetzungen**
+ Ein aktives Amazon Web Services (AWS) -Konto
+ Eine PostgreSQL-Datenbank, Amazon Aurora PostgreSQL-Compatible Edition-Datenbank oder Amazon Relational Database Service (Amazon RDS) für PostgreSQL-Datenbank

**Produktversionen**
+ Alle Versionen von PostgreSQL

## Architektur
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-architecture"></a>

**Quelltechnologie-Stack**
+ Beliebige Datenbank

**Zieltechnologie-Stack**
+ Amazon Aurora PostgreSQL-kompatibel

**Zielarchitektur**

Das folgende Diagramm zeigt Benutzerrollen und die Schemaarchitektur in der Aurora PostgreSQL-kompatiblen Datenbank.

![Benutzerrollen und Schemaarchitektur für die Aurora PostgreSQL-kompatible Datenbank.](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/80105a81-e3d1-4258-b3c1-77f3a5e78592/images/b95cb9bc-8bf7-47d1-92e7-66cfb37d7ce7.png)


                                                                                                                                    

**Automatisierung und Skalierung**

Dieses Muster enthält die Benutzer, Rollen und das Skript zur Schemaerstellung, das Sie mehrfach ausführen können, ohne dass dies Auswirkungen auf bestehende Benutzer der Quell- oder Zieldatenbank hat.

## Tools
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-tools"></a>

**AWS-Services**
+ [Amazon Aurora PostgreSQL-Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) ist eine vollständig verwaltete, ACID-konforme relationale Datenbank-Engine, die Sie bei der Einrichtung, dem Betrieb und der Skalierung von PostgreSQL-Bereitstellungen unterstützt.

**Andere Dienste**
+ [psql](https://www.postgresql.org/docs/current/app-psql.html) ist ein terminalbasiertes Frontend-Tool, das bei jeder PostgreSQL-Datenbankinstallation installiert wird. Es verfügt über eine Befehlszeilenschnittstelle zum Ausführen von SQL-, PL-PGSQL- und Betriebssystembefehlen.
+ [pgAdmin](https://www.pgadmin.org/) ist ein Open-Source-Verwaltungstool für PostgreSQL. Es bietet eine grafische Oberfläche, mit der Sie Datenbankobjekte erstellen, verwalten und verwenden können.

## Epen
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-epics"></a>

### Erstellen Sie die Benutzer und Rollen
<a name="create-the-users-and-roles"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie den Deployment-Benutzer. | Der Deployment-Benutzer `APP` wird verwendet, um die Datenbankobjekte während der Bereitstellung zu erstellen und zu ändern. Verwenden Sie die folgenden Skripts, um die Deployment-Benutzerrolle `APP_DEP` im Schema `APP` zu erstellen. Überprüfen Sie die Zugriffsrechte, um sicherzustellen, dass dieser Benutzer nur berechtigt ist, Objekte im erforderlichen Schema zu erstellen`APP`.[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Erstellen Sie den schreibgeschützten Benutzer. | Der schreibgeschützte Benutzer `APP_read` wird für die Ausführung des schreibgeschützten Vorgangs im Schema verwendet. `APP` Verwenden Sie die folgenden Skripten, um den schreibgeschützten Benutzer zu erstellen. Überprüfen Sie die Zugriffsrechte, um sicherzustellen, dass dieser Benutzer nur berechtigt ist, die Objekte im Schema zu lesen `APP` und allen neuen Objekten, die im Schema erstellt wurden, automatisch Lesezugriff zu gewähren. `APP`[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Erstellen Sie den read/write Benutzer. | Der read/write Benutzer `APP_WRITE` wird verwendet, um Lese- und Schreiboperationen für das Schema auszuführen`APP`. Verwenden Sie die folgenden Skripten, um den read/write Benutzer zu erstellen und ihm die `APP_RW` Rolle zuzuweisen. Überprüfen Sie die Zugriffsrechte, um sicherzustellen, dass dieser Benutzer nur Lese- und Schreibberechtigungen für die Objekte im Schema hat, `APP` und um jedem neuen Objekt, das im Schema erstellt wurde, automatisch Lese- und Schreibzugriff zu gewähren`APP`.[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) |  | 
| Erstellen Sie den Admin-Benutzer. | Der Admin-Benutzer `Admin_User` wird verwendet, um Admin-Operationen an der Datenbank durchzuführen. Beispiele für diese Operationen sind `CREATE ROLE` und`CREATE DATABASE`. `Admin_User`verwendet die integrierte Rolle`rds_superuser`, um Admin-Operationen in der Datenbank durchzuführen. Verwenden Sie die folgenden Skripts, um die Rechte für den Admin-Benutzer `Admin_User` in der Datenbank zu erstellen und zu testen.[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Erstellen Sie den Entwicklungsbenutzer. | Der Entwicklungsbenutzer `APP_dev_user` erhält die Rechte, die Objekte in seinem lokalen Schema zu erstellen `APP_DEV` und über Lesezugriff im Schema zu verfügen`APP`. Verwenden Sie die folgenden Skripten, um die Rechte des Benutzers `APP_dev_user` in der Datenbank zu erstellen und zu testen.[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 

## Zugehörige Ressourcen
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-resources"></a>

**PostgreSQL-Dokumentation**
+ [ROLLE ERSTELLEN](https://www.postgresql.org/docs/9.1/sql-createrole.html)
+ [BENUTZER ERSTELLEN](https://www.postgresql.org/docs/8.0/sql-createuser.html)
+ [Vordefinierte Rollen](https://www.postgresql.org/docs/14/predefined-roles.html)

 

## Zusätzliche Informationen
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-additional"></a>

**Erweiterung von PostgreSQL 14**

PostgreSQL 14 bietet eine Reihe vordefinierter Rollen, die den Zugriff auf bestimmte häufig benötigte, privilegierte Funktionen und Informationen ermöglichen. Administratoren (einschließlich Rollen mit entsprechenden Rechten`CREATE ROLE`) können Benutzern diese Rollen oder andere Rollen in ihrer Umgebung zuweisen und ihnen so Zugriff auf die angegebenen Funktionen und Informationen gewähren.

Administratoren können Benutzern mithilfe des `GRANT` Befehls Zugriff auf diese Rollen gewähren. Um beispielsweise die `pg_signal_backend` Rolle zu erteilen`Admin_User`, können Sie den folgenden Befehl ausführen.

```
GRANT pg_signal_backend TO Admin_User;
```

Die `pg_signal_backend` Rolle soll es Administratoren ermöglichen, vertrauenswürdigen Rollen ohne Superuser das Senden von Signalen an andere Back-Ends zu ermöglichen. Weitere Informationen finden Sie unter [PostgreSQL 14-Erweiterung](https://www.postgresql.org/docs/14/predefined-roles.html).

**Feinabstimmung des Zugriffs**

In einigen Fällen kann es erforderlich sein, den Benutzern einen detaillierteren Zugriff zu gewähren (z. B. tabellenbasierter Zugriff oder spaltenbasierter Zugriff). In solchen Fällen können zusätzliche Rollen erstellt werden, um den Benutzern diese Rechte zu gewähren. Weitere Informationen finden Sie unter [PostgreSQL Grants](https://www.postgresql.org/docs/8.4/sql-grant.html).