À propos de la gestion des utilisateurs de base de données dans AlloyDB pour PostgreSQL

Cette page explique comment gérer les utilisateurs de base de données dans AlloyDB pour PostgreSQL et comment activer l'authentification Identity and Access Management (IAM) pour ces utilisateurs de base de données.

Fonctionnement de la gestion des utilisateurs de bases de données

AlloyDB partage les mêmes concepts de rôles, d'utilisateurs et de groupes que PostgreSQL. Pour obtenir une brève explication, consultez les descriptions suivantes :

  • Rôle : désignation de premier niveau qui décrit à la fois les utilisateurs de la base de données et les groupes d'utilisateurs de la base de données dans un cluster. Les rôles permettent d'accorder ou de restreindre l'accès aux objets de base de données, tels que les tables et les fonctions.

  • Utilisateur : rôle auquel l'attribut LOGIN est attribué. Les utilisateurs peuvent s'authentifier et se connecter aux clusters de bases de données AlloyDB.

  • Groupe : rôle accordé à un ou plusieurs utilisateurs. L'objectif des groupes est de contrôler les droits dont disposent plusieurs utilisateurs dans leur ensemble.

Fonctionnement de l'authentification à la base de données

Pour vous authentifier et vous connecter à vos clusters de bases de données AlloyDB, vous avez deux options :

  • Authentification standard PostgreSQL basée sur un mot de passe : vérifie l'identité de l'utilisateur en comparant les identifiants fournis aux mots de passe hachés stockés. Les méthodes acceptées incluent md5, scram-sha-256 et password.
  • Authentification IAM : permet aux utilisateurs de la base de données de s'authentifier à l'aide d'IAM pour renforcer la sécurité et centraliser le contrôle des accès dans d'autres servicesGoogle Cloud .

Rôles prédéfinis

PostgreSQL fournit des rôles prédéfinis avec différents privilèges. En plus de ces rôles prédéfinis, AlloyDB fournit plusieurs autres rôles prédéfinis pour les utilisateurs et les groupes.

Les tableaux suivants listent les rôles et les privilèges de rôle fournis par AlloyDB.

Nom du rôle Droits
alloydbsuperuser CREATEROLE, CREATEDB et LOGIN.
postgres CREATEROLE, CREATEDB et LOGIN.
alloydbimportexport CREATEROLE et CREATEDB.
alloydbagent CREATEROLE et CREATEDB.
alloydbreplica REPLICATION
alloydbiamuser Par défaut, ce rôle ne dispose d'aucun privilège.

Les sous-sections suivantes expliquent à quoi servent certains de ces rôles.

Rôle alloydbsuperuser dans le groupe

alloydbsuperuser vous permet de configurer votre système de base de données et d'effectuer d'autres tâches de superutilisateur. Ce rôle dispose des droits suivants :

  • Créer des extensions nécessitant des droits de super-utilisateur
  • Créer des déclencheurs d'événements
  • Créer des utilisateurs de réplication
  • Créer des publications et des abonnements de réplication

En tant que service géré, AlloyDB ne vous permet pas d'accorder aux utilisateurs le rôle PostgreSQL superuser. En revanche, vous pouvez accorder des droits de super-utilisateur AlloyDB à n'importe quel utilisateur de base de données en lui attribuant le rôle alloydbsuperuser.

Rôle utilisateur postgres

Le rôle utilisateur postgres fait partie de alloydbsuperuser. Lorsque vous créez un cluster AlloyDB, vous attribuez un mot de passe à postgres. Connectez-vous ensuite à votre système à l'aide de postgres pour effectuer des tâches telles que la création de bases de données ou de rôles supplémentaires.

Rôle utilisateur alloydbimportexport

Lorsque vous créez un cluster AlloyDB, AlloyDB crée alloydbimportexport avec l'ensemble minimal de droits requis pour les opérations d'importation et d'exportation.

Vous pouvez créer vos propres utilisateurs pour effectuer ces opérations. Si vous ne créez pas d'utilisateur alloydbimportexport personnalisé, le système utilise l'utilisateur alloydbimportexport par défaut pour les opérations d'importation et d'exportation.

alloydbimportexport est un utilisateur système. Cela signifie que vous ne pouvez pas utiliser directement l'utilisateur alloydbimportexport pour vous connecter ou effectuer d'autres opérations dans vos bases de données PostgreSQL.

Rôle utilisateur alloydbagent

Le rôle alloydbagent est un rôle système AlloyDB interne. Il est géré par le service AlloyDB et ne peut pas être accordé manuellement aux comptes de base de données, ce qui garantit le bon fonctionnement de la base de données et de ses fonctionnalités.

Rôle utilisateur alloydbreplica

Le rôle alloydbreplica est un rôle système AlloyDB interne. Il est géré par le service AlloyDB et ne peut pas être accordé manuellement aux comptes de base de données, ce qui garantit le bon fonctionnement de la base de données et de ses fonctionnalités.

Rôle alloydbiamuser dans le groupe

Les utilisateurs de base de données du groupe alloydbiamuser s'authentifient auprès d'une instance AlloyDB à l'aide d'IAM, au lieu d'utiliser l'authentification standard par mot de passe de PostgreSQL.

AlloyDB ne vous permet pas d'accorder alloydbiamuser aux utilisateurs à l'aide de la commande PostgreSQL GRANT ou de méthodes similaires. Vous pouvez utiliser les outils d'administration AlloyDB pour créer et gérer des utilisateurs de base de données basés sur IAM. Pour en savoir plus, consultez Gérer l'authentification IAM.

Étapes suivantes