

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création d'utilisateurs et de rôles d'application dans Aurora PostgreSQL compatible
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible"></a>

*Abhishek Verma, Amazon Web Services*

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

Lorsque vous migrez vers l'édition compatible avec Amazon Aurora PostgreSQL, les utilisateurs et les rôles de base de données qui existent sur la base de données source doivent être créés dans la base de données compatible avec Aurora PostgreSQL. Vous pouvez créer les utilisateurs et les rôles dans Aurora PostgreSQL compatible en utilisant deux approches différentes :
+ Utilisez des utilisateurs et des rôles similaires dans la base de données cible et dans la base de données source. Dans cette approche, les langages de définition des données (DDLs) sont extraits de la base de données source pour les utilisateurs et les rôles. Ils sont ensuite transformés et appliqués à la base de données cible compatible Aurora PostgreSQL. Par exemple, le billet de blog [Utiliser SQL pour mapper les utilisateurs, les rôles et les autorisations d'Oracle à PostgreSQL traite de](https://aws.amazon.com/blogs/database/use-sql-to-map-users-roles-and-grants-from-oracle-to-postgresql) l'utilisation de l'extraction à partir d'un moteur de base de données source Oracle.
+ Utilisez des utilisateurs et des rôles standardisés couramment utilisés lors du développement, de l'administration et pour effectuer d'autres opérations connexes dans la base de données. Cela inclut les opérations de lecture seule, de lecture/écriture, de développement, d'administration et de déploiement effectuées par les utilisateurs respectifs.

Ce modèle contient les autorisations requises pour la création d'utilisateurs et de rôles dans Aurora PostgreSQL compatible avec l'approche standardisée des utilisateurs et des rôles. Les étapes de création des utilisateurs et des rôles sont alignées sur la politique de sécurité qui consiste à accorder le moindre privilège aux utilisateurs de la base de données. Le tableau suivant répertorie les utilisateurs, leurs rôles correspondants et leurs informations sur la base de données.


| 
| 
| Utilisateurs | Roles | Objectif | 
| --- |--- |--- |
| `APP_read` | `APP_RO` | Utilisé pour l'accès en lecture seule au schéma `APP` | 
| `APP_WRITE` | `APP_RW` | Utilisé pour les opérations d'écriture et de lecture sur le schéma `APP` | 
| `APP_dev_user` | `APP_DEV` | Utilisé à des fins de développement sur le schéma`APP_DEV`, avec accès en lecture seule au schéma `APP` | 
| `Admin_User` | `rds_superuser` | Utilisé pour effectuer des opérations d'administration sur la base de données | 
| `APP` | `APP_DEP` | Utilisé pour créer les objets sous le `APP` schéma et pour le déploiement d'objets dans le `APP` schéma | 

## Conditions préalables et limitations
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-prereqs"></a>

**Conditions préalables**
+ Un compte Amazon Web Services (AWS) actif
+ Une base de données PostgreSQL, une base de données Amazon Aurora PostgreSQL Edition compatible ou une base de données Amazon Relational Database Service (Amazon RDS) pour PostgreSQL

**Versions du produit**
+ Toutes les versions de PostgreSQL

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

**Pile technologique source**
+ Toute base de données

**Pile technologique cible**
+ Compatible avec Amazon Aurora PostgreSQL

**Architecture cible**

Le schéma suivant montre les rôles des utilisateurs et l'architecture du schéma dans la base de données compatible Aurora PostgreSQL.

![\[Rôles utilisateur et architecture de schéma pour la base de données compatible Aurora PostgreSQL.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/80105a81-e3d1-4258-b3c1-77f3a5e78592/images/b95cb9bc-8bf7-47d1-92e7-66cfb37d7ce7.png)


                                                                                                                                    

**Automatisation et mise à l'échelle**

Ce modèle contient les utilisateurs, les rôles et le script de création de schéma, que vous pouvez exécuter plusieurs fois sans aucun impact sur les utilisateurs existants de la base de données source ou cible.

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

**Services AWS**
+ [Amazon Aurora PostgreSQL Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) est un moteur de base de données relationnelle entièrement géré et compatible ACID qui vous aide à configurer, exploiter et dimensionner les déploiements PostgreSQL.

**Autres services**
+ [psql](https://www.postgresql.org/docs/current/app-psql.html) est un outil frontal basé sur un terminal qui est installé avec chaque installation de base de données PostgreSQL. Il possède une interface de ligne de commande pour exécuter des commandes SQL, PL-PGSQL et du système d'exploitation.
+ [pgAdmin](https://www.pgadmin.org/) est un outil de gestion open source pour PostgreSQL. Il fournit une interface graphique qui vous permet de créer, de gérer et d'utiliser des objets de base de données.

## Épopées
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-epics"></a>

### Création des utilisateurs et des rôles
<a name="create-the-users-and-roles"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l'utilisateur de déploiement. | L'utilisateur de déploiement `APP` sera utilisé pour créer et modifier les objets de base de données lors des déploiements. Utilisez les scripts suivants pour créer le rôle d'utilisateur de déploiement `APP_DEP` dans le schéma`APP`. Validez les droits d'accès pour vous assurer que cet utilisateur a uniquement le privilège de créer des objets dans le schéma requis`APP`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Créez l'utilisateur en lecture seule. | L'utilisateur en lecture seule `APP_read` sera utilisé pour effectuer l'opération en lecture seule dans le schéma. `APP` Utilisez les scripts suivants pour créer l'utilisateur en lecture seule. Validez les droits d'accès pour vous assurer que cet utilisateur a le privilège de lire uniquement les objets du schéma `APP` et d'accorder automatiquement un accès en lecture à tout nouvel objet créé dans le schéma`APP`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Créez l' read/write utilisateur. | L' read/write utilisateur `APP_WRITE` sera utilisé pour effectuer des opérations de lecture et d'écriture sur le schéma`APP`. Utilisez les scripts suivants pour créer l' read/write utilisateur et lui attribuer le `APP_RW` rôle. Validez les droits d'accès pour vous assurer que cet utilisateur dispose de privilèges de lecture et d'écriture uniquement sur les objets du schéma `APP` et pour accorder automatiquement un accès en lecture et en écriture à tout nouvel objet créé dans le schéma`APP`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) |  | 
| Créez l'utilisateur administrateur. | L'utilisateur admin `Admin_User` sera utilisé pour effectuer des opérations d'administration sur la base de données. Des exemples de ces opérations sont `CREATE ROLE` et`CREATE DATABASE`. `Admin_User`utilise le rôle intégré `rds_superuser` pour effectuer des opérations d'administration sur la base de données. Utilisez les scripts suivants pour créer et tester les privilèges de l'utilisateur administrateur `Admin_User` dans la base de données.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Créez l'utilisateur de développement. | L'utilisateur de développement `APP_dev_user` aura le droit de créer les objets dans son schéma local `APP_DEV` et d'accéder en lecture dans le schéma`APP`. Utilisez les scripts suivants pour créer et tester les privilèges de l'utilisateur `APP_dev_user` dans la base de données.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 

## Ressources connexes
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-resources"></a>

**Documentation de PostgreSQL**
+ [CRÉER UN RÔLE](https://www.postgresql.org/docs/9.1/sql-createrole.html)
+ [CRÉER UN UTILISATEUR](https://www.postgresql.org/docs/8.0/sql-createuser.html)
+ [Rôles prédéfinis](https://www.postgresql.org/docs/14/predefined-roles.html)

 

## Informations supplémentaires
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-additional"></a>

**Amélioration de PostgreSQL 14**

PostgreSQL 14 fournit un ensemble de rôles prédéfinis qui donnent accès à certaines fonctionnalités et informations privilégiées couramment nécessaires. Les administrateurs (y compris les rôles dotés de `CREATE ROLE` privilèges) peuvent accorder ces rôles ou d'autres rôles dans leur environnement aux utilisateurs, en leur donnant accès aux fonctionnalités et informations spécifiées.

Les administrateurs peuvent autoriser les utilisateurs à accéder à ces rôles à l'aide de la `GRANT` commande. Par exemple, pour attribuer le `pg_signal_backend` rôle à`Admin_User`, vous pouvez exécuter la commande suivante.

```
GRANT pg_signal_backend TO Admin_User;
```

Le `pg_signal_backend` rôle est destiné à permettre aux administrateurs d'activer des rôles fiables, non superutilisateurs, pour envoyer des signaux à d'autres backends. Pour plus d'informations, consultez la section Amélioration de [PostgreSQL 14](https://www.postgresql.org/docs/14/predefined-roles.html).

**Ajustement précis de l'accès**

Dans certains cas, il peut être nécessaire de fournir un accès plus granulaire aux utilisateurs (par exemple, un accès basé sur des tables ou un accès basé sur des colonnes). Dans de tels cas, des rôles supplémentaires peuvent être créés pour accorder ces privilèges aux utilisateurs. Pour plus d'informations, consultez la section [Subventions PostgreSQL](https://www.postgresql.org/docs/8.4/sql-grant.html).