

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Connessione a Babelfish tramite l’endpoint PostgreSQL sulla porta PostgreSQL
<a name="babelfish-kerberos-securityad-connect-pgendpoint"></a>

È possibile utilizzare gli accessi di gruppo creati dalla porta TDS per connettersi anche tramite la porta PostgreSQL. Per connettersi tramite la porta PostgreSQL, è necessario specificare il nome utente AD nel formato `<ad_username@FQDN>` dalle applicazioni client PostgreSQL. Non è possibile utilizzare il formato `<DNS domain name\ad_username>`.

PostgreSQL utilizza per impostazione predefinita il confronto con distinzione tra maiuscole e minuscole per i nomi utente. Affinché Aurora PostgreSQL interpreti i nomi utente Kerberos senza distinzione tra maiuscole e minuscole, è necessario impostare il parametro krb\$1caseins\$1users su true nel gruppo di parametri del cluster Babelfish personalizzato. Questo parametro è impostato su false per impostazione predefinita. Per ulteriori informazioni, consulta [Configurazione del cluster database Aurora PostgreSQL per nomi utente senza distinzione tra maiuscole e minuscole](postgresql-kerberos-setting-up.md#postgresql-kerberos-setting-up.create-logins.set-case-insentive). 

## Differenze di comportamento tra gli endpoint T-SQL e PostgreSQL quando un utente AD fa parte di più gruppi
<a name="babelfish-kerberos-securityad-diff-tsql-pg"></a>

L’utente AD user1 fa parte di due gruppi di sicurezza AD [corp\$1accounts-group] e [corp\$1sales-group] e l’amministratore di database ha impostato la mappatura dell’utente nel modo seguente.

```
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)
```

Se l’utente si connette dall’endpoint T-SQL, durante l’autorizzazione erediterà i privilegi da tutti gli accessi T-SQL associati. In questo esempio user1 erediterà l’unione dei privilegi da entrambi gli accessi di gruppo T-SQL e i pesi verranno ignorati. Questo approccio è in linea con il comportamento T-SQL standard. 

Tuttavia, se lo stesso utente si connette dall’endpoint PostgreSQL, può ereditare i privilegi da un solo accesso T-SQL associato con il peso più elevato. Se ai due accessi di gruppo T-SQL è stato assegnato lo stesso peso, l’utente AD erediterà i privilegi dell’accesso T-SQL corrispondente alla mappatura aggiunta più di recente. Per PostgreSQL, la raccomandazione è di specificare pesi che riflettano il permissions/privileges relativo dei singoli ruoli del DB per evitare l'ambiguità. Nell’esempio seguente, user1 si è connesso tramite l’endpoint PSQL e ha ereditato solo i privilegi dei sales-groups.

```
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)
```