Pour contrôler l'accès à vos bases de données AlloyDB pour PostgreSQL, vous pouvez créer et gérer des utilisateurs, des rôles et des groupes de bases de données à l'aide de l'authentification PostgreSQL intégrée ou de l'authentification Identity and Access Management (IAM).
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 une brève explication, consultez les descriptions suivantes :
Rôle : désignation de premier niveau qui décrit à la fois les utilisateurs de base de données et les groupes d'utilisateurs de base de données d'un cluster. Les rôles permettent d'accorder et 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
LOGINest attribué. Les utilisateurs peuvent s'authentifier et se connecter aux clusters de bases de données AlloyDB.Groupe : rôle attribué à un ou plusieurs utilisateurs. L'objectif des groupes est de contrôler les droits dont disposent de nombreux utilisateurs dans leur ensemble.
Fonctionnement de l'authentification de la base de données
Pour vous authentifier et vous connecter à vos clusters de bases de données AlloyDB, vous avez deux options :
- Authentification intégrée basée sur un mot de passe PostgreSQL : pour vérifier l'identité de l'utilisateur, AlloyDB compare les identifiants fournis aux mots de passe hachés stockés. Les méthodes compatibles incluent
md5,scram-sha-256etpassword. - Authentification IAM : permet aux utilisateurs de la base de données de s'authentifier à l'aide d'IAM. Cela permet de renforcer la sécurité et de centraliser le contrôle des accès sur d'autres servicesGoogle Cloud .
Rôles prédéfinis
PostgreSQL fournit des rôles prédéfinis avec différents droits. En plus de ces rôles prédéfinis, AlloyDB fournit plusieurs autres rôles d'utilisateur et de groupe prédéfinis.
Le tableau suivant liste les rôles et les droits d'accès aux rôles fournis par AlloyDB :
| Nom du rôle | Droits |
|---|---|
alloydbsuperuser |
CREATEROLE, CREATEDB et LOGIN. |
postgres |
CREATEROLE, CREATEDB et LOGIN. |
alloydbadmin |
SUPERUSER (qui inclut CREATEROLE, CREATEDB et LOGIN). |
alloydbimportexport |
CREATEROLE et CREATEDB. |
alloydbexport |
LOGIN et membre de pg_read_all_data. |
alloydbagent |
CREATEROLE et CREATEDB. |
alloydbmetadata |
LOGIN. Par défaut, ce rôle ne dispose d'aucun droit supplémentaire. |
alloydbobservability |
LOGIN et membre de pg_monitor. |
alloydbreplica |
REPLICATION. |
alloydbiamuser |
Par défaut, ce rôle ne dispose d'aucun droit. |
alloydbiamgroupuser |
Par défaut, ce rôle ne dispose d'aucun droit. |
Les sous-sections suivantes expliquent les utilisations de ces rôles.
Rôle du groupe alloydbsuperuser
Le rôle alloydbsuperuser vous permet de configurer votre système de base de données et d'effectuer d'autres tâches de super-utilisateur. 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. À la place, 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 du rôle alloydbsuperuser. Lorsque vous créez un cluster AlloyDB, vous pouvez attribuer un mot de passe à l'utilisateur postgres afin de pouvoir vous connecter à votre système à l'aide de l'utilisateur 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 alloydbadmin
Le rôle alloydbadmin est un rôle système interne prédéfini qui configure le système de base de données, installe et met à niveau les extensions, et effectue d'autres tâches de super-utilisateur internes. Le service AlloyDB gère ce rôle, et vous ne pouvez pas l'utiliser pour vous connecter ni l'accorder manuellement à des comptes de base de données.
Rôle utilisateur alloydbimportexport
Lorsque vous créez un cluster AlloyDB, AlloyDB crée l'utilisateur 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.
L'utilisateur 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 alloydbexport
Le rôle alloydbexport est un rôle système AlloyDB interne avec des droits pg_read_all_data utilisés par les opérations d'exportation internes. Le service AlloyDB gère ce rôle, et vous ne pouvez pas l'attribuer manuellement aux comptes de base de données.
Rôle utilisateur alloydbagent
Le rôle alloydbagent est un rôle système AlloyDB interne. Le service AlloyDB gère le rôle, et vous ne pouvez pas l'attribuer manuellement aux comptes de base de données. Cette gestion permet à la base de données et à ses fonctionnalités de fonctionner correctement.
Rôle utilisateur alloydbmetadata
Le rôle alloydbmetadata est un rôle système AlloyDB interne avec des droits minimaux, utilisé pour gérer les tables de métadonnées internes. Le service AlloyDB gère ce rôle, et vous ne pouvez pas l'attribuer manuellement aux comptes de base de données.
Rôle utilisateur alloydbobservability
Le rôle alloydbobservability est un rôle système AlloyDB interne avec des droits pg_monitor, utilisé pour collecter la télémétrie de la base de données, les insights sur les requêtes et les métriques d'observabilité. Le service AlloyDB gère ce rôle, et vous ne pouvez pas l'accorder manuellement aux comptes de base de données.
Rôle utilisateur alloydbreplica
Le rôle alloydbreplica est un rôle système AlloyDB interne. Le service AlloyDB gère le rôle, et vous ne pouvez pas l'attribuer manuellement aux comptes de base de données. Cette gestion permet à la base de données et à ses fonctionnalités de fonctionner correctement.
Rôle du groupe alloydbiamuser
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 par mot de passe intégrée à PostgreSQL.
AlloyDB ne vous permet pas d'attribuer le rôle 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.
Rôle du groupe alloydbiamgroupuser
Les groupes de bases de données et leurs comptes membres qui utilisent l'authentification IAM de groupe appartiennent au rôle de groupe alloydbiamgroupuser. Le service AlloyDB gère ce rôle automatiquement lorsque vous ajoutez un groupe IAM à un cluster. Vous ne pouvez pas l'accorder manuellement à l'aide de la commande PostgreSQL GRANT. Pour en savoir plus sur l'attribution de droits de base de données aux utilisateurs IAM, consultez Gérer l'authentification IAM.
Étapes suivantes
Découvrez comment gérer les rôles, les utilisateurs et les groupes PostgreSQL pour AlloyDB à l'aide de l'authentification intégrée.
Découvrez comment gérer l'authentification IAM.