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 Berechtigungen aller zugehörigen T-SQL-Anmeldungen. In diesem Beispiel erbt user1 die Vereinigung der Berechtigungen aus beiden T-SQL-Gruppenanmeldungen, wobei Gewichtungen ignoriert werden. Dies entspricht dem Standardverhalten von T-SQL.
Wenn derselbe Benutzer jedoch vom PostgreSQL-Endpunkt aus eine Verbindung herstellt, kann er Berechtigungen von nur einer zugehörigen T-SQL-Anmeldung mit der höchsten Gewichtung erben. Wenn den beiden T-SQL-Gruppenanmeldungen dieselbe Gewichtung zugewiesen wurde, erbt der AD-Benutzer die Berechtigungen der T-SQL-Anmeldung, die 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)