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.
Connexion à Babelfish via le point de terminaison PostgreSQL sur le port PostgreSQL
Vous pouvez utiliser les identifiants de groupe créées à partir du port TDS pour vous connecter via le port PostgreSQL. Pour vous connecter via le port PostgreSQL, vous devez spécifier le nom de l’utilisateur AD au format <ad_username@FQDN> à partir des applications clientes PostgreSQL. Vous ne pouvez pas utiliser le format <DNS domain name\ad_username>.
PostgreSQL utilise par défaut des comparaisons sensibles à la casse pour les noms d’utilisateur. Pour qu’Aurora PostgreSQL interprète les noms d’utilisateur Kerberos comme non sensibles à la casse, vous devez définir le paramètre krb_caseins_users comme true dans le groupe de paramètres du cluster Babelfish personnalisé. Ce paramètre est défini sur false par défaut. Pour de plus amples informations, veuillez consulter Configuration de votre cluster de bases de données Aurora PostgreSQL pour les noms d’utilisateur insensibles à la casse.
Différences de comportement entre les points de terminaison PostgreSQL T-SQL et ceux de PostgreSQL lorsqu'un utilisateur AD fait partie de plusieurs groupes
Supposons que l’utilisateur AD user1 fasse partie de deux groupes de sécurité AD [corp\accounts-group] et [corp\sales-group], et que l’administrateur de la base de données ait défini le mappage des utilisateurs de la manière suivante.
postgres=> select * from pgadmap_read_mapping();ad_sid | pg_role | weight | ad_grp -------------+---------------------------------+--------+--------------- S-1-5-67-980 | accounts-group@CORP.EXAMPLE.COM | 7 | accounts-group S-1-2-34-560 | sales-group@CORP.EXAMPLE.COM | 10 | sales-group (2 rows)
Si l'utilisateur se connecte depuis le T-SQL point de terminaison, il héritera des privilèges de toutes les T-SQL connexions associées lors de l'autorisation. Dans cet exemple, user1 héritera de l'union des privilèges de la connexion au T-SQL groupe et les poids seront ignorés. Ceci est conforme au T-SQL comportement standard.
Toutefois, si le même utilisateur se connecte depuis le point de terminaison PostgreSQL, il ne peut hériter des privilèges que d'un seul identifiant T-SQL associé ayant le poids le plus élevé. Si le même poids a été attribué aux deux connexions de T-SQL groupe, l'utilisateur AD héritera des privilèges de la T-SQL connexion correspondant au mappage ajouté le plus récemment. Pour PostgreSQL, il est recommandé de spécifier des pondérations qui reflètent le permissions/privileges rapport entre les rôles de base de données individuels afin d'éviter toute ambiguïté. Dans l’exemple ci-dessous, user1 s’est connecté via le point de terminaison PSQL et n’a hérité que des privilèges de sales-group.
babelfish_db=> select session_user, current_user;session_user | current_user ------------------------------+--------------------------- sales-group@CORP.EXAMPLE.COM | sales-group@CORP.EXAMPLE.COM (1 row)babelfish_db=> select principal, gss_authenticated from pg_stat_gssapi where pid = pg_backend_pid();principal | gss_authenticated ------------------------+------------------- user1@CORP.EXAMPLE.COM | t (1 row)