Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Herstellen einer Verbindung zu Babelfish über den PostgreSQL-Endpunkt auf dem PostgreSQL-Port
Sie können Gruppenanmeldungen, die über den TDS-Port erstellt wurden, auch verwenden, um eine Verbindung über den PostgreSQL-Port herzustellen. Zum Herstellen einer Verbindung über den PostgreSQL-Port müssen Sie den Namen des AD-Benutzers im Format <ad_username@FQDN> in den PostgreSQL-Clientanwendungen angeben. Sie können das Format <DNS domain name\ad_username> nicht verwenden.
PostgreSQL verwendet für Benutzernamen standardmäßig Vergleiche unter Berücksichtigung der Groß- und Kleinschreibung. Damit Aurora PostgreSQL Kerberos-Benutzernamen ohne Berücksichtigung von Groß- und Kleinschreibung interpretiert, müssen Sie den Parameter krb_caseins_users in der benutzerdefinierten Babelfish-Cluster-Parametergruppe auf true festlegen. Dieser Parameter ist standardmäßig auf false festgelegt. Weitere Informationen finden Sie unter Konfigurieren Ihres DB-Clusters von Aurora PostgreSQL für Benutzernamen, bei denen die Groß-/Kleinschreibung unterschieden wird.
Verhaltensunterschiede zwischen T-SQL und PostgreSQL-Endpunkten, wenn ein AD-Benutzer Teil mehrerer Gruppen ist
Bedenken Sie, dass der AD-Benutzer user1 Teil von zwei AD-Sicherheitsgruppen [corp\accounts-group] und [corp\sales-group] ist und dass der Datenbankadministrator die Benutzerzuordnung wie folgt festgelegt hat.
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)
Wenn der Benutzer vom T-SQL Endpunkt aus eine Verbindung herstellt, erbt er während der Autorisierung die Rechte aller zugehörigen Logins. T-SQL In diesem Beispiel erbt Benutzer1 die Vereinigung der Rechte aus der T-SQL Gruppenanmeldung, und Gewichtungen werden ignoriert. Dies entspricht dem T-SQL Standardverhalten.
Wenn derselbe Benutzer jedoch vom PostgreSQL-Endpunkt aus eine Verbindung herstellt, kann er die Rechte nur von einem zugehörigen T-SQL Login mit der höchsten Gewichtung erben. Wenn den beiden T-SQL Gruppenanmeldungen dieselbe Gewichtung zugewiesen wurde, erbt der AD-Benutzer die Rechte des T-SQL Anmeldenamens, das der zuletzt hinzugefügten Zuordnung entspricht. Für PostgreSQL wird empfohlen, Gewichtungen anzugeben, die das Verhältnis permissions/privileges der einzelnen DB-Rollen widerspiegeln, um Mehrdeutigkeiten zu vermeiden. Im folgenden Beispiel hat user1 über den PSQL-Endpunkt eine Verbindung hergestellt und nur die Berechtigungen für sales-groups geerbt.
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)